![](https://secure.gravatar.com/avatar/870d613430249e453343efc9667ef636.jpg?s=120&d=mm&r=g)
On 2020-06-08 17:04, Victor Stinner wrote:
Le lun. 8 juin 2020 à 05:53, Hugh Fisher <hugo.fisher@gmail.com> 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 :(