Reddit
reddit.com › r/learnpython › which frameworks are you using to build python cli tools?
r/learnpython on Reddit: Which frameworks are you using to build Python CLI tools?
June 17, 2024 -
I want to build a CLI code-gen tool that essentially adds bits of boiler-plate code to your project. Think wrappers for 3rd party integrations and so on. Any de-facto standards?
Top answer 1 of 4
7
I usually use click to create CLIs, I'm pretty happy with it.
2 of 4
2
Typer is what I use. Wrapper over click with some type hinting benefits. Created by the same guy who made FastAPI.
clypi - Your all-in-one beautiful, lightweight, type-safe, (and now) prod-ready CLIs Mar 29, 2025
r/Python last yr.
GitHub
github.com › shadawck › awesome-cli-frameworks
GitHub - shadawck/awesome-cli-frameworks: Collection of tools to build beautiful command line interface in different languages · GitHub
Silly : Silly CLI micro-framework based on Symfony Console. Symfony/Console : The Console component of symfony eases the creation of beautiful and testable command line interfaces. Optparse : Applicative option parser. Argparse : Argparse is the default python module for creating command lines programs.
Do plugins have to be Python packages?
For the entry-points mechanism, yes — that is what makes installation the registration step and gives you version metadata for free. Directory-scanning plugin systems avoid the packaging requirement but give up dependency resolution, versioning and uninstallation, which is a poor trade for anything that outlives a prototype.
python-cli-toolcraft.com
python-cli-toolcraft.com › home › python cli frameworks and architecture
Python CLI Frameworks and Architecture · Python CLI Toolcraft
Should I start a new CLI with argparse or go straight to Typer?
Go straight to Typer unless a dependency is genuinely unacceptable. The moment a tool has two subcommands, the things Typer gives you for free — nested groups, shell completion, conversion and validation with readable errors, a test runner — are exactly the code you would otherwise write and maintain by hand. argparse remains the right answer for a bootstrap script, an installer, or anything that ships into an environment where you cannot add packages.
python-cli-toolcraft.com
python-cli-toolcraft.com › home › python cli frameworks and architecture
Python CLI Frameworks and Architecture · Python CLI Toolcraft
Can one codebase expose the same functionality as a CLI and a library?
Yes, and it is the natural consequence of keeping core/ free of framework imports. The library is core/; the CLI is a thin adapter over it. What breaks the arrangement is letting CLI concerns leak downward — a core function that prints, prompts, or calls sys.exit is one that cannot be imported by anything else. Return values and raise exceptions; let the adapter decide how they are rendered.
python-cli-toolcraft.com
python-cli-toolcraft.com › home › python cli frameworks and architecture
Python CLI Frameworks and Architecture · Python CLI Toolcraft
Builtoncement
builtoncement.com
Cement - CLI Application Framework for Python
The most advanced, and feature-full CLI framework for Python development.
Medium
medium.com › @wilson79 › 10-best-python-cli-libraries-for-developers-picking-the-right-one-for-your-project-cefb0bd41df1
10+ Best Python CLI Libraries for Developers: Picking the Right One for Your Project | by Wilson | Medium
February 3, 2026 - You point it at any Python function, class, or module, and it automatically generates a CLI. No decorators, no configuration. ... When NOT to use it: Production tools where you need precise control over arguments and help text. Best for: Large, complex CLI applications (think enterprise-level) Cement is a full application framework for CLIs.
pytz
pythonhosted.org › pyCLI
cli — command line tools — pyCLI devel documentation
The cli package is a framework for making simple, correct command line applications in Python. With cli, you can quickly add standard command line parsing; logging; unit and functional testing; and profiling to your CLI apps.
Simon Willison
simonwillison.net › 2023 › Sep › 30 › cli-tools-python
Things I’ve learned about building CLI tools in Python
September 30, 2023 - Almost all of my tools are built using the Click Python library.
Medium
medium.com › top-python-libraries › typer-powerful-python-cli-framework-with-type-hints-6b16654daac7
Typer: Powerful Python CLI Framework with Type Hints | by Meng Li | Top Python Libraries | Medium
May 12, 2025 - Typer was created by the team behind FastAPI, with a design philosophy of “writing the CLI programs you want to use — loved by users and adored by developers.” Leveraging modern Python type hints, Typer not only auto-generates help documentation but also offers powerful command autocompletion.
Abilian
lab.abilian.com › Tech › Python › CLI › CLI in Python
CLI in Python - Abilian Innovation Lab
July 24, 2025 - Click: a popular Python CLI framework that is built on top of optparse.