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
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.