Review



Initial Thoughts

This is a review of the Voilà dashboard package in Python. Voila is an innovative tool that allows one to make a dashboard from a Jupyter notebook.

Personally, I feel that this has great potential as a “productivity booster”. Some key points for me are the following:

The README file

Firstly, I have to compliment the README of this repository. For me, it is visually engaging indicating some of the key points like installation and execution via the commandline. Perhaps, some may not like running it in this manner, but I find no issue with it. Moreover, there is also a link to the voilà’s documentation (please see the following link https://voila.readthedocs.io/). If a person would like to contribute to this package, you can find the following link on the README–please see image below.

contribute

Installation

The installation is straightforward as can be seen in the following image. install2

A person can install this package by using pip in python or by using a version control package like mamba or anaconda. In my experience, I created a virtual environment by using pyenv and installed voilà via pip. The installation went smoothly without any issues. Please note that if you are using Jupyter 3.0, the jupyterLab preview extension for voilà is automatically installed.

Idea behind voilà

Please note that there are a number of packages that you need in order to fully utilize voilà. The most important package that is required is ipywidgets. In addition, there is a list of other packages under requirements-visual-test.txt which are used for the example notebooks. The idea is to simply build your notebook, then to go to the commandline and type the following by your notebook (call it example.ipynb)

C:path to directory where notebook is contained> voila example.ipynb

Notebooks examples

There is an extensive set of examples under the notebooks folder. They are quick to run, allowing a person to get a good idea of how to use voilà. Personally, I also ran my own example using the classical iris dataset (please see below).

For the examples, I liked the following:

Concerns

Heroku is no longer free for deploying.

There are also different styles and themes for voilà that are not indicated under an example (something that I think would be nice to add). Personally, I had to install gridstack styles using pip as it was not running via the commandline immediately.

gridstack_error

From the documentation about voilà, it is indicated that the above issue can be resolved by installing voila-material. Personally, I had to also install voila-gridstack in order to resolve this issue. Now I can use

voila iris.ipynb --template=gridstack

Similar packages

Here is a list of similar packages that may be worth investigating (just in case you want some other options):

Comparison with dedicated tools

I think that voilà is for those that are more technically inclined and that are more willing to jump into the code. It does provide a very customed alternative to the powerhouse dashboards like Power BI and Tableau and it looks reactive enough to avoid React.js and using flask, etc.

Conclusion

This is a lovely package with plenty of room for growth and creativity especially if you want something that you have control over, but you do not want to spend too much time on the semantics of things. It also makes use of existing python and jupyter notebook knowledge (another timesaver).