-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Labels
status trackingIssue that tracks the status of compatibility and ongoing work in one or more open source projectsIssue that tracks the status of compatibility and ongoing work in one or more open source projects
Description
Stable ABI support is pretty actively being worked on; there are a lot of moving parts so this issue aims to link to those.
There are two competing PEPs (a lot of the design is identical, but they have different naming, wheel tags and compatibility/stability rules):
- PEP 803 – Stable ABI for Free-Threaded Builds
- PEP 809 – Stable ABI for the Future
- And both rely on PEP 793 – PyModExport: A new entry point for C extension modules (accepted)
Support in binding generators:
- Cython: [INFO] Limited API and freethreading Python 3.15 cython/cython#7399
- PyO3:
- Nanobind:
Build & packaging tools:
- Setuptools:
- Remove use of
/EXPORTforPyInit_*on Windows: Don't automatically add PyInit_<name> to export symbols in Python 3.15+ pypa/distutils#395
- Remove use of
- meson-python:
- Test
PyModExportusage: TST: usePyModExporthook in one test package for Python >=3.15 mesonbuild/meson-python#833
- Test
- scikit-build-core:
- Maturin:
- Meson:
- CMake:
pypa/packaging:- Pip:
- uv:
Other:
- NumPy C API: Support for the new Limited API and Stable ABI in Python 3.15 (PEP 803/809) numpy/numpy#30704
- Test suite with test packages covering a matrix of "build backend x binding generator": https://github.com/Quansight-Labs/stable-abi-testing/
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
status trackingIssue that tracks the status of compatibility and ongoing work in one or more open source projectsIssue that tracks the status of compatibility and ongoing work in one or more open source projects