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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ipyprogressbar-1.0.2.tar.gz.

File metadata

File hashes

Hashes for ipyprogressbar-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a0b9a8b1deaccb6c13a91b64d7728cbc5cb7e136c6391e8b34a11ab73e052bbc
MD5 6411fd54b0a877707e7d836d37a138f8
BLAKE2b-256 10b21f6e0630328bef645ead9574ef74fdda75b9d87d792b1c37136b25ded32e

See more details on using hashes here.

File details

Details for the file ipyprogressbar-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ipyprogressbar-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe5f47547f897043b237d56ea8b493cb9fa61327d1dc45437368e0ca33fa7019
MD5 837ba7b7ef02ee06d8346073188a9914
BLAKE2b-256 5346962b97a06158bc6fa3316bfb26e46ee1f6c299adbf28a55cdd39c6fcc3d0

See more details on using hashes here.

Supported by

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