CPython merged a late-breaking change for Python 3.15 to support adding platform tags in stable ABI extension filenames.
See PyO3/pyo3#6258 and linked issues.
Currently, Maturin just stringifies the ABI kind into either "abi3" or "abi3t" and uses that in the filename:
https://github.com/PyO3/maturin/blob/main/src/compile.rs#L616-L635
We'll need to generalize that and also add support for getting the SOABI_PLATFORM from an interpreter or inferring it without one. We should also add tests for this and explicit checks in the existing stable ABI tests to make sure builds on older python versions don't generate extensions with platform tags that older Pythons will reject.
CPython merged a late-breaking change for Python 3.15 to support adding platform tags in stable ABI extension filenames.
See PyO3/pyo3#6258 and linked issues.
Currently, Maturin just stringifies the ABI kind into either "abi3" or "abi3t" and uses that in the filename:
https://github.com/PyO3/maturin/blob/main/src/compile.rs#L616-L635
We'll need to generalize that and also add support for getting the SOABI_PLATFORM from an interpreter or inferring it without one. We should also add tests for this and explicit checks in the existing stable ABI tests to make sure builds on older python versions don't generate extensions with platform tags that older Pythons will reject.