Stable ABI/Limited API for free-threaded builds

That hard break is called “Phase III”. No timeline, but it seems it could be pretty soon.

I agree about making the transition as painless as possible. That’s why I propose both API compatibility (no source changes → separate abi3 & abi3t builds) and ABI compatibility (PyModExport, opaque PyObjectabi3.abi3t builds).
We want extensions to switch to the latter (so that we can change PyObject in the future), but I think we need a window where we support both – both for extension authors to switch, and for CPython to react to feedback.

1 Like