The Python's stability promise
07-21, 11:55–12:25 (Europe/Prague), PyCharm (Forum Hall)

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.


Expected audience expertise

intermediate

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 https://hablemospython.dev, Python Chile https://pythonchile.cl, Python España https://es.python. org, and many more activities like PyPi moderation, PyCon* organizer (PyConUS, PyConES, PyConCL), and bot programming :D