[One Package Per Day] Make Your Terminal Beautiful with rich
By JoeVu, at: June 18, 2025, 3:19 p.m.
Estimated Reading Time: __READING_TIME__ minutes
![[One Package Per Day] Make Your Terminal Beautiful with rich](/media/filer_public_thumbnails/filer_public/24/c5/24c558a5-3e71-4aa0-871f-2f7996389bfa/one_package_per_day_rich_python.png__1500x900_q85_crop_subsampling-2_upscale.jpg)
![[One Package Per Day] Make Your Terminal Beautiful with rich](/media/filer_public_thumbnails/filer_public/24/c5/24c558a5-3e71-4aa0-871f-2f7996389bfa/one_package_per_day_rich_python.png__400x240_q85_crop_subsampling-2_upscale.jpg)
At Glinteco, we love tools that improve developer experience while keeping things clean and professional. Today in our One Package Per Day series, let’s explore rich, a Python library that makes your terminal output stunningly beautiful and highly readable.
What is rich
?
Think of rich
as a makeover artist for your terminal. It lets you add colors, tables, progress bars, markdown, code highlighting, and more.
It's developed by Will McGugan (who also created the textual
library), and it’s grown into one of the most popular Python packages for terminal UI.
You can use it in small scripts or build entire dashboards with it.
How to Install It
It’s simple. Just run:
pip install rich
That’s it. You’re ready to go.
Try It Out
Let’s start with something basic:
from rich import print
print("[bold magenta]Hello[/bold magenta] [green]Glinteco![/green]")
You’ll see the words “Hello Glinteco!” pop with color and style in your terminal.
Or if you want cleaner logs:
from rich.console import Console
console = Console()
console.log("Starting server...")
This gives you timestamps and beautiful output. Super useful when debugging or showing status updates.
Why We Love It
Here are a few reasons rich stands out:
-
You can style your text: bold, italic, underline, color, background
-
It has tables that look like they came from a design system
-
You can show code with syntax highlighting (perfect for documentation or debugging)
-
There are progress bars that actually look good and are easy to update
-
It even supports Markdown, so your README can live right inside your CLI tool
When to Use It
rich
fits in so many places. Here are a few we’ve used it for:
-
Making CLI tools more user-friendly.
-
Printing data (like JSON or Python objects) in a way that’s easy to read.
-
Visualizing system logs or debug info.
-
Tracking long-running tasks with progress bars.
-
Displaying health check dashboards in internal tools.
Watch Out For These
While rich is a fantastic package, here are a couple of things to keep in mind:
-
If you don’t see colors, your terminal might not support ANSI codes. Try a different terminal (iTerm2, VSCode, etc.).
-
If you get import errors, make sure you installed it in the right Python environment. A quick pip list can help you check.
Performance Thoughts
Despite all its features, rich is pretty fast. It’s written with performance in mind and works well even in CI pipelines or Docker containers.
Unless you’re building something extremely resource-sensitive, you’ll be just fine.
What’s Good and What’s Not
What we love:
-
The output looks great, even with minimal effort.
-
It’s easy to pick up, even for beginners.
-
Perfect for both small scripts and big dev tools.
-
The documentation is top-notch.
What to be aware of:
-
Some old-school servers or environments may not support the formatting.
-
If you go overboard with colors and effects, it can become cluttered.
So use it wisely, like adding seasoning to a good dish.
Final Thoughts
rich is one of those tools you try once and wonder why you didn’t use it earlier. It makes your work cleaner, easier to read, and honestly, a bit more fun.
At Glinteco, we use it in scripts, internal tools, and anything we share across the team. If you work in Python and haven’t checked it out yet, now’s the time.
Learn More