- Notifications
You must be signed in to change notification settings - Fork689
Support free threaded Python versions like '3.13t'#973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Python wheels, pyenv, and a number of other tools use 't' in the Pythonversion 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 correctPython version.Seeactions#771
renxida commentedNov 24, 2024
Meanwhile, if you can't wait, here athttps://github.com/nod-ai/shark-ai/actions/workflows/ci_linux_x64_nogil-libshortfin.yml we are using -name:Setup Pythonuses:deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8# v3.2.0with:python-version:"3.13-dev"nogil:true |
rgommers commentedNov 24, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
If anyone needs the functionality in this PR, I'd recommend to usehttps://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 (seethis 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. |
priyagupta108 commentedJan 22, 2025
Hi@colesbury 👋, Thank you! |
ddelange commentedJan 22, 2025
Also noting here that 3.13 and 3.13t currently don't live happily next to each other on Windows:Quansight-Labs#5 (comment) |
colesbury commentedJan 22, 2025
Hi@priyagupta108, thank you for reviewing the PR. I've fixed the handling of versions like |
priyagupta108 commentedJan 29, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Hi@colesbury 👋, Thank you for making the updates! During our testing of this PR, we've identified a few issues related to free-threaded Python version inputs:
Here is ademo run showcasing prerelease versions, version ranges, and python-version-file input examples. Please ensure that the PR changes support these input syntaxes for free-threaded Python versions. To ensure full compatibility with all supported Python version formats and inputs includingpython-version-file input, please address these issues and ensure the implementation fully supportssemantic versioning (semver) guidelines to handle different version formats correctly. Additionally, update the documentation to provide clarity on the syntax for free-threaded Python versions. Thank you! |
colesbury commentedJan 31, 2025
Hi@priyagupta108, thanks for reviewing the PR again.
I've included examples in "advanced-usage.md". Thank you for the demo run. I've modified it and run it with these changes here: |
colesbury commentedFeb 5, 2025
Hi@priyagupta108, I've made an additional change:
|
priyagupta108 commentedFeb 10, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Hi@colesbury,
Please feel free to reach out if you need any further clarification or assistance. |
ddelange commentedFeb 10, 2025
I'd argue that the cache key beshould be unique in order to avoid conflicts: I don't want to restore a 3.13t venv on a 3.13 runner or vice versa. Furthermore, for pre-commit related issues, I don't even want to restore a 3.13.0 venv on a 3.13.1 runner (patch updates I get automatically when specifying Solution is to simply use the setup-python output |
priyagupta108 commentedFeb 10, 2025
@ddelange 👋, Sorry for the confusion and thanks for pointing it out. Yes, the cache key should be unique. I have edited my previous comment. |
colesbury commentedFeb 10, 2025
Hi@priyagupta108 - I've fixed the cache key conflicts and removed support for notation like "3.14.0a4". |
docs/advanced-usage.md Outdated
| -run:python my_script.py | ||
| ``` | ||
| You can specify the [free threading](https://docs.python.org/3/howto/free-threading-python.html) version of Python by setting the`freethreaded` input to `true` or by using the special **t** suffix in some cases. Pre-release free threading versions can be specified like `3.14t-dev`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
The documentation implies that all pre-release versions (alpha, beta, rc, dev) should be valid when using the "t" suffix. However, the functionality works only for 3.14t-dev.
Please update the documentation to accurately reflect the current behavior.
priyagupta108 commentedFeb 14, 2025
@colesbury 👋, For better clarity, it would be helpful to update the error message to indicate that free-threaded Python is not supported for versions 3.12 or earlier. |
colesbury commentedFeb 14, 2025
Hi@priyagupta108, I've updated the documentation and error message. |
priyagupta108 commentedFeb 25, 2025
Hello@colesbury, |
9e62be8 intoactions:mainUh oh!
There was an error while loading.Please reload this page.
Seegitpython-developers#2005. Right now, this does not limit by operating system, butthat is just to verify that there are no OS-specific 3.13t problemswe should know about right now; once that is verified, the macOSand Windows jobs will be removed (excluded) for the time being.The 3.13t jobs added here use `Quansight-Labs/setup-python`, not`actions/setup-python`. The latter also has the ability to use3.13t sinceactions/python-versions#319andactions/setup-python#973 (see alsoactions/setup-python#771), but no versiontag includes this feature yet. It can be used by using `@main` or`@...` where `...` is an OID. The former would risk pulling inother untested features we're no trying to test with, while thelatter would not be easy to upgrade automatically as what we havenow (we would be deliberately keeping a hash not at any tag that isalready not the latest hash on any branch). In contrast, the`Quansight-Labs/setup-python` fork adds this feature while stayingup to date with others. When `actions/setup-python` has a release(stable or prerelease) with this feature, we can switch to it.This could probably be done with less code duplication by using amatrix variable for the action to use. Instead, the "Set up Python"step is split in two, with opposite `if` conditions, so that eachis capable of being recognized and upgraded by Dependabot if a newmajor version is released (in case this ends up remaining in placelonger than expected).
Seegitpython-developers#2005. Right now, this does not limit by operating system, butthat is just to verify that there are no OS-specific 3.13t problemswe should know about right now; once that is verified, the macOSand Windows jobs will be removed (excluded) for the time being.The 3.13t jobs added here use `Quansight-Labs/setup-python`, not`actions/setup-python`. The latter also has the ability to use3.13t sinceactions/python-versions#319andactions/setup-python#973 (see alsoactions/setup-python#771), but no versiontag includes this feature yet. It can be used by using `@main` or`@...` where `...` is an OID. The former would risk pulling inother untested features we're no trying to test with, while thelatter would not be easy to upgrade automatically as what we havenow (we would be deliberately keeping a hash not at any tag that isalready not the latest hash on any branch). In contrast, the`Quansight-Labs/setup-python` fork adds this feature while stayingup to date with others. When `actions/setup-python` has a release(stable or prerelease) with this feature, we can switch to it.This could probably be done with less code duplication by using amatrix variable for the action to use. Instead, the "Set up Python"step is split in two, with opposite `if` conditions, so that eachis capable of being recognized and upgraded by Dependabot if a newmajor version is released (in case this ends up remaining in placelonger than expected).
hugovk commentedMar 25, 2025
This has now been released as v5.5.0 and v5:
I wrote up some instructions: |
* Support free threaded Python versions like '3.13t'Python wheels, pyenv, and a number of other tools use 't' in the Pythonversion 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 correctPython version.See#771* Add free threading to advanced usage documentation* Fix desugaring of `3.13.1t` and add test case.* Add freethreaded input and fix handling of prerelease versions* Fix lint* Add 't' suffix to python-version output* Use distinct cache key for free threaded Python* Remove support for syntax like '3.14.0a1'* Clarify use of 't' suffix* Improve error message when trying to use free threaded Python versions before 3.13
* Support free threaded Python versions like '3.13t'Python wheels, pyenv, and a number of other tools use 't' in the Pythonversion 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 correctPython version.Seeactions#771* Add free threading to advanced usage documentation* Fix desugaring of `3.13.1t` and add test case.* Add freethreaded input and fix handling of prerelease versions* Fix lint* Add 't' suffix to python-version output* Use distinct cache key for free threaded Python* Remove support for syntax like '3.14.0a1'* Clarify use of 't' suffix* Improve error message when trying to use free threaded Python versions before 3.13
* Bump braces from 3.0.2 to 3.0.3 (actions#893)* Bump braces from 3.0.2 to 3.0.3Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)- [Commits](micromatch/braces@3.0.2...3.0.3)---updated-dependencies:- dependency-name: braces dependency-type: indirect...Signed-off-by: dependabot[bot] <support@github.com>* Bump undici from 5.28.3 to 5.28.4---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>* fix(ci): update all failing workflows (actions#863)* fix(ci): update all failing workflowsWith `macos-latest` moving to `macos-14`, most workflows are currently failing.Update them to be able to run on `macos-latest`Don't test python 3.5 on ubuntu. It's been EOL for almost 4 years and there are now some certificate issues with pip.* review: remove test with python 3.5, 3.6 & 3.7* add latest versions to e2e-tests.yml* Documentation update for cache (actions#873)* updated doc* added note* modify1* Update advanced-usage.md* Update 0000-caching-dependencies.md---------Co-authored-by: gowridurgad <gowridurga@github.com>* Updated @iarna/toml version to 3.0.0 (actions#912)* Fix display of emojis in contributors doc (actions#899)* Fix: Add `.zip` extension to Windows package downloads for `Expand-Archive` Compatibility (actions#916)* Fix: specify filename during Windows package download* Changed unit test download urls* fix: add arch to cache key (actions#896)* fix: add arch to cache key* test: update tests accordingly* Documentation update for caching poetry dependencies (actions#908)* Create testing.yml* Update testing.yml* Fix for parsing version number from TOML 1.0.0 pyproject.toml file* Delete .github/workflows/testing.yml* fixed license issue* updated the Note* updated doc* updated the doc* npm run build* Mark up corrections---------Co-authored-by: gowridurgad <gowridurga@github.com>Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>* Bump pyinstaller from 3.6 to 5.13.1 in /__tests__/data (actions#923)* Update e2e-cache.yml* Update basic-validation.yml* Pyinstaller upgrade to 5.13.1* pyinstaller-update* Update basic-validation.yml* Update e2e-cache.yml* initial commit (actions#938)* Create publish-immutable-actions.ymlThis workflow file publishes new action releases to the immutable action package of the same name as this repo.This is part of the Immutable Actions project which is not yet fully released to the public. First party actions like this one are part of our initial testing of this feature.* Upgrade IA publish* Bump default versions to latest (actions#905)People copy/paste these values all the time... might as well start them off on the right foot with a modern default.* Revise `isGhes` logic (actions#963)* Revise `isGhes` logic* ran `npm run format`* add unit test* ran `npm run format`* Bump pillow from 7.2 to 10.2.0 in /__tests__/data (actions#956)* Update e2e-cache.yml* Update basic-validation.yml* Pyinstaller upgrade to 5.13.1* pyinstaller-update* Update basic-validation.yml* Update e2e-cache.yml* fix-db-alert-164-165-166* upgrade pillow* Enhance workflows: Add macOS 13 support, upgrade publish-action, and update documentation for arm64 and latest versions (actions#965)* update ci workflows with latest versions and added macos-13* updated document with latest versions* Update error message for no dependencies to cache (actions#968)* Enhance Workflows: Add Ubuntu-24, Remove Python 3.8 (actions#985)* included ubuntu24 testing* Remove Python 3.8 testing from workflows due to end of life (EOL)* Update README.md (actions#1009)* Use the new cache service: upgrade `@actions/cache` to `^4.0.0` (actions#1007)* Upgrade-actions/cache* Review licenses & update types* Fixed poetry install command in e2e-cache.yml* Updated package-lock.json* Configure Dependabot settings (actions#1008)* Create dependabot.yml* Update e2e-cache.yml* Bump undici from 5.28.4 to 5.28.5 (actions#1012)* Bump undici from 5.28.4 to 5.28.5Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.- [Release notes](https://github.com/nodejs/undici/releases)- [Commits](nodejs/undici@v5.28.4...v5.28.5)---updated-dependencies:- dependency-name: undici dependency-type: indirect...Signed-off-by: dependabot[bot] <support@github.com>* fix for chec-dist and license check failures---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>* Bump urllib3 from 1.25.9 to 1.26.19 in /__tests__/data (actions#895)Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.25.9 to 1.26.19.- [Release notes](https://github.com/urllib3/urllib3/releases)- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst)- [Commits](urllib3/urllib3@1.25.9...1.26.19)---updated-dependencies:- dependency-name: urllib3 dependency-type: direct:production...Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>* Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 (actions#1014)Bumps [actions/publish-immutable-action](https://github.com/actions/publish-immutable-action) from 0.0.3 to 0.0.4.- [Release notes](https://github.com/actions/publish-immutable-action/releases)- [Commits](actions/publish-immutable-action@0.0.3...v0.0.4)---updated-dependencies:- dependency-name: actions/publish-immutable-action dependency-type: direct:production update-type: version-update:semver-patch...Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>* Bump @actions/http-client from 2.2.1 to 2.2.3 (actions#1020)* Bump @actions/http-client from 2.2.1 to 2.2.3Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.1 to 2.2.3.- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)---updated-dependencies:- dependency-name: "@actions/http-client" dependency-type: direct:production update-type: version-update:semver-patch...Signed-off-by: dependabot[bot] <support@github.com>* fix for licensed and check-dist checks failures---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>* Bump requests from 2.24.0 to 2.32.2 in /__tests__/data (actions#1019)Bumps [requests](https://github.com/psf/requests) from 2.24.0 to 2.32.2.- [Release notes](https://github.com/psf/requests/releases)- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)- [Commits](psf/requests@v2.24.0...v2.32.2)---updated-dependencies:- dependency-name: requests dependency-type: direct:production...Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>* Improve Advanced Usage examples (actions#645)* docs: fix outputs python-version example and descriptionDescription was lacking words, example was misleading (id was set to cp310 which clearly was a reference to CPython 3.10, but the id is referring to the setup-python action!* docs: copy-editing in advanced-usage.mdSigned-off-by: Stephen L. <lrq3000@gmail.com>* docs: add example if statement in advanced-usage.mdSigned-off-by: Stephen L. <lrq3000@gmail.com>* docs: implement changes suggested by@mahabaleshwars (deprecate pypy2.7, 3.7, 3.8, tweak example, remove wildcard *)Signed-off-by: Stephen L. <LRQ3000@gmail.com>---------Signed-off-by: Stephen L. <lrq3000@gmail.com>Signed-off-by: Stephen L. <LRQ3000@gmail.com>* fix: install PyPy on Linux ARM64 (actions#1011)* ci: check non-eol versions of PyPy are available on all runners* fix: install PyPy on Linux ARM64* ci: remove eol ubuntu-20.04* Bump @vercel/ncc from 0.38.1 to 0.38.3 (actions#1016)* Bump @vercel/ncc from 0.38.1 to 0.38.3Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.38.1 to 0.38.3.- [Release notes](https://github.com/vercel/ncc/releases)- [Commits](vercel/ncc@0.38.1...0.38.3)---updated-dependencies:- dependency-name: "@vercel/ncc" dependency-type: direct:development update-type: version-update:semver-patch...Signed-off-by: dependabot[bot] <support@github.com>* check failure fix---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>* Support free threaded Python versions like '3.13t' (actions#973)* Support free threaded Python versions like '3.13t'Python wheels, pyenv, and a number of other tools use 't' in the Pythonversion 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 correctPython version.Seeactions#771* Add free threading to advanced usage documentation* Fix desugaring of `3.13.1t` and add test case.* Add freethreaded input and fix handling of prerelease versions* Fix lint* Add 't' suffix to python-version output* Use distinct cache key for free threaded Python* Remove support for syntax like '3.14.0a1'* Clarify use of 't' suffix* Improve error message when trying to use free threaded Python versions before 3.13* Bump @actions/glob from 0.4.0 to 0.5.0 (actions#1015)* Bump @actions/glob from 0.4.0 to 0.5.0Bumps [@actions/glob](https://github.com/actions/toolkit/tree/HEAD/packages/glob) from 0.4.0 to 0.5.0.- [Changelog](https://github.com/actions/toolkit/blob/main/packages/glob/RELEASES.md)- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/glob)---updated-dependencies:- dependency-name: "@actions/glob" dependency-type: direct:production update-type: version-update:semver-minor...Signed-off-by: dependabot[bot] <support@github.com>* fix for check failures---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>* Add support for .tool-versions file in setup-python (actions#1043)* add support for .tool-versions file* update regex* optimize code* update test-python.yml for .tool-versions* fix format-check errors* fix formatting in test-python.yml* Fix test-python.yml error* workflow update with latest versions* update test cases* fix lint issue* Add e2e Testing for free threaded and Bump @action/cache from 4.0.0 to 4.0.3 (actions#1056)* include freethread e2e testing and upgrade cache from 4.0.0 to 4.0.2* include verify gil step and validated python version* Rename files* include ubuntu-arm runners for testing* Remove Ubuntu 20.04 from workflows due to deprecation from 2025-04-15 (actions#1065)* remove ubuntu-20.04* check failure fix* remove spaces* npm run format-check* Fix for Candidate Not Iterable Error (actions#1082)* candidates not iterable* update the error message* update error to debug* update debug to info* error message updates* Bump semver and @types/semver (actions#1091)* Bump semver and @types/semverBumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.Updates `semver` from 7.6.0 to 7.7.1- [Release notes](https://github.com/npm/node-semver/releases)- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)- [Commits](npm/node-semver@v7.6.0...v7.7.1)Updates `@types/semver` from 7.5.8 to 7.7.0- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)---updated-dependencies:- dependency-name: semver dependency-version: 7.7.1 dependency-type: direct:production update-type: version-update:semver-minor- dependency-name: "@types/semver" dependency-version: 7.7.0 dependency-type: direct:development update-type: version-update:semver-minor...Signed-off-by: dependabot[bot] <support@github.com>* Fixed check failures---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>* Bump prettier from 2.8.8 to 3.5.3 (actions#1046)* Bump prettier from 2.8.8 to 3.5.3Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.5.3.- [Release notes](https://github.com/prettier/prettier/releases)- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)- [Commits](prettier/prettier@2.8.8...3.5.3)---updated-dependencies:- dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-major...Signed-off-by: dependabot[bot] <support@github.com>* Enable cancelled checks---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>* Bump ts-jest from 29.1.2 to 29.3.2 (actions#1081)Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.3.2.- [Release notes](https://github.com/kulshekhar/ts-jest/releases)- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)- [Commits](kulshekhar/ts-jest@v29.1.2...v29.3.2)---updated-dependencies:- dependency-name: ts-jest dependency-version: 29.3.2 dependency-type: direct:development update-type: version-update:semver-minor...Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>* Enhance reading from .python-version (actions#787)* Enhance reading from .python-version* Fix typos* Fix lint* Add built files* Don't use EOL versions in `utils.test.ts`* Fix Prettier* Don't use unreleased versions in `utils.test.ts`* Update versions in `utils.test.ts` again* Bump @actions/tool-cache from 2.0.1 to 2.0.2 (actions#1095)* Bump @actions/tool-cache from 2.0.1 to 2.0.2Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.1 to 2.0.2.- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)---updated-dependencies:- dependency-name: "@actions/tool-cache" dependency-version: 2.0.2 dependency-type: direct:production update-type: version-update:semver-patch...Signed-off-by: dependabot[bot] <support@github.com>* Fix failures---------Signed-off-by: dependabot[bot] <support@github.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>* Add support for `pip-version` (actions#1129)* Add pip-version input* Update workflow files* Add documentation* Update workflow files* Enhance cache-dependency-path handling to support files outside the workspace root (actions#1128)* ehnace cache dependency path handling* logic update* npm run format-check* update cacheDependencies tests to cover resolved paths and copy edge cases* check failure fix* depricate-windows-2019* refactored the code* Check failure fix* Add Architecture-Specific PATH Management for Python with --user Flag on Windows (actions#1122)* logic to update install oath with --user flg* format update* format update* update* test job to validate --user flag installtion* updated the script* updated the yaml* update the inputs* updated script* update the correct script file name* updated script and yaml* npm run format-check* fix-test failures* path update* check failure fix* updated test* update free threaded version* updated the comments* Include python version in PyPy python-version output (actions#1110)* update documentation (actions#1156)* fix: fix---------Signed-off-by: dependabot[bot] <support@github.com>Signed-off-by: Stephen L. <lrq3000@gmail.com>Signed-off-by: Stephen L. <LRQ3000@gmail.com>Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>Co-authored-by: gowridurgad <159780674+gowridurgad@users.noreply.github.com>Co-authored-by: gowridurgad <gowridurga@github.com>Co-authored-by: priya-kinthali <147703874+priya-kinthali@users.noreply.github.com>Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com>Co-authored-by: Priya Gupta <147705955+priyagupta108@users.noreply.github.com>Co-authored-by: Zxilly <31370133+Zxilly@users.noreply.github.com>Co-authored-by: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com>Co-authored-by: Joel Ambass <Jcambass@users.noreply.github.com>Co-authored-by: Jeff Widman <jeff@jeffwidman.com>Co-authored-by: John Wesley Walker III <81404201+jww3@users.noreply.github.com>Co-authored-by: Ben Wells <benwells@github.com>Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>Co-authored-by: Stephen Karl Larroque <lrq3000@users.noreply.github.com>Co-authored-by: Sam Gross <colesbury@gmail.com>Co-authored-by: mahabaleshwars <147705296+mahabaleshwars@users.noreply.github.com>Co-authored-by: Kryštof Korb <krystof@korb.cz>Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>




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 andactions/python-versions#319