Python Packaging
packaging.python.org › en › latest › guides › creating-command-line-tools
Creating and packaging command-line tools - Python Packaging User Guide
Alternatively, docopt makes it possible to create CLI interfaces based solely on docstrings; advanced users are encouraged to make use of click (on which typer is based). Now, add an empty __init__.py file, to define the project as a regular import package. The file __main__.py marks the main entry point for the application when running it via runpy (i.e. python -m greetings, which works immediately with flat layout, but requires installation of the package with src layout), so initialize the command-line interface here:
Real Python
realpython.com › ref › glossary › command-line-interface
command-line interface (CLI) | Python Glossary – Real Python
Unlike a graphical user interface (GUI), which relies on visual elements like windows, buttons, and menus, a CLI accepts text input and returns text output. Users type exact commands, so they control precisely what a program does. In Python, you can build CLIs for your scripts and applications using the standard library module argparse, or third-party libraries like Click and Typer.
How to create CLI with python
Neither. Just use argparse. Read the docs. More on reddit.com
clypi - Your all-in-one beautiful, lightweight, type-safe, (and now) prod-ready CLIs
Congrats on your project. I'm glad to see CLIs getting the love they deserve. I'm not affiliated with Cyclopts , but I really like it (and mention it frequently). It may be a good addition to your Comparison list. More on reddit.com
Create a CLI Tool with Python: From Zero to Hero
any reason you are still using setup.py? More on reddit.com
CLI package recommendations, Click or Typer
For your first CLI tool I would just use `argparse`. It's worth knowing how to use because it's always available and doesn't require any extra dependencies. It's also *significantly* faster than all of the alternatives. If you're launching a long process this may not matter, but if it's a CLI for short lived commands the import time alone of some of these libraries can be a significant chunk of your runtime. More on reddit.com
25:12
How to Build a Python CLI Tool People Actually Want to Use - YouTube
06:31
I Built a Python CLI Tool From a 3-Minute Voice Rant - YouTube
12:54
The Easiest Way to Make a Python CLI - YouTube
14:17
How To Build a Simple Command Line Tool with Python 2022 - YouTube
01:17
Reviewing CLI Applications (Video) – Real Python
Thomas Stringer
trstringer.com › easy-and-nice-python-cli
The easy (and nice) way to do CLI apps in Python | Thomas Stringer
October 20, 2016 - So I reached out to the community to find what the better way is (I hate to say “best”, as possibly there is something that is better than this). “CLI” stands for “command line interface”. It’s a type of application that is invoked through the command-line/terminal/shell/whatever.
Reddit
reddit.com › r/learnpython › how to create cli with python
r/learnpython on Reddit: How to create CLI with python
March 29, 2026 -
I want to make a CLI program in python but I dont know how to do it. I heard a bunch of ways to do a CLI program like use typer or fire but I dont know which is the better option. So I am here to look for an answer of which is the best option to build this type of program in python (It doesn't have to be one of the examples I mentioned)
Top answer 1 of 8
29
Neither. Just use argparse. Read the docs.
2 of 8
16
You don't need a framework or library. Python programs are CLI by default, until you add a GUI. If you want to parse arguments more elaborately than the language itself provides, you can use argparse which is part of the built in standard library. Similarly you can use curses for colors and cursor movements.
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.
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 - Best for: Beautiful interactive prompts (like a CLI wizard) Think of those setup wizards that ask you questions one by one — project name, choose a template, confirm settings. That’s what these libraries do. ... And it handles empty input, retries, and even custom validators automatically. Best for: Progress bars for loops and long operations · TQDM (from Arabic “taqaddum” = progress) is the standard for progress bars in Python.
Bluebeansoftware
web.bluebeansoftware.com › writing-a-simple-python-cli-script
Writing a simple Python CLI script – Blue Bean Software
To run this script we type python3 helloworld.py at the command prompt in the directory where we saved it.
Simon Willison
simonwillison.net › 2023 › Sep › 30 › cli-tools-python
Things I’ve learned about building CLI tools in Python
September 30, 2023 - I build a lot of command-line tools in Python. It’s become my favorite way of quickly turning a piece of code into something I can use myself and package up for other people to use too. My biggest CLI projects are sqlite-utils, LLM, shot-scraper and Datasette—but I have dozens of others and I build new ones at the rate of at least one a month.
GeeksforGeeks
geeksforgeeks.org › python › command-line-interface-programming-python
Command Line Interface Programming in Python - GeeksforGeeks
This article discusses how you can create a CLI for your python programs using an example in which we make a basic "text file manager".
Published: March 7, 2022
Click Documentation
click.palletsprojects.com
Welcome to Click — Click Documentation (8.5.x)
Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.