Skip to content

fix: align supported Typer and Click ranges for #360 - #374

Open
codeforester wants to merge 1 commit into
mainfrom
bug/360-20260918-typer-click-window
Open

codeforester wants to merge 1 commit into
mainfrom
bug/360-20260918-typer-click-window

Conversation

@codeforester

Copy link
Copy Markdown
Contributor

Part of #360. This PR aligns base-cli metadata, documentation, examples, and the in-repository Beacon consumer with the Typer versions exercised by CI. It does not close #360: the separate base-cli-demo package still advertises Typer >=0.12, and its open PR #37 already edits that repository’s pyproject.toml; that consumer change needs a coordinated follow-up.\n\n### Changes\n- Raise the optional Typer extra minimum from 0.12 to the tested 0.25.1 line.\n- Document the effective Click range for the Typer extra: Typer requires Click >=8.2.1, while Click 8.1 remains core-only.\n- Add an eight-case boundary matrix across Click 8.2.1/8.5.0, Typer 0.25.1/0.27.2, and Python 3.10/3.14.\n- Synchronize adapter guidance, API/dependency docs, examples, Beacon metadata, changelog, and generated compatibility dashboard.\n\n### Validation\n- Full local validation passed: 526 tests, 193 subtests, 87.21% coverage, typing, style, contracts, benchmark, and security gates.\n- Typer adapter tests passed on Python 3.14 for all four valid Click/Typer boundary pairs.\n- Resolver correctly rejects Click 8.1.8 with Typer 0.25.1; Click 8.1 remains tested independently for the core API.

with:
python-version: ${{ matrix.python-version }}
- name: Install framework and supported Typer adapter
run: python -m pip install ".[dev,typer]"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correctness/CI risk: the new typer-click-boundaries job installs .[dev,typer] without the setuptools<77/wheel pre-pin that the sibling typer-matrix job (lines 30-34) applies for the same Python 3.10/3.14 range. If that pin exists because a bare pip install ".[dev]" fails on some Python version in this range on a fresh runner, this new job is exposed to the same failure mode since it spans the same versions but omits the guard.

strategy:
fail-fast: false
matrix:
include:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainability: this 8-entry matrix.include is a full cross product of three 2-value axes written out by hand instead of plain matrix arrays. A future edit to add a third value to any axis requires manually appending 4 more entries, and a copy-paste slip could silently produce a duplicate combination + a missing one with no test catching it. Suggest python-version: ["3.10","3.14"], typer-version: ["0.25.1","0.27.2"], click-version: ["8.2.1","8.5.0"] for the identical cross product with no duplication risk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: align supported Typer and Click combinations with dependency constraints

1 participant