Problem
The advertised minimum Typer version can be installed with an allowed Click version even though basic invocation and help fail. CI only tests newer Typer releases, leaving the published lower-bound promise unverified.
Verified evidence
Reviewed on 2026-09-17 at 2d67cd24e8d704386f2be7d3a41addc06fb81e17 (local checkout matched GitHub main). Reproduced in isolated macOS environments with Python 3.14.6. Framework default probe environment: Click 8.5.0 and Typer 0.27.2. Demo probes used released base-cli 0.4.3 unless noted.
Installed current framework source with Typer 0.12.0 and Click 8.5.0; dependency resolution succeeds. A one-command attached Typer app with name: str = typer.Option("Ada", "--name") behaves as follows:
--name Ada: exit 2
--help: exit 1, TypeError: Parameter.make_metavar() missing 1 required positional argument: 'ctx'
Control: the exact same source/probe with Typer 0.12.0 and Click 8.1.8 passes both invocations. pyproject permits typer>=0.12,<0.28 and click>=8.1,<8.6; API docs call the lower bounds supported. The Typer CI matrix starts at 0.25.1.
Sources:
Acceptance criteria
- Define the actual supported Typer/Click pairings and align install constraints or the minimum Typer version with them.
- Run minimum and representative boundary combinations against real help, parameter parsing, invocation, errors and lifecycle helpers.
- Keep documentation, adapter error text, package metadata and compatibility dashboard synchronized; document any raised lower bound.
- Coordinate the demo optional dependency range so it does not continue advertising a rejected combination.
Related work
Distinct from the public helper failure on current Typer 0.27.2; this is a resolver/support-window defect.
Project fields
- Status: Backlog
- Priority: P2
- Area: Packaging
- Initiative: v1.0 Readiness
- Size: M
- Assignee: @codeforester
- Milestone: v1.0.0
- Target date: unscheduled
Problem
The advertised minimum Typer version can be installed with an allowed Click version even though basic invocation and help fail. CI only tests newer Typer releases, leaving the published lower-bound promise unverified.
Verified evidence
Reviewed on 2026-09-17 at
2d67cd24e8d704386f2be7d3a41addc06fb81e17(local checkout matched GitHub main). Reproduced in isolated macOS environments with Python 3.14.6. Framework default probe environment: Click 8.5.0 and Typer 0.27.2. Demo probes used released base-cli 0.4.3 unless noted.Installed current framework source with Typer 0.12.0 and Click 8.5.0; dependency resolution succeeds. A one-command attached Typer app with
name: str = typer.Option("Ada", "--name")behaves as follows:Control: the exact same source/probe with Typer 0.12.0 and Click 8.1.8 passes both invocations. pyproject permits
typer>=0.12,<0.28andclick>=8.1,<8.6; API docs call the lower bounds supported. The Typer CI matrix starts at 0.25.1.Sources:
Acceptance criteria
Related work
Distinct from the public helper failure on current Typer 0.27.2; this is a resolver/support-window defect.
Project fields