kdam

Crates.iokdam
lib.rskdam
version0.6.2
sourcesrc
created_at2022-03-21 11:28:42.773344
updated_at2024-12-10 19:12:33.584858
descriptionA console progress bar library for Rust. (inspired by tqdm & rich.progress)
homepage
repositoryhttps://github.com/clitic/kdam/tree/main/kdam
max_upload_size
id554037
size165,806
Apoorv Sachan (clitic)

documentation

https://docs.rs/kdam

README

kdam

kdam is a console progress bar library for rust. It is port of tqdm library which is written in python. kdam supports almost all features of tqdm except a few. It also supports jupyter notebook same as tqdm does. Some features of tqdm can't be ported directly. So they are implemented in different way like, RowManager which manages multiple progress bars but in tqdm progress bars are automatically managed using nrows. In addition to tqdm existing features kdam also provides extra features such as spinners, charset with fill, gradient colours etc. Since, kdam is written in rust its upto 4 times faster than tqdm.

Instantly make your loops show a smart progress meter. Just wrap any iterator with tqdm!(iterator) macro and you're done!

use kdam::tqdm;

fn main() {
    for _ in tqdm!(0..100) {}
}
100%|█████████████████████████████| 100/100 [00:00<00:00, 25854.49it/s]

kdam also supports different bar animation styles. All available bar animation styles are:

kdam/examples/showcase/animations.rs showcase_animations

kdam also supports rich.progress style bars with customizable columns.

kdam/examples/rich.rs showcase_rich_progress_animation

kdam doesn't restrict you to use default progress bar style. You can create your own progress bar using bar_format template. If you are not satisfied with bar_format limited options then you can also build your own custom progress bar.

This is clone of alive-progress using kdam.

kdam/examples/template.rs showcase_alive_progress_template

If you like colours then you can also create a gradient progress bar.

kdam/examples/coloured/gradient.rs showcase_gradient

Getting Started

Add this to your Cargo.toml file.

[dependencies]
kdam = "0.6.2"

Or add from command line.

$ cargo add kdam

See docs and examples to know how to use it.

License

Dual Licensed

Commit count: 0

cargo fmt