Skip to content

fix(deps): give the five unbounded dependencies a lower bound - #79

Merged
lesnik512 merged 1 commit into
mainfrom
fix/dependency-floors
Sep 20, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
fix/dependency-floors

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Closes #78.

typer, rich, semver, pydantic-settings and httpx2 were each declared as a bare name, so the declared range admitted every release ever published. semver resolved to 0.0.1, which does not build:

Failed to build `semver==0.0.1`

The package did not install at its own declared minimum on any supported Python.

The floors

Each bisected against the suite, not guessed:

dependency floor
typer >=0.13
rich >=10.2
semver >=3
pydantic-settings >=2
httpx2 >=2

semver 2 and 3 differ substantially in API; 3.0.0 is the first release this code works against, which confirms it is written for v3.

Verification

uv pip install --resolution lowest-direct . then the full suite:

interpreter result
3.11 481 passed
3.14 481 passed

just lint-ci clean. Normal resolution: 481 passed.

Nothing changes at the top of the range, so this is inert for anyone not installing at the lower bound.

typer, rich, semver, pydantic-settings and httpx2 were declared as bare
names, so the range admitted every release ever published and semver
resolved to 0.0.1, which does not build. Each floor bisected against the
suite rather than guessed.

Closes #78
@lesnik512
lesnik512 merged commit 8661e9d into main Sep 20, 2026
9 checks passed
@lesnik512
lesnik512 deleted the fix/dependency-floors branch September 20, 2026 13:59
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.

semver is declared with no lower bound, so the declared minimum does not install

1 participant