3 releases
0.1.2 | Mar 1, 2023 |
---|---|
0.1.1 | Jan 10, 2023 |
0.1.0 | Jan 10, 2023 |
#574 in GUI
2,547 downloads per month
Used in 4 crates
44KB
966 lines
how-u-doin
Progress reporting abstraction for Rust
howudoin
intends to make producing and consuming progress reports simple and ergonomic.
Importantly, it separates the progress producers from the consumer, allowing progress reports
to be generated from disparate sections in a system.
// 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
Support
Please help support this project by sponsoring 💗
Dependencies
~0.6–8MB
~64K SLoC