Skip to content
This repository has been archived by the owner on Mar 30, 2020. It is now read-only.
/ progress Public archive

Python module for easy creation of progress bars and progress text

License

Notifications You must be signed in to change notification settings

MisanthropicBit/progress

Repository files navigation

progress v1.3.0

https://travis-ci.org/MisanthropicBit/progress.svg?branch=master

https://coveralls.io/repos/github/MisanthropicBit/progress/badge.svg?branch=master

https://img.shields.io/pypi/v/progress2.svg?maxAge=2592000

https://img.shields.io/pypi/l/progress2.svg?maxAge=2592000

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

Installation:

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

Usage:

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.

Implementation Notes:

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.

About

Python module for easy creation of progress bars and progress text

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages