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, preventing execution of arbitrary code.
- By defaults, voila runs with the
strip_sourceoption, which strips out the input cells from the rendered notebook.
Voila can be installed with the conda package manager
conda install -c conda-forge voila
or from pypi
pip install voila
As a standalone tornado application
To render the
bqplot example notebook as a standalone app, run
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),
As a server extension to
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
The following two examples show how a standalone Jupyter notebook can be turned into a separate app, from the command-line integration.
Rendering a notebook making use of a custom widget library (bqplot)
Showing the source code for a voila notebook
The sources of the Jupyter notebook can be displayed in a voila app if option
strip_sources is set to
Voila dashboards with other language kernels
Voila is built upon Jupyter standard formats and protocols, and is agnostic to the programming language of the notebook. In this example, we present an example of a voila application powered by the C++ Jupyter kernel xeus-cling, and the xleaflet project.
See CONTRIBUTING.md to know how to contribute and setup a development environment.
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.