Skip to content

Move CLI deps (typer, rich) to optional [cli] extra#42

Merged
snopoke merged 1 commit intomainfrom
sk/separeate-sdk-deps
May 5, 2026
Merged

Move CLI deps (typer, rich) to optional [cli] extra#42
snopoke merged 1 commit intomainfrom
sk/separeate-sdk-deps

Conversation

@snopoke
Copy link
Copy Markdown
Collaborator

@snopoke snopoke commented May 5, 2026

Summary

  • Drop typer[all] <0.10.0 from core dependencies; SDK-only users (pip install taskbadger) no longer pull typer or rich
  • Add [cli] optional extra (typer >=0.12, rich >=13.0) — install with pip install 'taskbadger[cli]'
  • cli_main.py now exits with a friendly install hint if typer/rich are missing instead of raising ImportError
  • Tolerate modern typer/click passing empty --tag/--metadata list options as None
  • Bump default_language_version in pre-commit to python3.12 (3.11 was no longer broadly installed)

Closes #41 — the old typer[all] <0.10.0 pin was over two years stale and conflicted with downstream packages (e.g. mcp-alchemy) that need a newer typer.

Test plan

  • uv run pytest -v — all CLI tests pass against typer 0.19.2 (one pre-existing flake in test_celery::test_task_map is unrelated; passes in isolation)
  • import taskbadger works without typer installed
  • Verified the taskbadger script prints the friendly install message when typer is unavailable
  • CI matrix passes across Python 3.10–3.14

🤖 Generated with Claude Code

SDK-only consumers no longer pull in typer or rich, and the typer pin
is bumped from <0.10 (2+ years stale) to >=0.12 so it stops conflicting
with downstream packages like mcp-alchemy. Running the `taskbadger` CLI
without the extra installed now prints a friendly install hint instead
of an ImportError. Also handle modern typer/click passing empty list
options as None.

Bump pre-commit's pinned default Python from 3.11 to 3.12 so contributors
without 3.11 installed locally can still run hooks.

Closes #41

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@snopoke snopoke merged commit f39f170 into main May 5, 2026
6 checks passed
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.

typer version is pinned to something very old

1 participant