Demystifying Python’s Internals: Diving into CPython by implementing a pipe operator
07-15, 15:30–16:00 (Europe/Dublin), The Auditorium

Diving into the CPython source code can feel daunting. Whether you want to start contributing or just want to get a better understanding of Python by exploring its source code, it’s often difficult to know where to start or what you’re missing.

In my talk, I will show you around the CPython source code by implementing a new operator, a pipe operator. While doing so, I will discuss core parts of the internals, such as Python’s grammar, its syntax trees, and the underlying logic that will perform the operation. By the end, you will have a good idea of the moving parts involved in core language features.

I will also take you through the steps necessary to make it all work. I’ll show you how I obtained a copy of the source code, regenerated the parser and token files, and how I compiled my modified version of CPython. I will also write and run tests to help me implement my changes. This should give you a mental framework that helps you while diving into more comprehensive resources, like the excellent Python Developer’s Guide.

My talk is aimed at everyone who wants to explore CPython’s internals. You don’t have to be an expert in Python, although some affinity with Python helps with understanding the internals. I will also use C to implement some of the operator logic, but knowledge of C is by no means required. In short, if you’re interested in diving into the CPython source code, this talk is for you.


Expected audience expertise: Domain

some

Expected audience expertise: Python

some

Abstract as a tweet

Always wanted to dive into Python's source code, but felt overwhelmed? Join @SebastiaanZeeff as he takes you through CPython's Internals by implementing a new operator.

Sebastiaan is a Software Engineer for the Ordina Pythoneers and a Fellow of the Python Software Foundation. He has a passion for teaching Python and writing clean code. Sebastiaan is also active in the Python community, as an owner of Python Discord, open-source contributor, Python educator, and FinAid team lead for EuroPython. As a public speaker, he makes frequent appearances at Python conferences, including various regional PyCons, EuroPython, FOSDEM, and Pyjamas Conf. Sebastiaan lives in The Netherlands.