patrick-kidger/Update Python project: Check version / Test / git tag / GitHub Release / Deploy to PyPI
Builds a Python projects, runs tests, and if successful tags and uploads to PyPI
View on GitHubTrust Signals
- Scorecard Score
- Scorecard 2–4scored Jul 6, 2026
- Maintenance Recency
- Maintainedlast commit Oct 3, 2025
- License
- Apache 2.0
Pinned Snippet
uses: patrick-kidger/action_update_python_project@f2c820c1af8f6304ac818b29285c73044955f28d # v8tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| python-version | The version of Python to use. Set to `false` to not install any Python and instead use a preinstalled one. | yes | — |
| pypi-token | A PyPI password or authentication token for your project. Set to `false` to use some other already-configured authentication mechanism. | yes | — |
| github-user | Your username on GitHub. | yes | — |
| github-token | A GitHub authentication token for your project. | yes | — |
| test-script | A bash script for the tests. A uv venv will be available to install into, using `uv` directly on the PATH, e.g. commands often look like `uv sync --foo`. | yes | — |
| pypi-user | Your username on PyPI. | — | __token__ |
| pypi-repository-url | The repository URL to use for PyPI, if different than the default. Passed to `twine upload --repository-url` | — | https://pypi.org/ |
| checkout | Whether to check out the code. Set to `false` to disable this, e.g. if you have already done this. | — | true |
| allow-first-release | Whether to allow doing a first release to PyPI for a package that does not already exist there. Set to `true` to allow this. | — | false |
Outputs
no outputs