PyPI has only the 0.0.1 placeholder. The steps for the first real release (0.1.0) and later ones. Only the owner publishes.
- On pypi.org, project
bundleup→ Settings → Publishing → add a trusted publisher: GitHub, ownerfunkyfunc, repositorybundleup, workflowrelease.yml, environmentpypi. - On GitHub, Settings → Environments → create
pypi(optionally require the owner's approval).
- Check
mainis green in CI and the latest nightly runs passed (or their issues are understood). - Set the version in both
pyproject.tomlandsrc/bundleup/__init__.py(__version__), runuv locksouv.lockrecords the new version, move the "Unreleased" notes in CHANGELOG.md under the version, and update the README's status line and the classifier (Development Status :: 3 - Alphafor 0.1). uv run pytest -q tests(the API snapshot and--versiontest change with the version), commit, push.git tag v0.1.0 && git push origin v0.1.0. release.yml checks the tag matches the version, builds withuv buildand publishes.- Try it from PyPI on a clean machine:
uvx bundleup buildon a gauntlet project.