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.

Filename, size & hash SHA256 hash help File type Python version Upload date
progressor-0.1.19-py2.py3-none-any.whl (5.2 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Nov 8, 2018
progressor-0.1.19.tar.gz (5.9 kB) Copy SHA256 hash SHA256 Source None Nov 8, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page