Rich is a Python library for writing rich text (with color and formatting) to the terminal, and for rendering rich content such as tables, markdown, syntax highlighted code.

Use Rich to make command line applications more visually appealing and present data in a more readable way. Rich can also be a useful debugging aid by pretty printing and syntax highlighting data structures.


You can install Rich with from PyPi with pip or your favorite package manager:

pip install rich

Add the -U switch to update to the current version, if Rich is already installed.

Quick Start

The quickest way to get up and running with Rich is to import the alternative print function, which can be used as a drop-in replacement for Python’s built in function. Here’s how you would do that:

from rich import print

You can then print content to the terminal in the usual way. Rich will pretty print and syntax highlight any Python objects you print, and display the file/line where the print function was called.

Strings may contain Console Markup which can be used to easily insert color and styles in to the output.

The following demonstrates both console markup and pretty formatting of Python objects:

>>> print("[italic red]Hello[/italic red] World!", locals())

This writes the following output to the terminal (including all the colors and styles):

Hello World!                                                 <stdin>:1
    '__annotations__': {},
    '__builtins__': <module 'builtins' (built-in)>,
    '__doc__': None,
    '__loader__': <class '_frozen_importlib.BuiltinImporter'>,
    '__name__': '__main__',
    '__package__': None,
    '__spec__': None,
    'print': <function print at 0x1027fd4c0>,

If you would rather not shadow Python’s builtin print, you can import rich.print as rprint (for example):

from rich import print as rprint

Continue reading to learn about the more advanced features of Rich.