Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 1.17 KB

File metadata and controls

32 lines (24 loc) · 1.17 KB

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

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.

Contributors

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