Policies¶
Toolchain policy¶
Python 3.10 is the floor (requires-python = ">=3.10" in pyproject.toml),
with Linux CI on 3.10, 3.11, 3.12, 3.13 and 3.14. The floor matches the
pain001 core library, which this package depends on; it moves when the
core’s does, in the same family release, and the change is recorded in the
changelog. No distro-system Python is supported.
Dependency policy¶
pain001 is the only runtime dependency. Its floor is the family’s
release version, capped below 1, so a release never resolves an older
core and the older advisory floors it declares. CI installs every tool
from hash-pinned requirements/*.txt, compiled from the .in files
beside them with make pip-compile, and audits each of them with
pip-audit on every pull request. A dependency with a published advisory
is constrained so no affected version can resolve.
Versioning policy¶
The package follows the pain001 suite: the members release together at
one version, core first, in 0.0.1 steps. scripts/verify_versions.py
checks every place the version is restated, and the scheduled Suite
Consistency workflow compares the tree and the published suite with PyPI.