Skip to content

Releasing

predxt uses SemVer. Release tags use the vX.Y.Z format.

First release

  1. Confirm the version in pyproject.toml and src/predxt/__init__.py.
  2. Update CHANGELOG.md.
  3. Run local validation:
uv sync --group dev
uv run ruff check .
uv run mypy
uv run pytest -q -s
uv build
uv run twine check dist/*
  1. Push main.
  2. Confirm PyPI Trusted Publishing is configured:

  3. PyPI project name: predxt

  4. Owner: hzprotocol
  5. Repository: predxt
  6. Workflow: release.yml
  7. Environment: pypi

  8. Create and push a tag:

git tag v0.1.0
git push origin v0.1.0
  1. The release workflow builds distributions first. The publish job waits for the GitHub pypi environment approval, then creates the GitHub release and publishes to PyPI with Trusted Publishing.

PyPI

Use PyPI Trusted Publishing for GitHub Actions. Configure the PyPI project named predxt to trust this repository and the release.yml workflow with the pypi environment.

If Trusted Publishing is not configured for the first release, build artifacts locally and publish manually from a controlled maintainer environment.