/voila

Interactive renderer for Jupyter notebooks

Primary LanguagePythonOtherNOASSERTION

Voila

Documentation Binder Join the Gitter Chat

Rendering of live Jupyter notebooks with interactive widgets.

Introduction

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.

Installation

Voila can be installed with the conda package manager

conda install -c conda-forge voila

or from pypi

pip install voila

Usage

As a standalone tornado application

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.

As a server extension to notebook or jupyter_server

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.

Example

The following screencast shows the voila-rendered version of notebook reproducing the "wealth of nation" data visualization with bqplot.

wealth of nations

Related projects

Voila depends on the nbconvert and jupyter_server.

License

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.