rich
Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal
Decision gist · record as of 2026-08-14
Yes. Rich is actively maintained, has no known vulnerabilities, installs with low friction, and is widely adopted (top 100 on PyPI). It substantially reduces boilerplate for terminal formatting and is the standard choice for styled CLI output in Python.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction with a pure-Python wheel distribution.
- Active maintenance with a recent release on 2026-04-12 and continuous repository activity.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions in commercial and private projects.
last release 2026-04-12 (124 days) · last repo commit 2026-06-23 · 57,070 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 613,852,561 downloads/mo, #52 on PyPI
Alternatives
Verify before relying
pip install rich
from rich.console import Console
console = Console()
console.print("[bold magenta]Hello[/bold magenta] World!")What it is and what it does
Rich is a Python library that makes it simple to add color, styling, and formatted output to terminal applications. It provides a Console object that wraps the standard print interface but adds support for markup-based styling (similar to BBCode), automatic word-wrapping, and rendering of complex structures like tables, progress bars, and syntax-highlighted code.
The library handles terminal compatibility across Linux, macOS, and Windows, with graceful degradation for terminals that don't support true color or emoji. It integrates with markdown-it-py and pygments to render markdown and syntax-highlighted source code directly in the terminal. Rich is commonly used for CLI tools, debugging output, logging, and any application that needs to present data or status information in a visually organized way.
Use it for
- Format CLI tool output with colors, tables, and styled text without manual ANSI escape codes.
- Display progress bars and spinners for long-running operations in terminal applications.
- Pretty-print Python data structures (dicts, lists) with syntax highlighting for debugging.
- Render markdown documentation or help text directly in the terminal.
- Create formatted log output with timestamps and context using the logging handler.
- Build interactive terminal dashboards with tables, panels, and styled status messages.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Rich is actively maintained, has no known vulnerabilities, installs with low friction, and is widely adopted (top 100 on PyPI). It substantially reduces boilerplate for terminal formatting and is the standard choice for styled CLI output in Python.
Install
rich on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release on 2026-04-12 and continuous repository activity.
Requires Python 3.9 or later.
License in practice
MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions in commercial and private projects.
Quickstart
pip install rich
from rich.console import Console
console = Console()
console.print("[bold magenta]Hello[/bold magenta] World!")
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesmarkdown-it-pypygments |
| Maintenance | Actively maintained 124 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 613,852,561 / month, #52 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: IPythonIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Typing :: Typed |
Evidence: rich-15.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pretty print tables and progress bars”
- richRich renders styled text, tables, progress bars, syntax highlighting,…
- enlightenEnlighten is a console progress bar library that displays progress…
- beautifultablePrints tabular data to the terminal in a formatted, visually…
Give your agent the search over MCP, or paste the wish link into any chat.
More Terminals 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.
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.
See also django-rich · enrich · rich-argparse · rich-pixels · rich-toolkit · clint · beaupy · rich-pyfiglet · ascii-colors · rich-click