Skip to content

Adding python-version 3.13t and 3.14t to builds#524

Merged
seanses merged 11 commits intomainfrom
py314t-build
Oct 21, 2025
Merged

Adding python-version 3.13t and 3.14t to builds#524
seanses merged 11 commits intomainfrom
py314t-build

Conversation

@rajatarya
Copy link
Collaborator

Adding python 3.14t specifically to Release builds. This should fix #512 and generate free-threaded python 3.14 Python whl.

@rajatarya rajatarya requested review from Copilot and sirahd October 11, 2025 11:09
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.x to use matrix variables across all jobs

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Collaborator

@seanses seanses left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wheel built on different python version uploaded under the same name

@ngoldbaum
Copy link

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 --interpreter to maturin build with an explicit path to the setup-python 3.14t build, it will work.

@seanses seanses marked this pull request as draft October 18, 2025 18:34
@seanses seanses self-requested a review October 20, 2025 22:21
Copy link
Collaborator

@seanses seanses left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 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.

@seanses seanses marked this pull request as ready for review October 20, 2025 22:27
@seanses seanses changed the title Adding python-version 3.14t to builds Adding python-version 3.13t and 3.14t to builds Oct 20, 2025
Copy link
Collaborator

@seanses seanses left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 😄

@seanses seanses requested a review from sirahd October 20, 2025 22:34
Copy link
Collaborator Author

@rajatarya rajatarya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, let's merge this!

@rajatarya
Copy link
Collaborator Author

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?

@seanses
Copy link
Collaborator

seanses commented Oct 20, 2025

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.

@seanses seanses merged commit 500ee61 into main Oct 21, 2025
6 checks passed
@seanses seanses deleted the py314t-build branch October 21, 2025 00:14
@ngoldbaum
Copy link

Thanks, this fixed #396 as well!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot build hf-xet

5 participants