Python-asynchronous progressbar widgets for use in Jupyter/IPython in conjunction with ipywidgets
Project description
IPyProgressBar
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ipyprogressbar-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe5f47547f897043b237d56ea8b493cb9fa61327d1dc45437368e0ca33fa7019 |
|
MD5 | 837ba7b7ef02ee06d8346073188a9914 |
|
BLAKE2b-256 | 5346962b97a06158bc6fa3316bfb26e46ee1f6c299adbf28a55cdd39c6fcc3d0 |