The Python's stability promise — Cristián Maureira-Fredes

Conference: EuroPython 2023

Year: 2023

[EuroPython 2023 — Forum Hall on 2023-07-21] https://ep2023.europython.eu/session/the-pythons-stability-promise 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. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/