CLI & GUI

Listed by section, in editorial order. Click a column header to re-sort the whole list.

Press / to search. Tags open their category. Click a row for details.

Search and filter

Results

Row number Tags

CLI Development 12 projects

Python's own argparse covers basic command-line apps. Beyond that, pick Click or Typer as your Python CLI library, and style the output with Rich.

(Python standard library) Command-line option and argument parsing.
A package for creating beautiful command-line interfaces in a composable way.
pallets/github.com/pallets/click /17,806 stars /
Modern CLI framework that uses Python type hints. Built on Click.
fastapi/github.com/fastapi/typer /20,232 stars /
A library for building powerful interactive command lines.
Build CLIs from type-hinted functions, with docstring-based help.
BrianPugh/github.com/BrianPugh/cyclopts /1,284 stars /
Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.
Textualize/github.com/Textualize/rich /57,672 stars /
Fast, extensible progress bar for loops and CLI.
tqdm/github.com/tqdm/tqdm /31,372 stars /
Cross-platform colored terminal text.
tartley/github.com/tartley/colorama /3,796 stars /
A new kind of progress bar, with real-time throughput, ETA and very cool animations.
rsalmei/github.com/rsalmei/alive-progress /6,319 stars /
A framework for building interactive user interfaces that run in the terminal and the browser.
Textualize/github.com/Textualize/textual /37,545 stars /
A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
urwid/github.com/urwid/urwid /3,026 stars /
A package to create full-screen text UIs (from interactive forms to ASCII animations).

CLI Tools 10 projects

Swap cURL for HTTPie, and your database's own client for a Python CLI tool with autocompletion: pgcli, mycli, litecli, or IRedis.

PostgreSQL CLI with autocompletion and syntax highlighting.
dbcli/github.com/dbcli/pgcli /13,426 stars /
MySQL CLI with autocompletion and syntax highlighting.
dbcli/github.com/dbcli/mycli /11,987 stars /
SQLite CLI with autocompletion and syntax highlighting.
dbcli/github.com/dbcli/litecli /3,319 stars /
Redis CLI with autocompletion and syntax highlighting.
laixintao/github.com/laixintao/iredis /2,762 stars /
A command-line video downloader for YouTube and other sites, a fork of youtube-dl.
yt-dlp/github.com/yt-dlp/yt-dlp /203,704 stars /
A command-line HTTP client, a user-friendly cURL replacement.
httpie/github.com/httpie/cli /38,679 stars /
A command-line utility that creates projects from cookiecutters (project templates).
A library and command-line utility for rendering project templates.
copier-org/github.com/copier-org/copier /3,666 stars /
A Python-powered shell. Full-featured and cross-platform.
xonsh/github.com/xonsh/xonsh /9,684 stars /
A tmux session manager.
tmux-python/github.com/tmux-python/tmuxp /4,593 stars /

GUI Development 12 projects

Desktop apps with room to grow start on Qt, through PySide6. A small tool needs no third-party Python GUI library, since tkinter is in the standard library.

Python bindings for GLib/GObject/GIO/GTK.
GNOME/github.com/GNOME/pygobject /160 stars /
A simple GPU-accelerated Python GUI framework.
hoffstadt/github.com/hoffstadt/DearPyGui /15,653 stars /
An open-source cross-platform GUI framework for desktop, mobile, and embedded devices.
kivy/github.com/kivy/kivy /19,030 stars /
A cross-platform GUI toolkit that wraps the wxWidgets C++ library.
wxWidgets/github.com/wxWidgets/Phoenix /2,631 stars /
A Python-native, OS-native GUI toolkit.
beeware/github.com/beeware/toga /5,425 stars /
Qt for Python offers the official Python bindings for Qt, largely API-compatible with PyQt6 but with different licensing.
pyside/github.com/pyside/pyside-setup /135 stars /
Python bindings for the Qt cross-platform application and UI framework.
(Python standard library) The standard Python interface to the Tcl/Tk GUI toolkit.
A modern and customizable Python UI library based on Tkinter.
A lightweight cross-platform native wrapper around a webview component.
r0x0r/github.com/r0x0r/pywebview /6,144 stars /
An easy-to-use, Python-based UI framework, which shows up in your web browser.
zauberzeug/github.com/zauberzeug/nicegui /16,330 stars /
Cross-platform GUI framework for building modern apps in pure Python.
flet-dev/github.com/flet-dev/flet /17,470 stars /

Know a project that belongs here?

Tell us what it does and why it stands out.