mirror of https://github.com/tqdm/tqdm.git
113 lines
3.3 KiB
Markdown
113 lines
3.3 KiB
Markdown
![Logo](logo.png)
|
|
|
|
# tqdm
|
|
|
|
[![Build Status](https://travis-ci.org/tqdm/tqdm.svg?branch=master)](https://travis-ci.org/tqdm/tqdm)
|
|
[![Coverage Status](https://coveralls.io/repos/tqdm/tqdm/badge.svg)](https://coveralls.io/r/tqdm/tqdm)
|
|
|
|
tqdm (read ta<i>qa</i>dum, تقدّم) means "progress" in arabic.
|
|
|
|
Instantly make your loops show a progress meter - just wrap any iterable with
|
|
"tqdm(iterable)", and you're done! Here's what the output looks like:
|
|
|
|
76%|████████████████████` ` ` ` ` ` | 7641/10000 [00:34<00:10, 222.22 it/s]
|
|
|
|
You can also use `trange(N)` as a shortcut for `tqdm(xrange(N))`
|
|
|
|
![Screenshot](tqdm.gif)
|
|
|
|
Overhead is low -- about 55ns per iteration. By comparison, our esteemed
|
|
competition, [ProgressBar](https://code.google.com/p/python-progressbar/), has
|
|
an 878ns/iter overhead. It's a matter of taste, but we also like to think our
|
|
version is much more visually appealing.
|
|
|
|
## Installation
|
|
|
|
```sh
|
|
pip install tqdm
|
|
# or
|
|
pip install -e git+https://github.com/tqdm/tqdm.git#egg=master
|
|
```
|
|
|
|
## Documentation
|
|
|
|
```python
|
|
def tqdm(iterable, desc=None, total=None, leave=False, file=sys.stderr,
|
|
ncols=None, mininterval=0.1, miniters=None, ascii=None, disable=False):
|
|
"""
|
|
Decorate an iterable object, returning an iterator which acts exactly
|
|
like the orignal iterable, but prints a dynamically updating
|
|
progressbar.
|
|
|
|
Parameters
|
|
----------
|
|
iterable : iterable
|
|
Iterable to decorate with a progressbar.
|
|
desc : str, optional
|
|
Prefix for the progressbar.
|
|
total : int, optional
|
|
The number of expected iterations. If not given, len(iterable) is
|
|
used if possible. As a last resort, only basic progress statistics
|
|
are displayed.
|
|
file : `io.TextIOWrapper` or `io.StringIO`, optional
|
|
Specifies where to output the progress messages.
|
|
Uses file.write(str) and file.flush() methods.
|
|
leave : bool, optional
|
|
if unset, removes all traces of the progressbar upon termination of
|
|
iteration [default: False].
|
|
ncols : int, optional
|
|
The width of the entire output message. If sepcified, dynamically
|
|
resizes the progress meter [default: None]. The fallback meter
|
|
width is 10.
|
|
mininterval : float, optional
|
|
Minimum progress update interval, in seconds [default: 0.1].
|
|
miniters : int, optional
|
|
Minimum progress update interval, in iterations [default: None].
|
|
ascii : bool, optional
|
|
If not set, use unicode (▏▎▋█ █) to fill the meter
|
|
[default: False]. The fallback is to use ASCII characters (1-9 #).
|
|
disable : bool
|
|
Disable the progress bar if True [default: False].
|
|
|
|
Returns
|
|
-------
|
|
out : decorated iterator.
|
|
"""
|
|
|
|
def trange(*args, **kwargs):
|
|
"""
|
|
A shortcut for tqdm(xrange(*args), **kwargs).
|
|
On Python3+ range is used instead of xrange.
|
|
"""
|
|
```
|
|
|
|
## Contributions
|
|
|
|
To run the testing suite please make sure tox (http://tox.testrun.org/)
|
|
is installed, then type `tox` from the command line.
|
|
|
|
Alternatively if you don't want to use `tox`, a Makefile is provided with the
|
|
following command:
|
|
|
|
```sh
|
|
$ make flake8
|
|
$ make test
|
|
$ make coverage
|
|
```
|
|
|
|
## License
|
|
|
|
[MIT LICENSE](LICENSE).
|
|
|
|
|
|
## Authors
|
|
|
|
- noamraph (original author)
|
|
- JackMc
|
|
- arkottke
|
|
- obiwanus
|
|
- fordhurley
|
|
- kmike
|
|
- hadim
|
|
- casperdcl
|