How a version of agent-assembly gets from master to PyPI and the documentation site.
The project is pre-1.0 and releases from the 0.0.x line. Until 1.0.0, minor versions
may carry breaking changes; consumers who need a frozen contract should pin an exact version.
The canonical version lives in pyproject.toml ([project].version).
The SDK is published as a set of wheels built with maturin so
the optional native runtime binary is bundled per platform — pip install selects the right
wheel by platform tag, no post-install scripts needed:
| Artifact | Contents |
|---|---|
agent_assembly-<v>-…-manylinux_*_x86_64.whl / …aarch64.whl |
SDK + Linux aasm binary |
agent_assembly-<v>-…-macosx_*_arm64.whl / …x86_64.whl |
SDK + macOS aasm binary |
agent_assembly-<v>.tar.gz (sdist) |
Pure-Python source |
{{ aa.commands.install_pip }} gets the pure-Python client;
{{ aa.commands.install_pip_runtime }} pulls the platform wheel that bundles the binary.
See [Installation]({{ aa.urls.repo }}#installation).
Releases publish through a PyPI Trusted Publisher — GitHub Actions exchanges a short-lived
OIDC token with PyPI at publish time, so there is no long-lived API token stored in CI.
The publish job runs in the pypi GitHub Environment.
The release workflow (.github/workflows/release-python.yml) builds the full wheel matrix and
publishes when a release tag is pushed. A workflow_dispatch run can build artifacts as a
dry-run without publishing.
- Bump
[project].versioninpyproject.toml(and keepagent_assembly.__version__in sync). - Land it on
masterthrough the normal PR flow. - Push the release tag — the workflow builds every platform wheel + sdist and publishes them to PyPI via the Trusted Publisher.
- Verify the wheels appear on the [PyPI release page]({{ aa.urls.pypi }}#history)
and carry platform tags (
manylinux_*,macosx_*), notnone-any.
Docs are versioned with mike: every push to master
deploys to latest, and a release promotes to stable. Readers switch versions with
the selector at the top of the [documentation site]({{ aa.urls.docs }}).
Release notes are tracked on the Release notes page and the [GitHub releases]({{ aa.urls.repo }}/releases) feed.