Allows for easy creation of progress-bars and text.
progress
has been tested with Python 2.6, 2.7, 3.3, 3.4 and PyPy, and as of now requires at least Python 2.6
Note: PyPI already contains a progress
entry, so this module is located
at progress2.
You can install via pip:
pip install progress2
Alternatively, download the source files and run the following command from the download directory:
python setup.py install
Creating a ProgressBar
:
>>> import progress >>> bar = progress.ProgressBar("[{progress}] {percentage:.2f}% ({minutes}:{seconds})", width=30) >>> bar.show() [ ] 0.00% (0:0)>>> >>> bar.update(26) >>> bar.show() [======> ] 26.00% (0:0)>>> >>>
Alternatively, you can use the autoupdate
method:
>>> bar.autoupdate(42) [===================> ] 68.00% (0:45)>>> >>>
Creating a ProgressText
:
>>> text = progress.ProgressText("Searching: {progress}", "|/-\\", autoreset=True) >>> text.show() |>>> >>> text.update(); text.show() />>> >>> text.update(); text.show() ->>> >>> text.update(); text.show() \>>>
You can supply custom args and kwargs to show
and autoupdate
:
>>> bar = progress.ProgressBar("[{progress}] {key} {},{},{}") >>> d = dict(key=33) >>> l = range(3) >>> bar.update(50) >>> bar.show(*l, **d) [=========> ] 33 0,1,2>>> >>> bar.autoupdate(25, *l, **d) [==============> ] 33 0,1,2>>> >>>
Refer to the examples/
directory for more examples. There are also examples
of how to use progress
with the threading
module.
Since most terminals cannot clear their output buffers across newlines or carriage returns,
progress
does not work if you insert them, e.g. progress.ProgressBar("{progress}\n{percentage}")
will not be cleared from the terminal.