Skip to main content

Easy to use progress bars

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

progress-1.0.2.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file progress-1.0.2.tar.gz.

File metadata

  • Download URL: progress-1.0.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for progress-1.0.2.tar.gz
Algorithm Hash digest
SHA256 65c06f01de471ab4621e323f6e165a7250d12789bfb95380abda3dbcd5dc531f
MD5 06da1f7d6d3e5829f251856c3d481c69
BLAKE2b-256 a8d66d5cf123489c93f7c87f046b092a6ea310dedb7cb870b1a35bb616e66e77

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page