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. (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
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-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d516bf16efe8869e0c8feeec78c42c4fec58a090cf6e33493e2d636774696a0 |
|
MD5 | 5d328cbdc229deba26828d5d154bef41 |
|
BLAKE2b-256 | 92b5bf3fe20eea69923d22c33d030f85d88e0a7c96ce2832919fd75472c99580 |