Microsoft was a keystone-level sponsor of PyCon US 2018 this year, which took place in Cleveland Ohio from May 9-17th. We had a great time interacting with and learning from the community, and we had a lot of fun! In this post we’ll share our experience and useful links from the conference.
The language summit is an annual gathering at PyCon US where various core contributors to the Python language and CPython interpreter discuss various topics in person instead of over email. Contributors and invited guests make presentations about some topic that they want feedback on, and then there is a discussion in the room about what was just presented. Being a distributed, open source team means that getting to have these in-person interactions and discussions is a rare opportunity to not only build bonds between individuals but to also rapidly discuss things rather than waiting on emails being read in various time zones around the globe.
As core developers of Python, Brett Cannon, Dino Viehland, Eric Snow, Steve Dower, and Barry Warsaw all attended the language summit. Brett helped lead a discussion on increasing the diversity of the development team as well as potentially porting the Python launcher to UNIX (it currently only exists for Windows).
Eric presented first, talking about his ongoing project to improve CPython's multi-core story (slides here). This project involves exposing the existing C-API for subinterpreters (multiple Python interpreters in a single process) in the stdlib, adding a mechanism for safely sharing data, and then stop sharing the GIL between subinterpreters. This accomplishes two valuable things: a CSP-like concurrency model and true multi-core parallelism. The project received a lot of positive feedback throughout the conference.
Eric talking at the Language Summit, photo courtesy of Jake Edge and LWN.net
Eric also presented a brief lightning talk at the language summit about the C-API. In particular, he urged the core team to plan out soon what the future of the C-API should be. The motivator is the stumbling block that the C-API is to several desirable improvements to the runtime.
Various recaps of everything that was discussed at the language summit have been published on LWN.
Microsoft held two sponsor workshops at the conference. First, was Standardized Data Science: The Team Data Science Data Process by Buck Woody, the materials and sample notebook from this presentation are hosted on Azure Notebooks (tip: sign in to clone the library and run through the sample notebook!).
The second workshop was Python with Visual Studio and Visual Studio Code by Steve Dower, if you missed it at PyCon you can watch the version of the talk we gave at Microsoft Build: Get Productive with Python Developer Tools.
During the regular conference sessions, Nina Zhakarenko gave a great talk Elegant Solutions for Everyday Python Problems with many neat and useful Python coding tips. Be sure to check out the slides if you want a quick reference!
Nina Zhakarenko’s talk was so busy attendees were sitting on the floor!
Brett Cannon, the developer lead for the Python Extension in VS Code, gave a keynote presentation on Setting Expectations for Open Source Contributions. If you’re contributing to open source projects, you should check it out!
Brett’s keynote reminds everyone to be kind on open source projects
We also hosted a few open spaces on: Python on Windows, Python on Visual Studio Code, and Python in SQL Server. We had great ad-hoc discussions and learned a lot at these open spaces, so definitely keep an eye out for these at future conferences.
Booth + Labs
The Microsoft booth had demo stations for Python tools and services at Microsoft, as well as some hands-on-labs for conference attendees to get hands-on. We’ll share some links if you want to try out the tools yourself.
Microsoft booth and hands on labs at PyCon US 2018
Below are just some of the demos/products we showed at our booth:
- Python in Visual Studio Code: our free, cross-platform, and open-source tools for Python developers.
- Python in Visual Studio: our fully featured Python IDE for Windows developers, and our Ogre3d Embedded Python demo showing debugging across C++ and Python.
- Azure Web Apps for Containers flask quickstart: using VS Code with the Docker and Azure App Service extensions in VS Code to dockerize a Flask app and publish it to Azure App Service. For a video tutorial, be sure to check out From Zero to Azure with Python and Visual Studio Code.
- Visual Studio Live Share: real-time collaborative development across Visual Studio and Visual Studio Code, now with support for Python!
- Azure Notebooks: our online Jupyter notebooks service with free hosting and sharing
- Python and ML in SQL Server: embedded python support in SQL server for running intelligent algorithms over your data.
- Python in Visual Studio Team Services: we showed continuous deployment of Python apps as well as the new support for "Use Python Version" and multi-platform Python builds on VSTS. We’ll be sharing more about this in the coming weeks!
- During the poster session we showed mssql-cli and mssql-scripter: our cross-platform, open source, and Python-based SQL Server tools.
We also had a photo booth, where many fun pictures of conference attendees were taken. Here’s a fun shot of some of the Microsoft team at the booth:
If you haven’t been to the PyLadies auction before it is definitely an experience and an opportunity to get some one-of-a-kind Python items and donate to the PyLadies foundation.
This year Microsoft donated a stained glass Python logo which went for $2048, and a set of earrings that went for $512!
Photo courtesy of @pyladies
This year the PyLadies auction raised a whopping $30,000 in total!
Most of our team stuck around for developer sprints, where we collaborated with others in the community on various open source projects.
Our team was working on the Python extension for VS Code. We had 3 contributors help out with the project and contributed a couple of features, namely:
- Gevent debugging in the experimental debugger (1699).
- Syntax highlighting for constraints files (1685).
- Ability to disable automatic running of tests when a test file is saved (1687).
- Update to the contributions document with setting up of the extension environment (1684)
During the sprints we also got pull request and continuous integration builds of CPython up and running with hosted build time donated by Microsoft. You can see the builds linked from any recent pull request or by browsing the Visual Studio Team Services instance. These builds will enable the CPython developers to review and merge pull requests faster.
We were also working on our PyJion JIT compiler for Python, it now runs cross-platform and has a docker container set-up making it easier to develop and contribute. Thanks to Dusty Phillips for contributing!
See you next time!
We hope to see many of you next time at PyCon 2019, which is in Cleveland from May 1-10th. Our team will also be at EuroPython in Edinburgh this summer from July 23-29!