Skip to main content

Python-asynchronous progressbar widgets for use in Jupyter/IPython in conjunction with ipywidgets

Project description

IPyProgressBar

saythanks

A small package that provides an python-asynchronous progressbar widgets for use in Jupyter/IPython in conjunction with ipywidgets.

Why

Many times, when building a small dashboard on IPython there are functions that take some time to be executed but cannot be split into chunks, in the middle of which we could update a progress bar.

Since we want to give the user feedback that we are actually doing something and now he has to wait for a little, we can simply display the prototypical Loading....

However for some (most?) functions we may actually have a rough estimate of the time of wait and can make the wait a little more visual with a progressbar!

"Python-Asynchronous"

The progressbar needs to be updated (filled) while python is working on other things. (Yes we could parallelize it, but it seems a little of overkill).

We will create an HTML object with the progressbar and then let python trigger a small javascript snippet that during a specific interval time regularly updates the progressbar, while python goes on working on other tasks (like loading a dataset). That way, the task of rendering and updating the progressbar is fully delegated to the browser.

Usage

# Create the progress bar object (not the widget)
my_progressbar = AsyncProgressBar(time=2, description='Loading dataset:')

# Return the widget for display
display( my_progressbar.get_widget() )

# ...

# Trigger the progressbar
my_progressbar.run()

The object also has a hide() method, for a typical use case in which we just want a temporal progressbar:

my_progressbar.run()
function_that_takes_long()
my_progressbar.hide()

Contact

Created by: WillahScott

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 ipyprogressbar, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size ipyprogressbar-0.1.0-py3-none-any.whl (3.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size ipyprogressbar-0.1.0.tar.gz (3.5 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