Packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.
Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.
Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.
However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Adds ANSI color and text formatting (bold, underline, blink, reverse, etc.) to terminal output, with support for named colors, RGB tuples, and automatic terminal capability detection.
Install it if you need ANSI color formatting in any Python CLI, script, or logging system.
Provides bash and zsh tab completion for Python applications using argparse, allowing users to complete command-line arguments and options by pressing Tab.
Install it if you want to add professional-grade tab completion to your Python command-line tools.
Adds colored output to Python's standard logging module, automatically handling terminal detection and color codes across platforms.
Install it if you want colored terminal output without managing ANSI codes yourself.
Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.
Terminado provides a Tornado websocket backend that connects server-side terminal processes to the Xterm.js browser-based terminal emulator, enabling interactive shell access over the web.
Adds terminal support to Jupyter Server, enabling interactive shell sessions within the Jupyter environment through a server extension that manages terminal processes.
Install it if you need terminal access within Jupyter Server.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
Wasabi provides lightweight console printing and formatting with colors, icons, and structured message types (success, failure, warning, info) for terminal output.
Install it if you need simple, consistent colored messages and formatting in CLI tools or libraries.
progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.
Colorful applies ANSI color and text styling to terminal strings using a flexible API that supports multiple color modes and predefined palettes.
Jupyter Console is a terminal-based frontend for Jupyter kernels, allowing interactive console-based interaction with non-Python kernels like Julia and R.
Blessed provides a clean Python interface for terminal styling, colors, keyboard input, and cursor positioning, replacing low-level curses calls with an intuitive API that works across Windows, Mac, Linux, and BSD.
Install it if you're building any terminal UI, need cross-platform keyboard handling, or want to avoid curses complexity.
Records and replays terminal sessions, saving them as timestamped files that can be played back in the terminal or uploaded to asciinema.org for web viewing.
Suitable for one-off or occasional use; not recommended if you require active maintenance or expect to rely on it in production workflows.
Provides ANSI color text output for console applications with automatic color selection based on terminal background (dark or light) across Linux, macOS, and Windows.
Provides GNU readline-like keyboard input handling and text editing for Python on Windows, including text selection, copy/paste, and multi-line code pasting.
However, verify compatibility if you're on a non-Windows platform, as the package is explicitly tested only on Windows 10 despite supporting Python 3.8–3.12.
Pastel adds colored text output to terminal applications using predefined or custom styles, with automatic TTY detection and color disabling support.
However, do not use it for new projects or active development—it is unmaintained since 2020 and will not receive updates.
Jinxed provides pure-Python implementations of curses terminfo functions (setupterm, tigetstr, tparm, and related) that work cross-platform, including Windows, without requiring system curses libraries.
Install it if you're building terminal UIs that must work reliably on Windows.
Yaspin displays an animated terminal spinner to indicate progress during long-running operations, with support for 70+ spinner styles, colors, and text attributes via a context manager or decorator interface.
However, maintenance is aging (251 days since last release), so consider this if you need active bug fixes or Python version support updates; for stable,…
Renders formatted ASCII tables in terminal output from nested lists of strings, with support for multi-line rows and automatic column alignment.
PyWinpty creates and manages pseudoterminals on Windows, allowing Python to spawn and communicate with console processes via ConPTY or the winpty library.
pytube downloads YouTube videos and playlists to local files via Python API or command-line interface, with support for multiple stream formats and quality levels.
Generates shell tab completion scripts for Python CLI applications built with argparse, supporting bash, zsh, fish, and tcsh without runtime overhead.
Install it if you build Python command-line tools and want to offer your users fast, reliable shell completion.
Creates interactive command-line menus where users select options using arrow keys, vim motions, or keyboard shortcuts, with built-in search and multi-select support.
Displays a simple animated spinner in the terminal to show progress when the duration of an operation is unknown, using a context manager interface.
QtConsole is a Qt-based graphical console for Jupyter kernels that provides syntax highlighting, inline figures, and multiline editing in a GUI environment.
The main gotcha is that pip requires manual Qt binding installation; conda users have no friction.
Applies ANSI true color and text styles (bold, italic, underline, etc.) to terminal output using hex color codes or named colors.
Install it if you need to add true color and text effects to terminal output; skip it if your application doesn't interact with terminals or if you're already using a…
Replaces Flask's default shell command with an IPython-powered interactive shell, adding syntax highlighting, tab-completion, and other IPython features to Flask development.
Provides an enum of more than 60 pre-defined terminal spinner animations with frame data and timing, accessible as a Python enum for building loading indicators.
However, maintenance is dormant (last release 2020-02-19); if you need active support or updates to spinner definitions, evaluate alternatives first.
ptpython is an advanced interactive Python shell that replaces the standard REPL with syntax highlighting, multiline editing, autocompletion, and configurable key bindings.
Install it if you spend significant time in the Python REPL and want syntax highlighting, autocompletion, and better editing—it's a straightforward quality-of-life…
Telnet server, client, and protocol library for Python 3.9+ with asyncio and blocking API support, including CLI utilities and a backport of the removed telnetlib module for Python 3.13+.
Install it if you need telnet support, are migrating from the standard library, or are building MUD/BBS infrastructure.
CliKit provides utilities for building command-line interfaces with formatted output and testability features, serving as the foundation for the Cleo CLI framework.
PuDB is a full-screen console-based visual debugger for Python that brings GUI debugger features into the terminal, letting you inspect code, variables, and stack traces with keyboard navigation.
Automatically pipes terminal output to a pager like `less` when needed, preserving colors and respecting redirects, with just one line of code.
Colored provides ANSI/VT100 escape sequences for terminal text coloring and formatting, supporting 256-color and RGB (24-bit) modes across Windows, Linux, and compatible terminal emulators.
Install it if you need to add color to CLI output; skip it only if your application has no terminal component or already uses a heavier framework that bundles…