| Crates.io | rpb |
| lib.rs | rpb |
| version | 0.1.5 |
| created_at | 2022-10-09 18:34:28.711517+00 |
| updated_at | 2022-10-17 16:09:55.258338+00 |
| description | A simple implementation of progress bar for rust |
| homepage | |
| repository | https://github.com/disco07/rpb |
| max_upload_size | |
| id | 684118 |
| size | 10,435,268 |
A simple progress bar for Rust 🦀 projects. I created that because there was a long processes in some project and I didn't know what was the progression.
Add from command line.
cargo add rpb@0.1.5
Or add this to your Cargo.toml file.
[dependencies]
rpb = "0.1.5"
# Or add from github main branch.
rpb = { git = "https://github.com/disco07/rpb.git", branch = "main" }
fn main() {
use rpb::bar::Bar;
use std::thread::sleep;
use std::time;
let mut bar = Bar::new(200);
for _i in 0..200 {
bar.add(1);
sleep(time::Duration::from_millis(50))
}
}
The rpb implements an io writer and io reader so it can automatically detect the number of bytes written to a stream.
use rpb::bar::Bar;
use std::fs::File;
use std::io;
fn main() -> io::Result<()> {
let source = File::open("data.sql")?;
let mut target = File::create("src.sql")?;
let bar = Bar::default_bytes(source.metadata()?.len() as i64, "downloading");
io::copy(&mut bar.reader(source), &mut target).unwrap();
Ok(())
}

Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.