![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 taqadum, تقدّم) 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, 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]. 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