Description
This talk describes the build of a C Python extension, with prebuilt binaries, in 2017, where modern packaging standards, as well as Docker, have been a game changer in the Python extensions world. Most examples come from our experience building PyMiniRacer, an embedded Python / JavaScript bridge used in production across hundreds of companies.
We will describe the different aspects of building a binary extension, including:
- using the modern manylinux wheel type in order to ship a built binary, usable in most Linux distributions;
- the choices offered to developers when building an extension: the Python public C API, cffi, ...;
- testing of a binary module across various platforms;
- troubleshooting & debugging an extension: the basics you need to tackle most common issues.