-
Notifications
You must be signed in to change notification settings - Fork 578
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Support free threaded Python versions like '3.13t' #973
base: main
Are you sure you want to change the base?
Conversation
Python wheels, pyenv, and a number of other tools use 't' in the Python version number to identify free threaded builds. For example, '3.13t', '3.14.0a1', '3.14t-dev'. This PR supports that syntax in `actions/setup-python`, strips the "t", and adds "-freethreading" to the architecture to select the correct Python version. See actions#771
9f0aeed
to
eb2a653
Compare
Meanwhile, if you can't wait, here at https://github.com/nod-ai/shark-ai/actions/workflows/ci_linux_x64_nogil-libshortfin.yml we are using - name: Setup Python
uses: deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8 # v3.2.0
with:
python-version: "3.13-dev"
nogil : true |
If anyone needs the functionality in this PR, I'd recommend to use https://github.com/Quansight-Labs/setup-python. That is a fork of this action with the sole purpose of providing the functionality in this PR (free-threading support) until this PR gets merged (see this issue for context). Data point for reviewers: we've exercised this PR quite heavily by now in projects like NumPy and SciPy, on Linux, macOS and Windows (x86-64 and aarch64/arm64), and it's been working smoothly to date. |
Hi @colesbury 👋, Thank you! |
Also noting here that 3.13 and 3.13t currently don't live happily next to each other on Windows: Quansight-Labs#5 (comment) |
Python wheels, pyenv, and a number of other tools use 't' in the Python version number to identify free threaded builds. For example, '3.13t', '3.14.0a1', '3.14t-dev'.
This PR supports that syntax in
actions/setup-python
, strips the "t", and adds "-freethreading" to the architecture to select the correct Python version.See #771 and actions/python-versions#319