Over the past couple of years, we’ve been lucky to see the publication of a lot of great resources on diving into and contributing to CPython. Good examples include the excellent Python Developer’s Guide and Anthony Shaw’s comprehensive CPython Internals.
And yet, when I talk to people who express an interest in contributing or exploring Python’s internals, a lot say that they find the scope of Python daunting and that they question whether they have the skills to understand the inner workings of the language.
With this talk, I want to provide an accessible introduction to CPython’s internals by taking the audience through the process of adding a pipe operator to the language. Instead of the passive approach of presenting the information as-is, as you’d find in reference material, I will take the active approach of discussing the topics as they come up naturally while implementing the operator.
Distilled into a general overview, I will take the audience through the entire development cycle from cloning the source code to compiling the modified version of Python. When relevant, I will briefly introduce topics like Python’s grammar, syntax trees, implementing logic, running the test suite, and the general structure of the source code. By the end, the audience will have a general understanding of the moving parts and magic involved in CPython’s internals.
The aim of my talk is not to be comprehensive. Rather, I hope to give the audience a mental framework that makes approaching the CPython internals easier. By demystifying the inner magic of Python, I want to give people the confidence they need to take that dive and potentially become a part of the next generation of Python contributors.
Affiliation: Ordina Pythoneers
Sebastiaan is a Software Engineer for the Ordina Pythoneers and a Fellow of the Python Software Foundation. As a Python enthusiast, he loves discussing the inner workings of the language and coaching others to become better developers. In 2021, Sebastiaan gave talks at various conferences, including PyCon US, EuroPython, FOSDEM, PyCon Indonesia, Pyjamas, and PyGrunn. He is also active in the Python community, as an owner of Python Discord, an open-source contributor, and as a Python educator.