As a Python developer, teacher and evangelist, I have made a point to attend the annual PyCon event ever since it started back in 2003. This year, the conference was held in Portland, Oregon, and I took several of our developers with me to learn new tips, meet new faces, and get a pulse on the Python community.
So, without much further ado, here are my major take-aways:
1. Python is moving to Github
During his keynote on the second day, Guido Van Rossum mentioned Python was finally moving to Github. This is great news because it will increase contributions from programmers. I am especially thinking of those who may have been timid with the old repository mechanisms. This change will make it much easier for them to participate in the Python project.
2. Python 2 is going to retire
It has been 8 years since the release of Python 2.7, so it's time to move on. Python 2.7 will be retired in 2020.No time like the present to move up to Python 3! Moreover, many projects have already fully embraced Python 3, such as Django and Pyramid (projects we here at Six Feet Up use heavily). It is finally time to get the rest of the projects switched over and now you have a deadline. If you need assistance with this migration, feel free to contact us.
3. Tales of Debugging, Concurrency, Shipping and Artisanal Bots
Each year it is so difficult to pick which talks to watch. Luckily, the PyCon organizers record each talk and typically have them up online the same day as the talk or the next day so you can catch up on the ones you have missed. You can catch up on all of the talks online here.
The 4 notable talks that I did attend were:
"Machete-mode debugging: Hacking your way out of a tight spot", by Ned Batchelder
Don't be afraid to blow things up when debugging your code. Python enables you to do some cool stuff like monkey patch into the standard library so you can catch hard-to-track-down bugs. Make sure to break conventions to get what you need and remember: this is only for debugging, **do not do these things in production**.
"A tale of concurrency through creativity in Python: a deep dive into how gevent works", by Kavya Joshi
Kavya gave a quick overview of the various options for doing async I/O with Python. The especially interesting part was the comparison of the different methods as they each have different levels of complexity. Ultimately, gevent seems to be the way to go as a simple option to get started doing concurrancy with your existing project.
"Shipping Software To Users With Python", by Glyph
Distributing software is still hard. As a Python teacher, I have to deal with lots of platforms and I know I will always run into install problems at a beginning of a class. We have made strides with the (wheel format), but Python developers aren't all creating wheels for enough platforms. In many cases, you might need 20+ build targets depending on what you want to deliver your software to. Remember: "Every happy server is the same, every unhappy server is unhappy in its own way." -- Sysadmin Tolstoy
"Small Batch Artisanal Bots: Let's Make Friends", by Elizabeth Uselton
This was a fun talk about how to create your own bots. One interesting insight from this talk is that writing a bot is a great way to learn a stack of technology. You need to understand APIs, OAuth, Virtual Machines, AWS and scheduled jobs to create most kinds of bots, but the use case is pretty simple. Elizabeth's talk inspired me to add a Tracbot to our Slack channel: as we paste links to Trac tickets, the bot returns key meta data from the ticket, such as the summary, the owner, the status, etc. Very useful contextual information when discussing an issue on Slack!
4. Inspiring Keynotes
Each year, the PyCon keynotes are especially stimulating and this year was no exception. These two are worthy of special mention:
"Adaptation in Open Source Software", by Cris Ewing
Adaptation in a project is much easier to see if it has been running for a long time. The Plone Open Source Content Management System started its development in 2000 and sits on top of an application server that started development in 1998. Innovation and the trial and error of 18 years of software has provided many pivots along the way. Many of the "modern" web frameworks that we use today have taken some inspiration or caution from this project. More importantly, the projects is still very vibrant and has recently released Plone 5.
"Complexity and the Art of the Left Turn", by K Lars Lohn
If there is one talk to watch from the whole conference, it should be this one. Lars employs a powerful storytelling technique to explain a couple tough topics, one technical and one not so technical.Lars started by reminding us there is more than one way to look at a problem, and then embarked on a mission to describe and measure how complex something is. You'll want to watch the talk so I won't spoil it for you. Let's just say this involves a twisty road and classical music. Finally, he left us all with chills down the spine as he gave his recount of a very personal story.
I'm already looking ahead to next year's conference, which will be hosted in Portland again. Want to come along? We usually book a large house, so ping me if you're interested.