Skip to content

WIP: merge Click and Typer functionality#1653

Draft
svlandeg wants to merge 9 commits intofastapi:drop-clickfrom
svlandeg:feat/continue-vendor
Draft

WIP: merge Click and Typer functionality#1653
svlandeg wants to merge 9 commits intofastapi:drop-clickfrom
svlandeg:feat/continue-vendor

Conversation

@svlandeg
Copy link
Copy Markdown
Member

@svlandeg svlandeg commented Mar 25, 2026

WIP

Continue work from #1525 and #1601, vendoring Click.

At several places in Typer's codebase, we override/subclass Click's behaviour. This PR simplifies the code in these cases, as we don't need to keep legacy Click code around anymore.

In practice, this moves a lot of code around while also making edits to those code bits. It's probably slightly easier to review this PR commit-by-commit, though it'll still be somewhat rough to review.

0% vibe-coded, 100% manually-executed refactor to (try and) ensure high quality & reduce unexpected errors.

Checklist

  • Merge Command functionality from Typer & Click
  • Merge Group functionality from Typer & Click
  • Make Parameter an abstract class in Typer's core module
  • Merge Argument functionality from Typer & Click
  • Merge Option functionality from Typer & Click
  • Merge Path functionality from Typer & Click
  • Move Context into a separate Python module
  • Merge Choice functionality from Typer & Click
  • Merge ShellComplete classes from _click.shell_completion and typer._completion_classes

@svlandeg svlandeg changed the title merge _click.Path and TyperPath WIP: merge Click and Typer functionality Mar 25, 2026
@svlandeg svlandeg self-assigned this Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants