Skip to content

Add PyPI publishing for the Python package#4

Merged
aezell merged 2 commits into
mainfrom
add-pypi-publish
Jul 10, 2026
Merged

Add PyPI publishing for the Python package#4
aezell merged 2 commits into
mainfrom
add-pypi-publish

Conversation

@aezell

@aezell aezell commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Automates publishing the client_signals Python package to PyPI, so downstream projects (sprites-py, and thus sprites-adk) can depend on a released package instead of a git ref.

Adds .github/workflows/publish-python.yml: on a vX.Y.Z tag it builds from the python/ subdirectory, stamps the tag's version into pyproject.toml (which ships a 0.0.0 placeholder), runs the unittest suite as a gate, and publishes via PyPI trusted publishing (OIDC — no API tokens). Complements the existing release.yml (GitHub release) without touching it.

Details

  • Final releases only — pattern v[0-9]+.[0-9]+.[0-9]+. Prerelease tags (vX.Y.Z-pre-N from bump_version.sh prerel) are intentionally excluded, since that suffix isn't PEP 440 and PyPI would reject it. (The go/vX.Y.Z module tags don't match either.)
  • Builds from python/ (defaults.run.working-directory), publishes python/dist/.
  • README "Releases" updated to reflect Python is now automated (npm/Hex still manual).

Verification

  • Package tests: python -m unittest8 passed.
  • Simulated the CI stamp+build locally (tag v0.4.1): python -m build produced client_signals-0.4.1 wheel+sdist, twine check PASSED on both; pyproject.toml restored to the 0.0.0 placeholder (not committed).

aezell added 2 commits July 10, 2026 10:17
Pushing a vX.Y.Z tag now builds and publishes the client_signals Python
package to PyPI via trusted publishing (OIDC, no tokens). Builds from the
python/ subdirectory, stamps the tag version into pyproject.toml (which
ships a 0.0.0 placeholder), and runs the unittest suite as a gate.
Final-release tags only; prerelease tags are excluded (non-PEP 440 format).
@aezell aezell merged commit b3c6b8d into main Jul 10, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant