All Projects → a8m → Pb

a8m / Pb

Licence: mit
Console progress bar for Rust

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
mp-progress
专注于小程序圆环形进度条的小工具
Stars: ✭ 72 (-82.09%)
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
suru
A tqdm-style progress bar in Nim
Stars: ✭ 40 (-90.05%)
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
GradientProgressView
一个简单的进度条控件
Stars: ✭ 15 (-96.27%)
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

Latest version License Docs Build Status Gitter

Console progress bar for Rust Inspired from pb, support and tested on MacOS, Linux and Windows

Screenshot

Documentation

Examples

  1. 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");
}
  1. 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();
}
  1. 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].