This was my first trip to PyCon, and I can definitely say it is a strange bird as
conferences go (surprisingly emotional). On the more standard conference side of it,
besides a lot of hacking and people trying to sell things or hire people, these elements
stood out:
Python 2:
Everyone is sort of dancing on Python 2’s grave in the Python community. There are
stickers of its grave that were so popular I could only get ones that have a company name
on them as well. The transition is firmly established as a Good Thing, and it is now seen
as a problematic issue to have Python 2 in an environment (*glares at Debian*). This is
probably well-known here, but it bears mentioning. Also:
https://pythonclock.org/
<https://pythonclock.org/>
Black:
The auto formatter black is catching on a lot. Django is considering a move to it.
CircuitPython has an open issue to move everything in basically all libraries that isn’t C
to it. It is becoming a fairly well-regarded way of generating low-diff code by way of
simply not making formatting decisions (which is why it has no configuration except the
CLI arg to change line length). I’ve been using it on things I touch where it makes
sense.
PEP554:
The effort to allow sub-interpreters and make threading so much more disastrously fun is
moving right along. If you hate the GIL, you’ll like this or hate this even more. It is
expected to actually show up in python 3.8-3.9 somewhere. This means, it probably won’t
show up in Buster? However, with the power of pyenv and similar things, actual
concurrency in Python may be coming to a Toolforge or someone’s VPS project near you one
day. Until then, it’s kind of cool to know it might be coming.
https://www.python.org/dev/peps/pep-0554/
<https://www.python.org/dev/peps/pep-0554/>
pipenv:
Pipenv is still not “standard”, but it is picking up steam. If other efforts to package up
OpenStack in deb, containers, etc. fail, the specificity of using Pipenv.lock files and
such may turn pipenv into a possible very good deploy alternative. They don’t usually seem
to want to say it, but I will, it makes deploying python as well-developed as deploying
nodejs or rails ;-)
https://github.com/pypa/pipenv <https://github.com/pypa/pipenv>
There was a lot of other cool stuff going on, but a lot of it was not the most pertinent
things to WMCS, perhaps. We won’t get the f-strings that everyone’s excited about until
Buster (and can’t use them reliably until that’s the old-stable), and the walrus operator
won’t actually end up in Debian until…the Future
(
https://www.python.org/dev/peps/pep-0572/
<https://www.python.org/dev/peps/pep-0572/>). Apparently Python is also the primary
language choice of dystopia (see also TensorFlow)—nothing new but really in-your-face at
PyCon. It is also very clear that people would like to know how to deploy Python on
Toolforge and our setup there. I was asked repeatedly to give a talk/demo, do an open
space or have a development sprint on our stuff (dev sprints are hard when you are on
Gerrit, though—the tutorial for other folks is 100% github/lab). I am interested in
trying to do one or more of those next year if everything aligns.
Brooke Storm
Operations Engineer
Wikimedia Cloud Services
bstorm(a)wikimedia.org <mailto:bstorm@wikimedia.org>
IRC: bstorm_