Adding python-version 3.13t and 3.14t to builds#524
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for Python 3.14t (free-threaded Python) to GitHub Actions release workflows to generate free-threaded Python wheels and address issue #512.
Key changes:
- Adds Python 3.14t as a matrix option alongside 3.x for all build platforms
- Converts hardcoded
python-version: 3.xto use matrix variables across all jobs
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
I think maturin isn't detecting the 3.14t Python build - it ends up building an abi3 wheel: https://github.com/huggingface/xet-core/actions/runs/18543888766/job/52857691328?pr=524#step:7:769 I think if you pass |
There was a problem hiding this comment.
- Add python 3.13t and 3.14t to Release builds, they don't follow the standard abi, i.e. "abi3" so need to be build separately.
- Update the build and debug symbol generation and publishing workflow to allow different debug symbols for builds targeting different python version.
- Update the diagnosis scripts so they find the correct debug symbols.
rajatarya
left a comment
There was a problem hiding this comment.
Looks great, let's merge this!
|
Ooh @seanses one question: do we want to change python-version 3.14 to 3.x so we get build support for older Python 3 versions? Previously we used to have everything building with 3.x support - but by specifying 3.14 specifically are we making our whl no longer compatible with older python versions? |
When building for the "abi3" compatible Python, maturin automatically tells from the pyo3 feature "abi3-py37" in the Cargo.toml file that the minimum Python version to support is 3.7. The python interpreter in the environment doesn't make a difference. |
|
Thanks, this fixed #396 as well! |
Adding python 3.14t specifically to Release builds. This should fix #512 and generate free-threaded python 3.14 Python whl.