Microsoft has been a sponsor of the Python Software Foundation since 2006, and we are excited to announce that this year we have increased our sponsorship of the Python Software Foundation to the new top visionary level. We wanted to take this opportunity to share why Python is so dear to our hearts and the ways we contribute to the Python community across Microsoft beyond direct financial support.
Python and our core mission of developer productivity
In Microsoft’s Developer Division we have a core mission of helping every developer on the planet achieve more. We have had over 20 years of history of building programming languages and tools for software developers. Along the way we have created open-source programming languages like C# and TypeScript and made our developer tools in Visual Studio Code free for developers working with any programming languages, on any platform.
The rapid rise of Python over the past 5 years is well documented and impressive. Python’s rise has been driven primarily by the growth of data science and aided by its long history of scripting, web development, use in education, and a careful balance of the language’s productivity with ease-of-use. Python, a language with a strong emphasis on developer productivity, has been dear to our hearts and aligns closely with our mission.
Supporting the Python Community
The Python community is what really makes Python special, and many of us feel as Brett Cannon once said so eloquently: “I came for the language, but I stayed for the community”. This community is backed by the countless Python conferences, meetups, online communities, chat rooms, and GitHub projects that give Python developers a place to connect with others. The Python community is a diverse community that prides itself in being inclusive, and at Microsoft diversity and inclusion is a top priority.
That is why we are proud to be long-time sponsors of PyCon US, having been the top-tier Keystone sponsors of the event for four years and continuing this year with our visionary sponsorship of PyCon US. At PyCon US we have sponsored the PyLadies auction for the past 3 years.
Our sponsorship of Python events extends around the world including in emerging regions. We feel privileged to have participated in and sponsored events like: EuroPython, DjangoCon US, PyCon India, PyCon Africa, PyCon JP, PyCon AU, PyParis, and PyData. In the case of PyCascades, we have also helped organize the event with Nina Zakharenko, a Principal Cloud Advocate at Microsoft, on the PyCascades steering council.
Development of Python and related projects
Microsoft also has several developers across the company contributing to the development of the Python language. We have at the time of writing, 5 core developers who contribute part time to the development of CPython: Brett Cannon, Steve Dower, Guido van Rossum, Eric Snow, and Barry Warsaw.
If you haven’t heard the news yet, Guido van Rossum, the creator of the Python language, recently joined Microsoft as a distinguished engineer and is currently exploring performance improvements to CPython. Brett Cannon has been a Python core developer for more than 18 years and is currently working on direction of the language through his involvement on the steering council, the community conduct through the PSF Conduct Working Group, and improving Python’s packaging story through driving standards and creation of shared libraries.
Eric Snow has been working on multi-threaded performance with his work on Subinterpreters (PEP 554), Steve Dower acts as build manager and CPython expert for Windows since the 3.5 release, and Barry Warsaw continues to bring his unique brand of humor, technical insight, and historical perspective across the entire language through his membership on the Steering Council, Python Security Response Team, and Python (former and current) Release Managers list.
As part of our $150K financial sponsorship of the PSF, we will be focusing our funds to the Packaging Working Group to help with development costs for further improvements to PyPI and the packaging ecosystem. With recently disclosed security vulnerabilities, trusted supply chain is a critical issue for us and the Python community, and we are excited to help contribute to long-term improvements.
Microsoft also employs several core contributors and maintainers of key open-source projects in the Python ecosystem, including pandas, Dask, Jupyter, nteract, scikit-learn and Apache Arrow.
Open sourcing our own tools and services
We believe that we should open source as much of the work we do as possible because it enables developers to have more flexibility when using our products and contributing back to the open-source community advances the state of the art for everyone. While not all the work we do makes sense to operate under open-source governance, we strive to structure our projects such that we can share major components with the open-source community.
As part of our support for Python in Visual Studio Code, we have open sourced the core Python extension, the Jupyter extension, the debugpy debug engine, and the pyright type checker. We have also integrated many open-source components from the community to help support the vibrant set of tools including: Pylint, Flake8, Black, Poetry, and Jedi. We have also made contributions back to many of the open-source projects we use, including packaging, PyDev.Debugger, jedi-language-server, and pygls.
With our Pylance IntelliSense engine, we are contributing to the advancement of type checking by open sourcing pyright, the underlying type-checker. We have made significant improvements in the speed and accuracy of the pyright so that it is fast enough to be used interactively in an editor. We have also contributed to the development of several typing PEPs (e.g. PEP 647), and improved type-stubs and typing implementations in libraries such as PyTorch. Improvements to type checking makes it easier for all editors to have basic auto-complete, and helps developers use type checking to improve quality and reliability of Python code.
In Azure, we have open-sourced our serverless Azure Functions runtime and the Azure Functions Python worker, enabling you to run and debug functions locally and host them in any cloud by using Kubernetes. We have also open-sourced our Azure App Service Oryx build engine and Python runtime image, our Azure CLI and the knack CLI framework, and the Azure SDK for Python. Our Citus extension for PostgreSQL enables anyone to run a horizontally scaled PostgreSQL cluster, and is the extension that powers our managed Azure Database for PostgreSQL – Hyperscale (Citus) offering.
Get started with Python today!
Most of all we want you to be able to build great things with Python, and we are committed to supporting Python as a first-class language across our products and services. To learn how you can start using Python today be sure to check out Python on Windows, Python in Visual Studio Code, and Python in Azure.
To connect with us and stay up to date on all things Python at Microsoft, be sure to check out our Python Blog, follow @PythonVSCode on twitter, and come chat with us on the Python at Microsoft Discord community.