Rendering of live Jupyter notebooks with interactive widgets.
Voila serves live Jupyter notebook including Jupyter interactive widgets.
Unlike the usual HTML-converted notebooks, each user connecting to the Voila tornado application gets a dedicated Jupyter kernel which can execute the callbacks to changes in Jupyter interactive widgets.
- By default, voila disallows execute requests from the front-end, disabling the ability to execute arbitrary code.
- By defaults, voila runs with the
strip_source
option, which strips out the input cells from the rendered notebook.
When using these default settings, the code powering the Jupyter notebook is never sent to the front-end.
Voila can be installed with the conda package manager
conda install -c conda-forge voila
or from pypi
pip install voila
To render the bqplot
example notebook as a standalone app, run
voila bqplot.ipynb
To serve a directory of jupyter notebooks, just run voila
with no argument.
For more command line options (e.g., to specify an alternate port number),
run voila --help
.
Voila can also be used as a notebook server extension, both with the notebook server or with jupyter_server.
To install the notebook server extension, run
jupyter serverextension enable voila --sys-prefix
When running the notebook server, the voila app is accessible from the base url
suffixed with voila
.
The following screencast shows the voila-rendered version of notebook reproducing the "wealth of nation" data visualization with bqplot.
Voila depends on the nbconvert and jupyter_server.
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.