This guide defines a repeatable, offline/local-first release flow.
scripts/release_checklist.shDefault checklist stages:
ruff check pytia/ruff format --check pytia/- focused regression gates:
tests/test_single_timepoint.py::TestSingleTimePointModelID::test_model_id_phystests/test_region_voxel_r2_option.pytests/test_regressions_20260316.pytests/test_release_regression.py
- wheel build + local install smoke
- CLI/API smoke checks (
pytia --version,Config.load(None))
scripts/release_checklist.sh --fullRuns pytest tests/ in addition to the focused gates.
python scripts/benchmark_local.py --output-json ./benchmarks/latest.jsonBenchmark scenarios include:
- voxel mode (non-chunked)
- voxel mode (chunked)
- voxel mode (chunked + bootstrap)
- region mode
Track wall_ms and engine_total_ms over releases to detect regressions.
- Use deterministic seeds for stochastic paths (bootstrap).
- Prefer tolerance-based assertions (
rtol/atol) for floating-point checks. - Treat changes to status/model distributions and summary contracts as release-impacting.