Dependency support matrix

September 1, 2026 ยท View on GitHub

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

DependencyDeclared windowCI coveragePolicy
Python>=3.10,<4 (CPython 3.10--3.14)Every OS test jobDrop an end-of-life line only in a documented compatibility release
Click>=8.1,<8.68.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 lineKeep the Click matrix and installed-wheel lanes green before widening the upper bound
YAML extraPyYAML>=6.0,<76.0 line on Python 3.10 and 3.14Install 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:

ExtraDeclared windowCompatibility evidence
typer>=0.12,<0.28Typer 0.25.1, 0.26.0, 0.27.1, and 0.27.2 across Python 3.10--3.14
rich>=13.7,<15Integration tests and graceful-degradation checks
telemetry>=1.24,<2Telemetry integration tests

Updating a window

  1. 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.
  2. Run the full test, type-check, documentation, and installed-wheel gates.
  3. Review release notes and consumer impact, including resolver behavior.
  4. 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.