Voilà

type access

  • Operating System:

  • Terminal:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

  • Database:

type access

  • Operating System:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

  • Database:

type access

  • Operating System:

  • Shell:

  • Editor:

  • Package Manager:

  • Programming Language:

  • Database:

Voilà converts a Jupyter Notebook into an interactive dashboard that allows you to share your work with others. It is secure and customizable, giving you control over what your readers experience.

Deployment mode

The application is served in two modes:

  • Development: as a Jupyter Notebook extension (default).

  • Production: as a standalone application, by specifying a Jupyter Notebook via the Notebook parameter.

Add notebook dependencies

Software dependencies can be installed inside the application container using the Dependencies parameter. The list of dependencies can be specified either via a text file (.txt) or a YAML file (*.yml/*.yaml). Alternatively, it is possible to load a Bash script (*.sh) with the list of shell commands to be used for the installation. The example below shows three equivalent ways to install dependencies:

numpy==1.18.1
pandas==1.0.2
keras==2.3.1
matplotlib==3.2.0
seaborn==0.10.0
plotly==4.5.4
name: base
channels:
  - conda-forge
  - defaults
  - numba

dependencies:
  - conda-forge::numpy=1.18.1
  - conda-forge::pandas=1.0.2
  - conda-forge::keras=2.3.1
  - conda-forge::matplotlib=3.2.0
  - conda-forge::seaborn=0.10.0
  - numba::numba=0.48.0
  - pip:
    - plotly==4.5.4
#!/usr/bin/env bash

ENV=base
set -eux

conda install -y -n $ENV -c conda-forge \
numpy=1.18.1 \
pandas=1.0.2 \
keras=2.3.1 \
matplotlib=3.2.0 \
seaborn=0.10.0

conda install -y -n $ENV -c numba numba=0.48.0

pip install plotly==4.5.4

Select a template

Voilà uses nbconvert to convert Jupyter notebooks into an HTML dashboard. nbconvert has a rich templating system that allows to customize the way in which the notebook is converted into HTML. There are six templates pre-installed in the app, which can be selected in production mode via the Template parameter:

A new Voilà template project can be generated using Cookiecutter.

Note

Customized templates must be copied within the $VOILA_TEMPLATE_DIR folder, by executing a Bash script imported via the Dependencies parameter.

A new template, say mytemplate, can be selected in production mode by setting the Configuration parameter: template=mytemplate.

Add multiple settings

The Configuration parameter allows the user to implement multiple Voilà configuration settings at the same time. By default this parameter accepts a single string in the format:

<config-key>=<config-value>.

This is equivalent to set the option: --VoilaConfiguration.<config-key>=<config-value>.

The latter can be generalized by appending additional configuration options to the first string. For example, the following values of the Configuration parameter provide the same settings:

file_whitelist=['.*'] --template mytemplate

or

file_whitelist=['.*'] --VoilaConfiguration.template=mytemplate

or

template=mytemplate --VoilaConfiguration.file_whitelist=['.*'] .