Progress reporting abstraction for Rust
howudoin
intends to make producing and consuming progress reports simple and ergonomic.
```rust // 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.
Please help support this project by sponsoring 💗