This document describes how to publish a new version of weaver-kernel to PyPI.
- Push access to the
dgenio/agent-kernelrepository. - Trusted Publisher configured on PyPI for this repository (see Trusted Publisher setup below).
Update the version field in pyproject.toml:
[project]
version = "0.4.0"Add a new section to CHANGELOG.md under ## [Unreleased], then rename it
to the new version with today's date:
## [0.4.0] - 2026-03-14
### Added
- ...
### Fixed
- ...Important: Tag only on
mainafter the release commit is merged. The publish workflow triggers on anyv*tag push — tagging a non-main commit would publish unreleased code.
git add pyproject.toml CHANGELOG.md
git commit -m "release: v0.4.0"
git tag v0.4.0
git push origin main --tagsPushing the v* tag triggers .github/workflows/publish.yml, which:
- Runs the full CI suite (
make ciequivalent) as a gate. - Builds the sdist and wheel with
python -m build. - Creates a GitHub Release with auto-generated notes and the built artifacts attached.
- Publishes to PyPI using Trusted Publisher (OIDC — no API tokens stored).
Monitor the workflow run at: https://github.com/dgenio/agent-kernel/actions/workflows/publish.yml
pip install weaver-kernel==0.3.0Trusted Publisher uses OpenID Connect (OIDC) so the GitHub Actions workflow can publish to PyPI without storing API tokens as secrets.
To configure it (one-time setup):
- Go to https://pypi.org/manage/project/weaver-kernel/settings/publishing/.
- Add a new publisher:
- Owner:
dgenio - Repository:
agent-kernel - Workflow name:
publish.yml - Environment:
pypi
- Owner:
- Save. The
publish.ymlworkflow will now authenticate automatically.
This project follows Semantic Versioning:
- PATCH (0.2.x): bug fixes, documentation updates.
- MINOR (0.x.0): new features, backward-compatible changes.
- MAJOR (x.0.0): breaking API changes.