Saturday 4:30 p.m.–5 p.m.

Writing a C Python extension in 2017

Jean-Baptiste Aviat

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][1], 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. [1]: https://github.com/sqreen/PyMiniRacer