High-performance Rust port of Python's popular Rich library.
Beautiful terminal formatting for Rust applications.
Important
This project is currently in Alpha. APIs are subject to change, and some features may be incomplete.
Fast-Rich empowers your terminal applications with rich text, tables, syntax highlighting, markdown rendering, and more, all with an idiomatic and safe Rust API.
Experience the library's breadth with our automated demonstration:
Unicode borders, automatic column alignment, and smart wrapping.
Full support for various themes and languages via syntect.
Multi-threaded tracking with spinners, ETAs, and customizable columns.
Flicker-free, auto-updating content for real-time monitoring.
Render hierarchical data and layouts with ease.
- Rich Text: Use styled text with bold, italic, underline, and RGB/TrueColor support.
- Markdown Rendering: Render headers, lists, and code blocks directly in your terminal.
- Beautiful Logging: Structured, colored, and timestamped logging compatible with the
logcrate.
- Extensible API: Create your own renderables and custom style themes.
Add fast-rich to your Cargo.toml:
[dependencies]
fast-rich = "0.3.2"To enable all features (including Syntax Highlighting and Markdown, which bring in extra dependencies):
[dependencies]
fast-rich = { version = "0.3.2", features = ["full"] }Or pick specific features:
[dependencies]
fast-rich = { version = "0.3.2", features = ["syntax", "markdown", "logging"] }use fast_rich::prelude::*;
fn main() {
let console = Console::new();
// Styled text using markup
console.print("[bold red]Hello[/] [blue]World[/]!");
// Create a table
let mut table = Table::new();
table.add_column("Features");
table.add_column("Status");
table.add_row_strs(&["Rich Text", "β
Ready"]);
table.add_row_strs(&["Tables", "β
Ready"]);
// Render the table
console.print_renderable(&table);
}Detailed guides and API references are available at our official documentation site:
π mohammad-albarham.github.io/fast-rich
- Getting Started: Installation, first steps, and core concepts.
- User Guides: Deep dives into Tables, Progress Bars, Live Display, and more.
- API Reference: Comprehensive technical documentation on
docs.rs. - Examples: Real-world code samples for every feature.
Run the included examples to see features in action:
# Core features
cargo run --example showcase
cargo run --example hero
# Print macros (drop-in replacement for std::print!)
cargo run --example print_shadowing
# Progress bars and spinners
cargo run --example progress_rich
cargo run --example spinner_column_demo
cargo run --example all_spinners_demo
# Other features
cargo run --example syntax_highlighting --features syntax
cargo run --example live_clock
cargo run --example logging --features logging| Feature | Python Rich | Fast-Rich |
|---|---|---|
| Rich Text | β | β |
| Tables | β | β |
| Progress | β | β |
| Live Display | β | β |
| Syntax Highlighting | β | β |
| Markdown | β | β |
| Layouts | β | β |
| Tracebacks | β | β |
| Inspect | β | β |
Contributions are welcome! Please check out CONTRIBUTING.md for guidelines on how to get started.
Thanks to everyone who has contributed to Fast-Rich! π
Special thanks to:
- Everyone who has opened issues to report bugs or request features
- All pull request contributors who helped improve the codebase
- The Python Rich team for the original inspiration
MIT or Apache-2.0







