On this tutorial you will learn to:
- Explore the core of the standard Python implementation
- Modify the interpreter by adding new functions
- Extend Python with C, Rust, and Zig.
The session will be a combination of a theoretical introduction of the topics, followed by a hands-on experience on each step.
Here is an outline of what will be done:
- Navigating CPython (short presentation)
- Setting up a development environment
- Compiling CPython from source
- Adding a free function to the interpreter
- Adding a new method to a Python container (list or set)
- Extending CPython (short presentation)
- Minimal C-extension for "Hello World"
- Minimal Rust, and Zig extensions for "Hello World",
- Create a new extension replacing Python functionality with C, Rust and Zig.
Thanks to everyone that has contributed to this tutorial by fixing typos, adding clarification of some of the discussed topics, and suggesting improvements!