💡 Feedback form: here
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.
- 📽️ Slides — the presentation used during the session (or the live version)
- 📝 Setup and exercises — get your environment ready and follow along
Thanks to everyone that has contributed to this tutorial by fixing typos, adding clarification of some of the discussed topics, and suggesting improvements!
This work is licensed under a Creative Commons Attribution 4.0 International License.