Skip to content

Progress reporting abstraction for Rust

License

Notifications You must be signed in to change notification settings

kurtlawrence/how-u-doin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

term-line

Support

Please help support this project by sponsoring 💗

About

Progress reporting abstraction for Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published