Description
Over 20% of the most downloaded Python modules rely on native extension modules written in compiled languages like C, C++, and Rust. These extension modules, with their low-level control and high performance, enable Python to be used in new domains, from numerical computing to interfacing with hardware. However, they also present a new set of architecture-level questions, as well as trade-offs between performance, Python API ergonomics, and extension module maintainability. This talk will answer those questions and provide a set of best practices for creating fast, useful, and maintainable extension modules.