Distribution
This page captures the repo’s distribution and publishing paths.
Python Package
- Package name target:
ts-agents - Build backend:
setuptools - Build command:
uv buildPublishing automation lives in .github/workflows/publish-pypi.yml.
The workflow is designed for GitHub Actions -> PyPI trusted publishing and runs on version tags (v*) or manual dispatch.
TestPyPI validation lives in .github/workflows/publish-testpypi.yml and is intended to be run manually before the first real release.
GitHub Release Flow
Release tags use the form vX.Y.Z.
Recommended release steps:
- update
CHANGELOG.md - run
bash scripts/clean_release_artifacts.sh - run
bash scripts/check_release_quality.sh - run
uv run python -m pytest -q - run
uv build - run
uv tool run twine check dist/* - run
bash scripts/smoke_install_wheel.sh 3.12 dist - manually dispatch
publish-testpypi.yml - inspect the rendered TestPyPI project page and verify the install path there
- create/push the git tag
- create the GitHub release
- let
.github/workflows/publish-pypi.ymlpublish the already-validated artifact
Sandbox Container Image
The sandbox container is built from Dockerfile.sandbox.
- Local build:
./build_docker_sandbox.sh- Published image target:
ghcr.io/fnauman/ts-agents-sandbox
Automation lives in .github/workflows/publish-sandbox-image.yml.
The published image is intended to give users a prebuilt sandbox backend instead of requiring a local Docker build before first use.
Notes
- CI now builds once and smoke-tests the wheel on Python 3.11, 3.12, and 3.13.
- CI also runs a narrow
ruff+mypyquality gate over the release/package surface. - The publish workflow also gates real PyPI publishing on the same artifact smoke matrix.
- The current dependency minimums intentionally track the validated
0.1.1release stack; broader lower-bound compatibility can be widened later. - Before creating the real release tag, run the TestPyPI workflow and inspect the rendered page for the exact artifact you plan to publish.