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 GitHub

Trust Signals

Scorecard Score
Scorecard 2–4scored Jul 6, 2026
Maintenance Recency
Maintainedlast commit Oct 3, 2025
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: patrick-kidger/action_update_python_project@f2c820c1af8f6304ac818b29285c73044955f28d # v8

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
python-versionThe version of Python to use. Set to `false` to not install any Python and instead use a preinstalled one.yes
pypi-tokenA PyPI password or authentication token for your project. Set to `false` to use some other already-configured authentication mechanism.yes
github-userYour username on GitHub.yes
github-tokenA GitHub authentication token for your project.yes
test-scriptA 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-userYour username on PyPI.__token__
pypi-repository-urlThe repository URL to use for PyPI, if different than the default. Passed to `twine upload --repository-url`https://pypi.org/
checkoutWhether to check out the code. Set to `false` to disable this, e.g. if you have already done this.true
allow-first-releaseWhether to allow doing a first release to PyPI for a package that does not already exist there. Set to `true` to allow this.false

no outputs