Releasing WeaveRx¶
Semantic version tags trigger the release workflow, which:
- Runs ruff, mypy, and pytest with coverage
- Builds sdist + wheel
- Publishes to PyPI (trusted publishing)
- Creates a GitHub Release with artifacts attached
Live docs deploy automatically on push to master via the docs workflow to fratresmedai.github.io/WeaveRx.
One-time PyPI trusted publishing setup¶
Before the first v* tag publish succeeds on PyPI:
- Create the
weaverxproject on pypi.org (or claim the name if reserved). - Add a trusted publisher:
- PyPI publisher name:
pypi - Repository:
FratresMedAI/WeaveRx - Workflow:
release.yml - Environment name: (leave blank)
- Push a tag — no
PYPI_API_TOKENsecret required.
Cut a release¶
- Update CHANGELOG.md.
- Bump
versionin pyproject.toml andsrc/weaverx/__init__.py. - Commit and push to
master. - Tag and push:
git tag -a v0.1.2 -m "v0.1.2"
git push origin v0.1.2
Verify locally before tagging¶
pip install -e ".[dev]"
ruff check .
mypy src/weaverx
pytest --cov=weaverx --cov-fail-under=75
python -m build
mkdocs build --strict
Install after release¶
pip install weaverx
Fallback:
pip install git+https://github.com/FratresMedAI/WeaveRx.git@v0.1.2