CLI Development in Python

12 projects in CLI & GUI. Most starred: rich, textual and tqdm.

argparse is in the standard library and needs no dependencies, which matters for small scripts and system tools. Click defines commands with decorators, supports nested command groups and is the mature base for many well-known CLIs. Typer builds on Click and derives arguments and options from type hints, so a typed function becomes a command with little extra code. Cyclopts takes a similar type-hint approach and builds help text from your docstrings. prompt_toolkit handles interactive input with autocompletion, history and key bindings, and powers IPython and ptpython.

For output, Rich renders tables, syntax-highlighted code, progress bars, Markdown and readable tracebacks in the terminal. tqdm wraps any iterable in a progress bar, alive-progress adds animated bars with throughput and ETA, and colorama makes ANSI colors work on older Windows consoles. To build full terminal applications, Textual offers widgets, layouts and CSS-like styling from the makers of Rich, while urwid and asciimatics are older, stable alternatives.

General5

argparseStandard library

Command-line option and argument parsing.

click

A package for creating beautiful command line interfaces in a composable way.

17.8kupdated 18d ago8.5.0

typer

Modern CLI framework that uses Python type hints. Built on Click.

20.2kupdated 9d ago0.27.3

prompt_toolkit

A library for building powerful interactive command lines.

10.6kupdated 4d ago3.0.53

cyclopts

Build CLIs from type-hinted functions, with docstring-based help.

1.3kupdated 1d ago5.3.0

Terminal Rendering4

rich

Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.

57.6kupdated 4mo ago15.0.0

tqdm

Fast, extensible progress bar for loops and CLI.

31.4kupdated 18d ago4.70.1

colorama

Cross-platform colored terminal text.

3.8kupdated 5mo ago

alive-progress

A new kind of Progress Bar, with real-time throughput, eta and very cool animations.

6.3kupdated 5mo ago

TUI Frameworks3

textual

A framework for building interactive user interfaces that run in the terminal and the browser.

37.5kupdated 15d ago8.2.8

urwid

A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.

3kupdated 1d ago4.2.5

asciimatics

A package to create full-screen text UIs (from interactive forms to ASCII animations).

4.3kupdated 3mo ago1.15.0
Esc

Type to search every entry. ↑↓ to move, Enter to open.