Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install progress

How to install progress

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install progress
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0.2
1.1Never BuiltWhy not?
1.0.2 Available View build log
1.0.1 Available View build log
1.0.1
1.1Never BuiltWhy not?
1.0.1 Available View build log
Windows (64-bit)
1.0.1
1.1Never BuiltWhy not?
1.0.1 Available View build log
1.0.1
1.1Never BuiltWhy not?
1.0.1 Available View build log
Mac OS X (10.5+)
1.0.2
1.1Never BuiltWhy not?
1.0.2 Available View build log
1.0.1 Available View build log
1.0.1
1.1Never BuiltWhy not?
1.0.2 Failed View build log
1.0.1 Available View build log
Linux (32-bit)
1.0.2
1.1Never BuiltWhy not?
1.0.2 Available View build log
1.0.1 Available View build log
1.0.1
1.1Never BuiltWhy not?
1.0.2 Failed View build log
1.0.1 Available View build log
Linux (64-bit)
1.1 Available View build log
1.0.2 Available View build log
1.0.1 Available View build log
1.0.1
1.1Never BuiltWhy not?
1.0.2 Failed View build log
1.0.1 Available View build log
1.1 Available View build log
1.0.2 Available View build log
 
License
ISC
Imports
Lastest release
version 1.1 on Sep 20th, 2013

Easy progress reporting for Python

Bars

There are 6 progress bars to choose from:

  • Bar
  • ChargingBar
  • FillingSquaresBar
  • FillingCirclesBar
  • IncrementalBar
  • ShadyBar

To use them, just call next to advance and finish to finish.

from progress.bar import Bar

bar = Bar('Processing', max=20)
for i in range(20):
    # Do some work
    bar.next()
bar.finish()

The result will be a bar like the following:

Processing |#############                   | 42/100

To simplify the common case where the work is done in an iterator, you can use the iter method.

for i in Bar('Processing').iter(it):
    # Do some work

Progress bars are very customizable, you can change their width, their fill character, their suffix and more.

bar = Bar('Loading', fill='@', suffix='%(percent)d%%')

This will produce a bar like the following:

Loading |@@@@@@@@@@@@@                   | 42%

You can use a number of template arguments in message and suffix:

Name Value
index current value
max maximum value
remaining max - index
progress index / max
percent progress * 100
avg rolling average time per item (in seconds)
eta avg * remaining

Instead of passing all configuration options on instatiation, you can create your custom subclass.

class FancyBar(Bar):
    message = 'Loading'
    fill = '*'
    suffix = '%(percent).1f%% - %(eta)ds'

Spinners

For actions with an unknown number of steps you can use a spinner.

from progress.spinner import Spinner

spinner = Spinner('Loading ')
while state != 'FINISHED':
    # Do some work
    spinner.next()

There are 4 predefined spinners:

  • Spinner
  • PieSpinner
  • MoonSpinner
  • LineSpinner

Other

Thera are a number of other classes available too, please check the source or subclass one of them to create your own.

Subscribe to package updates

Last updated Sep 20th, 2013

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.