mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-25 07:16:38 +00:00 
			
		
		
		
	 9e62be81b2
			
		
	
	9e62be81b2
	
	
	
		
			
			* Support free threaded Python versions like '3.13t' 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 * 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
		
			
				
	
	
		
			47 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| name: "Setup Python"
 | |
| description: "Set up a specific version of Python and add the command-line tools to the PATH."
 | |
| author: "GitHub"
 | |
| inputs:
 | |
|   python-version:
 | |
|     description: "Version range or exact version of Python or PyPy to use, using SemVer's version range syntax. Reads from .python-version if unset."
 | |
|   python-version-file:
 | |
|     description: "File containing the Python version to use. Example: .python-version"
 | |
|   cache:
 | |
|     description: "Used to specify a package manager for caching in the default directory. Supported values: pip, pipenv, poetry."
 | |
|     required: false
 | |
|   architecture:
 | |
|     description: "The target architecture (x86, x64, arm64) of the Python or PyPy interpreter."
 | |
|   check-latest:
 | |
|     description: "Set this option if you want the action to check for the latest available version that satisfies the version spec."
 | |
|     default: false
 | |
|   token:
 | |
|     description: "The token used to authenticate when fetching Python distributions from https://github.com/actions/python-versions. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting."
 | |
|     default: ${{ github.server_url == 'https://github.com' && github.token || '' }}
 | |
|   cache-dependency-path:
 | |
|     description: "Used to specify the path to dependency files. Supports wildcards or a list of file names for caching multiple dependencies."
 | |
|   update-environment:
 | |
|     description: "Set this option if you want the action to update environment variables."
 | |
|     default: true
 | |
|   allow-prereleases:
 | |
|     description: "When 'true', a version range passed to 'python-version' input will match prerelease versions if no GA versions are found. Only 'x.y' version range is supported for CPython."
 | |
|     default: false
 | |
|   freethreaded:
 | |
|     description: "When 'true', use the freethreaded version of Python."
 | |
|     default: false
 | |
| outputs:
 | |
|   python-version:
 | |
|     description: "The installed Python or PyPy version. Useful when given a version range as input."
 | |
|   cache-hit:
 | |
|     description: "A boolean value to indicate a cache entry was found"
 | |
|   python-path:
 | |
|     description: "The absolute path to the Python or PyPy executable."
 | |
| runs:
 | |
|   using: 'node20'
 | |
|   main: 'dist/setup/index.js'
 | |
|   post: 'dist/cache-save/index.js'
 | |
|   post-if: success()
 | |
| branding:
 | |
|   icon: 'code'
 | |
|   color: 'yellow'
 |