Releases and publishing
Current release
0.1.1 is published on PyPI with a matching GitHub release. The tagged source provides the notebooks and Docker environment. Installation instructions on this site include post-release documentation corrections.
Maintainer procedure
- Run offline CI and local database integration tests. Review the changelog and version.
- For the first publication, configure the PyPI trusted publisher for project
bondi, ownerrelaxed-constraints, repositorybondi, workflowrelease.yml, environmentpypi. - Create a
v0.1.1tag at the reviewed commit and publish its GitHub release. - The release workflow reruns CI, checks tag/version agreement, and publishes the tested wheel and source distribution using OIDC. No API token is stored.
- Verify a fresh
pip install bondi==0.1.1and the optional Couchbase extra. - Update installation instructions and the release status/changelog after verification.
Use a new version for each release; do not replace a published tag or distribution. The library is an early research release: record its version with experiment artifacts.
Documentation
GitHub Pages builds on published releases, so student documentation follows released code. The Documentation workflow also supports manual dispatch for the initial pre-release site or an explicitly reviewed documentation correction. Pull requests build the documentation without deploying it.
CI and local integration tests
CI runs offline tests on Python 3.11–3.14, Ruff, a strict MkDocs build, distribution checks and wheel installation in a fresh environment. No database containers run in CI. Database-backed tests are explicitly excluded there.
After initializing local MongoDB and Couchbase, maintainers can run:
BONDI_GENERATION_LIVE=1 BONDI_ESTIMATOR_LIVE=1 BONDI_SYNC_LIVE=1 \
uv run --extra couchbase pytest -q
Additional Community/Enterprise executor probes use the opt-in variables documented
in tests/test_couchbase_executor_live.py. Never point these tests at private research
data. Notebooks and Docker assets ship in the tagged GitHub source archive; the
PyPI wheel contains the library and license.