a8m / Pb
Licence: mit
Console progress bar for Rust
Stars: ✭ 402
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Pb
Rsup Progress
❤️ A simple progress bar with promises support
Stars: ✭ 290 (-27.86%)
Mutual labels: progress-bar, progressbar
Tqdm
A Fast, Extensible Progress Bar for Python and CLI
Stars: ✭ 20,632 (+5032.34%)
Mutual labels: progress-bar, progressbar
react-sweet-progress
A way to quickly add a progress bar to react app 🌈
Stars: ✭ 250 (-37.81%)
Mutual labels: progress-bar, progressbar
ffmpeg-progressbar-cli
A colored progress bar for FFmpeg.
Stars: ✭ 140 (-65.17%)
Mutual labels: progress-bar, progressbar
ProBar
this script will allow you to configure a progress bar with a timer with other options
Stars: ✭ 0 (-100%)
Mutual labels: progress-bar, progressbar
cli-progress
⌛ easy to use progress-bar for command-line/terminal applications
Stars: ✭ 672 (+67.16%)
Mutual labels: progress-bar, progressbar
RxActivityIndicator-Android
A small library that helps you keep track of operations progress. It allows you to show progress bar (indicator) in a convenient way.
Stars: ✭ 12 (-97.01%)
Mutual labels: progress-bar, progressbar
LineProgressbar
A light weight jquery progressbar plugin
Stars: ✭ 34 (-91.54%)
Mutual labels: progress-bar, progressbar
LinearProgressView
A simple linear progress view for iOS
Stars: ✭ 103 (-74.38%)
Mutual labels: progress-bar, progressbar
svelte-progressbar
A multiseries, SVG progressbar component made with Svelte
Stars: ✭ 85 (-78.86%)
Mutual labels: progress-bar, progressbar
IJProgressView
A simple progress view written in Swift.
Stars: ✭ 70 (-82.59%)
Mutual labels: progress-bar, progressbar
circlebars
Add circular progress bars and countdown timers easily with circlebars Created by @itaditya. Demo at >
Stars: ✭ 38 (-90.55%)
Mutual labels: progress-bar, progressbar
DownloadPorgressBar
This is a download progressbar.
Stars: ✭ 19 (-95.27%)
Mutual labels: progress-bar, progressbar
React Sweet Progress
A way to quickly add a progress bar to react app 🌈
Stars: ✭ 239 (-40.55%)
Mutual labels: progress-bar, progressbar
shell-progressbar
Make a progress bar GUI on terminal platform (Shell script)
Stars: ✭ 39 (-90.3%)
Mutual labels: progress-bar, progressbar
angular-progress-bar
This component allow you to easy incorporate progress-bar to angular/ionic project, providing binding and color options
Stars: ✭ 26 (-93.53%)
Mutual labels: progress-bar, progressbar
VHProgressBar
Vartical and Horizontal ProgressBar
Stars: ✭ 23 (-94.28%)
Mutual labels: progress-bar, progressbar
Terminal progress bar for Rust
Console progress bar for Rust Inspired from pb, support and tested on MacOS, Linux and Windows
Examples
- simple example
extern crate pbr;
use pbr::ProgressBar;
use std::thread;
fn main() {
let count = 1000;
let mut pb = ProgressBar::new(count);
pb.format("╢▌▌░╟");
for _ in 0..count {
pb.inc();
thread::sleep_ms(200);
}
pb.finish_print("done");
}
- MultiBar example. see full example here
extern crate pbr;
use std::thread;
use pbr::MultiBar;
use std::time::Duration;
fn main() {
let mut mb = MultiBar::new();
let count = 100;
mb.println("Application header:");
let mut p1 = mb.create_bar(count);
let _ = thread::spawn(move || {
for _ in 0..count {
p1.inc();
thread::sleep(Duration::from_millis(100));
}
// notify the multibar that this bar finished.
p1.finish();
});
mb.println("add a separator between the two bars");
let mut p2 = mb.create_bar(count * 2);
let _ = thread::spawn(move || {
for _ in 0..count * 2 {
p2.inc();
thread::sleep(Duration::from_millis(100));
}
// notify the multibar that this bar finished.
p2.finish();
});
// start listen to all bars changes.
// this is a blocking operation, until all bars will finish.
// to ignore blocking, you can run it in a different thread.
mb.listen();
}
- Broadcast writing (simple file copying)
#![feature(io)]
extern crate pbr;
use std::io::copy;
use std::io::prelude::*;
use std::fs::File;
use pbr::{ProgressBar, Units};
fn main() {
let mut file = File::open("/usr/share/dict/words").unwrap();
let n_bytes = file.metadata().unwrap().len() as usize;
let mut pb = ProgressBar::new(n_bytes);
pb.set_units(Units::Bytes);
let mut handle = File::create("copy-words").unwrap().broadcast(&mut pb);
copy(&mut file, &mut handle).unwrap();
pb.finish_print("done");
}
License
MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].