Nerding During Tutorials at PyCon

Learning, PyCon, Python, software engineering, Virtual Environment, Women in Tech

I arrived in Cleveland early in the morning… much earlier than I’m used to being awake.  After a coffee, I walked around downtown and enjoyed the scenery of Terminal Tower and the sculptures that adorn the city.

Fountain of Eternal Life in Cleveland, OH

Fountain of Eternal life in Cleveland, OH

This is my first PyCon, so I didn’t know what to expect.  When I arrived at the conference center, the booths were organized and I was easily able to find my badge at the registration desk.  As I continued down the escalator, I noticed that the conference center was deceptively large. It turns out that much of the building is located underground.  The pamphlet that I received from the information desk, the Guide app, as well as the many people on staff at PyCon made it easy to get around and find the locations of the tutorials.  

Roxanne being NerdyMy first tutorial was from Buck Woody of Microsoft and was entitled “The Team Data Science Process with Python”.  Data science is one field that I’m interested in pursuing. The Team Data Science Process (TDSP)  is broken down into its parts and we performed the tutorial with Jupyter notebook in Azure notebook. You can find the full tutorial here.

Another useful tutorial taught me a different way to make a slack app with using Python SlackClient and Python Events API Adapter.  The Slack API is http-rpc. We start by getting our virtual environment set up with all of the dependencies. Slack requires event requests be delivered over SSL.  We use NGROK to run a tunnel in order to get a https url.

Another phenomenal tutorial was “The Five Kinds of Python Functions” by Steven Lott.  This talk reminded me of some of the reasons that I love Python. Python makes writing functions simple and readable.  You can make generators that do work for you. Type hints exist! Functions are objects (you can pass them into functions).  I’d recommend watching this talk. I found an older version here.


Terminal Tower in Cleveland, OH

Terminal Tower, Cleveland, OH

I had a great first day at PyCon and will definitely attend the tutorials again the next time that I go.


Virtual Environment for Python

Learning, Python, Virtual Environment

In the coming weeks, I will be working on my capstone project for Ada Developers Academy.  I have decided to make a Python application using Django.  Python is a relatively new language to me, so I have spent my break doing a little research.  I know that the standard practice in creating a new project is setting up a virtual environment, but what is a virtual environment and why do I need to use it?

As I understand it, creating a virtual environment for Python will allow you to isolate packages and dependencies for that specific project.  If you have an updated version of Python on your system, it will not interfere with your work when you return to it because you will be using your virtual environment.  While working on my capstone, this will come in handy because I am working in a group.  We can decide which versions we want to use for Python and we will be able to independently work on the same project without fear of breaking it due to an unintentional upgrade.

Now for the difficult task, I have to figure out which way to set up my virtual environment.  For Python 3, I have been counseled that virtual environment wrapper is the tool for the job.  I’ve also seen that anaconda for Python comes with a way to set up virtual environments.  Also, Python 3 comes with pyvenv.  I have successfully created environments with Anaconda and virtual environment wrapper, but pyvenv is giving me some difficulties at the moment.

As with anything in the software engineering world, there are numerous ways to solve problems.  This is an opportunity to learn  how to research the correct tool for the task, which tools I enjoy working with, and which ones I will change next time.  I anticipate that this project will be full of challenges, but I know that I am ready to meet them and learn from the mistakes.