No, not yet, but the differences in ABI are not too relevant for extension authors beyond the fact that extensions compiled with the free-threaded build can’t be used with the default build and vice-versa.
These functions are not part of the public API. The leading underscore indicates they are private. There is a discussion on making the APIs public, but it did not reach a resolution.
I’d encourage you to use C11 (or C++11) atomics directly. You can even support MSVC if you compile with /experimental:c11atomics
and a recent MSVC version. This will allow you to support older CPython versions that don’t include the pyatomic.h
headers. (And to be clear – the functions in pyatomic.h
header are not public – they are not intended to be used by extensions currently).
That make sense. I don’t think the --disable-gil
3.13 builds are in a state yet to try out either – they still have the GIL, for example.