| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Add macOS/Windows entries for free-threaded variants. Include distinct artifact suffixes and use explicit maturin interpreter settings. Add manylinux entries for the latest Python versions with similar configurations.
Rely on explicit abi3-py310 flag for ABI3 compatibility in the PyO3 dependency feature set while retaining extension-module enabled. Document the rationale for free-threaded 3.13/3.14 wheels alongside ABI3 wheel guidance in the release notes.
|
Hey @kosiew really appreciate your help with this. Looks like the artifacts are colliding because the different versions of python aren't included in the name. Was there anything I could do to help? |
Sorry, something went wrong.
…ADME with artifact naming conventions
…bility; update README for clarity on free-threaded builds and limited API usage
|
@rrad5409 |
Sorry, something went wrong.
Update manylinux x86_64 and aarch64 sections to pass
interpreter via args using -i ${{ matrix.interpreter }}.
Verify no remaining usage of interpreter in build.yml.
Add id to setup-python action in both Python jobs. Use resolved interpreter path for maturin calls in both the macOS and Windows builds to ensure correct Python version is utilized during the build process.
Keep build-manylinux-x86_64 free-threaded interpreters unchanged. Specify python3.13t and python3.14t for build-manylinux-aarch64 free-threaded matrix. Add before-script-linux in aarch64 maturin-action to install and verify free-threaded interpreters.
| Back | FazBrowse Home | New Git URL |
Which issue does this PR close?
Rationale for this change
Python’s experimental free-threaded builds (currently 3.13t and 3.14t) use a different ABI than the standard GIL-enabled CPython builds. Because of that, we can’t rely on a single stable-ABI (abi3) wheel to cover these interpreters.
At the same time, we still want to keep the existing abi3-py310 configuration so we continue producing stable-ABI wheels for the “normal” (GIL-enabled) CPython versions.
This PR updates the release/build pipeline so we can ship:
What changes are included in this PR?
Expanded CI build matrix for macOS + Windows to build wheels for:
Artifact naming improvements using a suffix (e.g. -freethreaded) to avoid collisions and make uploads easier to identify.
maturin invocation updated on macOS/Windows to explicitly target the active interpreter (--interpreter python).
Manylinux builds split into two groups:
using maturin-action’s interpreter parameter.
Cargo / PyO3 config adjustment: removed the generic abi3 feature while keeping abi3-py310 enabled, aligning with the intended wheel strategy.
Release documentation updated to clarify that free-threaded CPython ignores abi3 and requires per-version wheels.
Are these changes tested?
CI was updated to build wheels across the expanded interpreter matrix on:
These builds act as the primary validation for this change (successful wheel builds + artifact upload for each target).
Are there any user-facing changes?
Yes — users will now see additional wheel files published for free-threaded Python:
Standard CPython users (3.10–3.14) continue to get stable-ABI (abi3) wheels as before.
No runtime API changes are introduced by this PR.
LLM-generated code disclosure
This PR includes code, comments generated with assistance from LLM. All LLM-generated content has been manually reviewed and tested.