| Crates.io | rustybar |
| lib.rs | rustybar |
| version | 0.5.0 |
| created_at | 2025-12-31 09:45:10.409698+00 |
| updated_at | 2026-01-03 15:22:02.630573+00 |
| description | A lightweight terminal progress bar for Rust programs |
| homepage | |
| repository | |
| max_upload_size | |
| id | 2014370 |
| size | 193,332 |
rustybar is a small, dependency-light progress bar library for Rust that renders clean, modern-looking progress bars in the terminal.
It focuses on three things:
If you are writing downloaders, installers — this is made for that.
Add it to your project with:
cargo add rustybar
use rustybar::ProgressBar;
use std::{thread, time::Duration};
fn main() {
let total = 20_000;
let mut bar = ProgressBar::new("Downloading", 40, total);
let mut done = 0;
while done < total {
done += 500;
bar.tick(done);
thread::sleep(Duration::from_millis(80));
}
}
Run:
cargo run
Run Demo:
cargo run --example demo
Below are real screenshots generated using rustybar while downloading a file.
You can change the bar style:
bar.style(FillStyle::Solid, EmptyStyle::Dash);
Change colors:
bar.color(Color::Cyan, Color::Gray);
Dual-licensed under:
Use it freely in personal and commercial projects.