Learn CPython by breaking it

A dive into the internals

Cristián Maureira-Fredes

C-Languages CPython Compiler and Interpreters Data Structures Fun and Humor

See in schedule

One of the main reasons that stop people to write Python C extensions
and even attempt to contribute to CPython is due to the fact that
you need to know another programming language, C.

Wait, don't go! don't be scared by the fact that you will hear
about C, this talks objective is not that! but only to learn
the essential bits to get more comfortable around CPython.

By understanding the internals, you will feel like the same as that time
in your childhood when you took something apart, then re-assemble it
again and it worked (if that was not the case, this will be your first time
I promise).

During this talk, you will go on a journey to understand how Python works,
and which are the places you can look to understand the implementation of
different Python details, from the whole interpretation process, until
look what's lies under the module/types functions you use everyday.
You will get the power to add new functionality to Python and even how to
create your first C-based extension module.

If you are not familiar with C, don't worry, I will guide you every time
some C code is shown, and if you know some C, then you will be able
to sit back and relax during this ride.

Type: Talk (30 mins); Python level: Intermediate; Domain level: Intermediate


Cristián Maureira-Fredes

The Qt company

Cristián has been a Python developer since more than 10 years, he has been working at The Qt Company for a couple of years on different projects, among them the official Python bindings project: Qt for Python. Even before starting his job, he has been pushing for the use of Qt and Python for applications in Robotics, Astronomy and Astrophysics.

Even though his daily routine is dealing more with CPython and C++ code, he still spreads "the Python word" due to the impressive amount of things that are one-import-away from us, and he has been successfully convincing people to use Python over old programming languages while studying CS, and during his PhD.

Python is his default language, and it has been his tool to perform daily basics tasks, and also to develop complex scripts related to automation, data processing, astrophysics, and development tools.

More important, Cristián has been always involved in Python communities from different countries, mainly pushing for Spanish speaking initiatives, the last being https://hablemospython.dev