Skip to main content

Microsoft at PyCon | Sessions

Our Microsofties are excited to present and chat about some of the latest tools and tricks they’re using for Python development. Come along to hear about what they are doing in with AI, end-to-end cloud hosted apps, and Python improvement!

Wednesday May 14th 2025

9am – 12:30pm

Room 310/311
🐍 AI crash course for Python developers
Anthony Shaw

This crash-course tutorial is for Python developers that want to get up to speed with AI development quickly. We will cover the what and how of language models, learn about concepts like tokens, markov chains, and vector similarity with games and exercises. Each introduction to a concept will be explained by your experienced instructor in terms that don’t assume formal CS education. We’ll build demos, apps and discuss pitfalls and challenges with AI development in 2025.
1:30pm – 5pm

Room 317
🐍 Snakes in a Grid: Working with spreadsheets in Python + Python in Excel
Sarah Kaiser

Spreadsheets are one of the most common ways to share data, and thankfully Python has lots of tools to help! In this tutorial, we will cover some helpful packages like openpyxl and pandas that make working with spreadsheets in Python a breeze. We will also approach the task from the other direction and explore how you can use Python directly in a spreadsheet in Excel to analyze and visualize your data. The session will include practical exercises where attendees will learn how to load, manipulate, and export spreadsheet data using Python.

By the end of this tutorial, participants will be equipped with the skills to efficiently handle spreadsheet tasks in Python as well as leverage Excel to run and share Python code directly in a spreadsheet.

Thursday May 15th 2025

3:30pm – 4:30pm

Room 316
🐍 Build modern Python apps on Azure
Rohit Ganguly and Pamela Fox

For software engineers today, developing Python apps and getting them to the cloud can be a serious hassle. Join us to explore a streamlined end-to-end experience of developing cloud-ready Python applications with Microsoft technologies!

We'll cover how to build and deploy applications to Azure that use modern async frameworks, generative AI, managed databases like PostgreSQL, and solutions like NoSQL, Document DB, and MongoDB.

By the end, you'll learn how save time and supercharge your development workflows with fan-favorite Python developer tools like VS Code, our Python extension, and GitHub Copilot - all without leaving your IDE!

Friday May 17th 2025

4:15pm – 4:45pm

Room 301-305
🐍 What they don't tell you about building a JIT compiler for CPython
Brandt Bucher

Despite their reputation, just-in-time compilers are not magic “go faster” machines. Developing and maintaining any sort of optimizing compiler for even a single platform, let alone all of Python’s most popular supported platforms, is an incredibly complicated, expensive task.

However, figuring out how to compile Python code down to machine code is just the beginning. Most talks and other resources about JITs offer an interesting introduction to the general approaches used, but gloss over the most interesting technical issues that need to be solved in order to actually "ship" these performance gains in practice.

As one of the engineers working on Microsoft's ambitious "Faster CPython" project, I'll introduce some of the challenges that we've encountered over the past year in our quest to make your code faster. Along the way, we'll learn how JITs decide what code to compile, how they compile this code in-process in a safe and secure way, and the debugging and profiling requirements that users have come to expect from native code.

Saturday May 18th 2025

1pm – 1:30pm

Room 301-305
🐍 Going faster in all directions at once: How two teams are working together to make Python better for all
Michael Droettboom

Two separate, but related, projects to make CPython faster are currently happening at the same time. The first, funded by Microsoft, aims to improve the single-threaded performance of CPython (PEP 659, PEP 744). The second, funded by Meta, aims to remove the global interpreter lock so multiple threads can make better use of all processor cores (PEP 703). There are technical challenges to achieving both of these goals simultaneously. We will describe how we collaborate to nonetheless make both projects a success. This includes (a) regular and open lines of communication, (b) sharing the same code for benchmarking, (c) leaving space for each of these projects to develop on their own, and (d) allocating time to directly tackle the intersection of the two problems.

This talk is intended for a general audience. It will cover technical topics related to language runtimes at a high level, and also include people-management topics related to open source communities.

This article was created with the assistance of Microsoft Copilot. ✨