The second day of Python was filled with many interesting talks, but some topics seemed to pop up a lot: the past, present, and future. Where I visited the talks about learning Python and Data Science with Open Source materials (check out the slides with many useful links here) and 10 years of Python community, Freark visited the talks for more experienced Python fans :-).

Opening keynote “PyPI: Past, Present, and Future” by Nicole Harris

The Python Package Index (PyPI) is pretty much the canonical way to publish Python packages and to install Python packages from. Nicole takes us through the history of the project, from inception in 2002 to current day, from running on a single server (with a single harddrive) at XS4All in the Netherlands to running on a Kubernetes cluster at Rackspace currently and to the recent deployment of it’s completely rebuilt new version which was deployed earlier this year. If you want to help with the future of publishing and installing Python packages in the future you can, with for instance helping out with implementing a few new feature, with localization to other languages than English or simply by donating to keep this essential piece of the Python ecosystem in healthy shape.

“CatBoost – the new generation of Gradient Boosting” by Anna Veronika Dorogush

Gradient boosting is a powerful machine-learning technique that achieves state-of-the-art results in a variety of practical tasks. In a very fast pace Anna explains some of the techniques which are employed in Yandex’ CatBoost library to have a higher learning rate than other solutions in the field. Since, to be honest, the topic went a bit over my head with regards to the details, my takeaway is mostly that I should play with (their tutorials)[https://tech.yandex.com/catboost/doc/dg/concepts/tutorials-docpage/] to get a better understanding of how to use this type of machine learning.

“Python and Web Sockets” by Anton Caceres

We all know the saying that “when all you have is a hammer, everything looks like a nail”. For years the HTTP protocol has been this hammer. Earlier in the history of the web this was a good fit, since all common patterns fitted the request-response nature of HTTP. But by now it is more common to have interactions in web applications which go beyond that pattern and webservers need to have the ability to asynchronously push data to web browsers. Luckily there is the websockets protocol these days and every browser supports this natively. In fact from the browser it is very simple to use websockets in Javascript these days. From the Python server side it is a bit more involved. Tornado is a proper way to support websockets from a Python server and with the advent of asyncio in Python multiple other libraries and tools are available to tackle this. With (the websockets)[https://pypi.org/project/websockets/] package being pretty much the simplest way to get started. For Django there is (Django Channels)[https://github.com/django/channels] to enable eventdriven application development.

Other talks

There must have been a lot of caffeine in the water today or just a lot of energy in the air, because just as the CatBoost talk the talks named “Microservices and Serverless in Python projects” by Jose Manuel Ortega and “Code Review Skills for Pythonistas” by Nina Zakharenko were as information packed and fastpaced. With Jose taking us through the landscape of microservices and serverless, giving us many, many projects and topic to take a look at. Microsoft’s Nina Zakharenko gave the audience advice on how to get the most out of code reviews for your development teams and improve developer productivity while keeping a friendly relationship between reviewer and reviewee.