Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 1.74 KB

File metadata and controls

45 lines (31 loc) · 1.74 KB

Understanding and expanding Python: hands-on experience with the Python internals

💡 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.

Getting Started

Contributors

Thanks to everyone that has contributed to this tutorial by fixing typos, adding clarification of some of the discussed topics, and suggesting improvements!

License

This work is licensed under a Creative Commons Attribution 4.0 International License.