On 2020-06-08 17:04, Victor Stinner wrote:
Le lun. 8 juin 2020 à 05:53, Hugh Fisher firstname.lastname@example.org a écrit :
And yes I realise Python has never guaranteed binary compatibility for extension modules from version to version, and sometimes source compatibility has not been guaranteed either.
Python provides a stable ABI for 9 years, since Python 3.2 (2011) with the PEP 384 "Defining a Stable ABI". But you have to opt-in for the "limited C API" by defining Py_LIMITED_API macro.
My intent is to slowly move the public C API towards this limited C API, to slowly move all C extensions towards the stable ABI. Using a stable ABI has multiple advantages, explained in my PEP: https://github.com/vstinner/misc/blob/master/cpython/pep-opaque-c-api.rst
Can you make this an actual PEP? Currently it's more of a dollection of notes, not a design document :(