Skip to content

Add cyclopts - #3368

Merged
JinyangWang27 merged 1 commit into
vinta:masterfrom
DevVettel:replace-fire-with-cyclopts
Oct 11, 2026
Merged

JinyangWang27 merged 1 commit into
vinta:masterfrom
DevVettel:replace-fire-with-cyclopts

Conversation

@DevVettel

@DevVettel DevVettel commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Project

cyclopts

Checklist

  • I read CONTRIBUTING.md - awesome-python is a shortlist, not a catalog
  • One project per PR
  • PR title format: Add project-name
  • Entry format: - [pypi-name](https://github.com/owner/repo) - Description ending with period.
  • Display name is the PyPI package name
  • Placed in an existing use case (new sections and subcategories are maintainer-only)
  • Meets all Quality Requirements: active, stable, documented, at least 1 month old

Which Tier

  • Obvious choice
  • Challenger - not yet the obvious choice, but a credible successor to one. Give adoption-trajectory evidence, not popularity alone.

Explain: cyclopts builds CLIs from type-hinted functions, like typer, but without depending on Click, and it generates help text from docstrings.

  • 69.2M downloads/month. It was created in 2023-11, so it has grown from zero to that level in under 3 years.
  • Repo last pushed 2026-10-09, not archived, regular releases (v5.2.0)

Displacement

CLI Development > General is at its cap (5). This PR replaces fire:

  • fire's last commit on its default branch was 2025-08-16, more than 12 months ago, so it no longer meets the "Active" quality requirement.
  • fire has 17.7M downloads/month, versus cyclopts' 69.2M.
  • Both do the same job: turning plain Python functions or objects into a CLI with very little code. cyclopts does it with type hints and validation, while fire has none.

Evidence fetched 2026-10-09: downloads from pypistats.org recent (last_month), repo state from the GitHub API. make test passes (142 passed).

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JinyangWang27
JinyangWang27 merged commit 9e6ec65 into vinta:master Oct 11, 2026
1 check 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.

2 participants