Skip to main content

A visually appealing progress bar for long lasting computations.

Project description

A visually appealing progress bar for long lasting computations. It also computes the remaining estimated time for the task by ad-hoc learning of the completion so far. For this reason scikit-learn and numpy are required.

You can install progressor via

pip install progressor

and import it in python using:

import progressor

Compute a task as follows:

from __future__ import print_function
import time

res = [ 0 ]

def task(elem):
    time.sleep(0.01)
    res[0] += elem

progressor.progress_list(range(1000), task, prefix="sleep list")
print(res[0])

or in a range:

def task_range(cur_ix, length):
    task(cur_ix)

progressor.progress(0, 1000, task_range, prefix="sleep range")
print(res[0])

or while reading a file:

with progressor.IOWrapper(open(datafile, "r"), prefix="loading data", out=sys.stdout) as f_in:
    data = f_in.read()

The output looks roughly like this:

sleep list: |████████████▌       |  62.30% (T   7.492s ETA   6.791s)

If no estimate of the progress towards completion can be made use:

def repeat(num):
    while True:
        yield num

progressor.progress_indef(repeat(1), task, prefix="sleep indefinitely")

which produces output like this:

sleep indefinitely: /

Project details


Download files

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

Files for progressor, version 0.1.19
Filename, size File type Python version Upload date Hashes
Filename, size progressor-0.1.19-py2.py3-none-any.whl (5.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size progressor-0.1.19.tar.gz (5.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page