howudoin 0.1.0

Progress reporting abstraction
Documentation

how-u-doin

Progress reporting abstraction for Rust

howudoin intends to make producing and consuming progress reports simple and ergonomic.

// initialise a consumer loop
howudoin::init(howudoin::consumers::Noop::default());

let rpt = howudoin::new().label("Progress").set_len(10);

for _ in 0..10 {
    rpt.inc(); // increment the progress
    // check for cancellation
    if rpt.cancelled() {
        break;
    }
}

rpt.finish(); // finalise progress

// fetch the tree of progress
let progress = howudoin::fetch();

Features:

  • Lightweight
  • Unobtrusive interface
  • Nestable reports
  • Automatic timers
  • Message accumulation
  • Cancellation

Take a look at the examples for example consumers.

Example terminal consumer

Screenshot from 2023-01-10 15-36-43

Support

Please help support this project by sponsoring 💗