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.

Source Distribution

progressor-0.1.18.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

progressor-0.1.18-py2.py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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