Skip to main content

The Python's stability promise

30 minutes


Many modules you use and love have a portion of their implementation written in other languages, and for that a Python extension need to be made. Python offers a C-API that allow people extending the language, and being a nice glue-language, C is also a bridge to many other languages as well.

So if everything is simple, what's the deal with stability? Changes in the C-API might break the functionality in older versions, so PEP 387 saves the day with a policy for backward compatibility. Starting from Python 3.2, the Limited API was introduced, which defined a subset of Python's C-API that it's promised that if used, the code can be compiled in one version, and run in many others as well.

Also, having a Stable ABI compatible wheel, allow you to only have one-wheel-per-OS, and not one-wheel-per-python-version, which can simplify your release process.

This talk will introduce the Limited API concept, and provide the necessary information to include it in your project.

TalkPython Internals & Ecosystem

The speaker

Cristián Maureira-Fredes

Hello! My name is Cristián and I currently work as Senior R&D Manager at The Qt Company. One of my responsibilities is the Qt for Python project (PySide/Shiboken), which is the official set of links for the Qt framework to Python. In my day to day I work with C++, Python and CPython, which are the common topics of my talks.

During my free time I like to help in different Open Source communities, mainly related to Python, such as Python en Español, Python Chile, Python España https://es.python. org, and many more activities like PyPi moderation, PyCon* organizer (PyConUS, PyConES, PyConCL), and bot programming :D