Dependency support matrix¶
This page is the human-readable dependency contract for the current release line. The package metadata is authoritative for installation; this matrix documents the versions covered by CI and the process for widening a window. The generated compatibility dashboard combines these dependency declarations with the platform and adapter matrices.
Core runtime¶
| Dependency | Declared window | CI coverage | Policy |
|---|---|---|---|
| Python | >=3.10,<4 (CPython 3.10--3.14) |
Every OS test job | Drop an end-of-life line only in a documented compatibility release |
| Click | >=8.1,<8.6 |
8.1, 8.2, 8.3, 8.4, and 8.5 lines on Python 3.10 and 3.14; full OS matrix uses the latest 8.5 line | Keep the Click matrix and installed-wheel lanes green before widening the upper bound |
| YAML extra | PyYAML>=6.0,<7 |
6.0 line on Python 3.10 and 3.14 | Install base-cli[yaml]; keep parser behavior covered by profile tests |
The base-cli[yaml] extra is the minimal installation for YAML profiles.
Generic consumers can install the core package without PyYAML.
Optional integrations¶
Optional integrations are intentionally independent of the core window:
| Extra | Declared window | Compatibility evidence |
|---|---|---|
typer |
>=0.25.1,<0.28 |
Typer 0.25.1, 0.26.0, 0.27.1, and 0.27.2 across Python 3.10--3.14; Click 8.2.1 and 8.5 boundaries on Typer 0.25.1/0.27.2 |
rich |
>=13.7,<15 |
Integration tests and graceful-degradation checks |
telemetry |
>=1.24,<2 |
Telemetry integration tests |
Updating a window¶
- Add the candidate lower or upper line to the dependency matrix. The current supported Click window is 8.1 through 8.5; versions outside that window are rejected by package metadata until they are evaluated.
- Run the full test, type-check, documentation, and installed-wheel gates.
- Review release notes and consumer impact, including resolver behavior.
- Update
pyproject.toml, this page, and the API stability contract in one pull request.
An untested major version is not considered supported merely because it can be installed successfully.