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. Therefore, we can use a python thread to update the value of the progressbar. That way, our main python process can take care of other code meanwhile.

Usage

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

# Return the widget for display
my_progressbar.display()

# ...

# Trigger the progressbar
my_progressbar.run()

The object also has a close() method (and its inverse reopen()), for hiding the progressbar whenever we want:

my_progressbar.run()
function_that_takes_long()
my_progressbar.close(on_finish=True)  # or set close_on_finish=True on creating the progressbar object

However,for a typical use case in which we just want a temporal progressbar, we can specify the close_on_finish on creation:

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

# ...

# Trigger the progressbar
my_progressbar.run()  # when done the progress bar will 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.

Source Distribution

ipyprogressbar-1.0.2.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

ipyprogressbar-1.0.2-py3-none-any.whl (3.9 kB view hashes)

Uploaded 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