# tqdm
Rust implementation of Python command line progress bar tool [tqdm](https://github.com/tqdm/tqdm/).
From original documentation:
> tqdm derives from the Arabic word taqaddum (تقدّم) which can mean "progress," and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado).
>
> Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you're done!
>

This crate provides a wrapper [Iterator](https://doc.rust-lang.org/core/iter/trait.Iterator.html). It controls multiple progress bars when `next` is called.
Most traits are bypassed with [auto-dereference](https://doc.rust-lang.org/std/ops/trait.Deref.html), so original methods can be called with no overhead.
## Usage
Just wrap anything that implements the [Iterator](https://doc.rust-lang.org/core/iter/trait.Iterator.html) trait with `tqdm`
```rust
use tqdm::tqdm;
for i in tqdm(0..10000) {
...
```
```
Expose trait to allow method chaining
```rust
use tqdm::Iter;
for i in (0..).take(10000).tqdm().style(tqdm::Style::Balloon) {
...
```
```
Multi-threading is also supported!
```rust
use tqdm::tqdm;
use std::thread;
for t in (0..3) {
...
```
```
19%|*****. | 77/400 [00:00<00:03, 83.24it/s]
```
For more usage, please refer to [doc](https://docs.rs/tqdm/latest/tqdm)