explaingit

voila-dashboards/voila

5,925PythonAudience · dataComplexity · 2/5LicenseSetup · easy

TLDR

Turn any Jupyter notebook into a shareable web app where visitors see only outputs and interactive controls, no code visible. Works with any language that has a Jupyter kernel.

Mindmap

mindmap
  root((repo))
    What it does
      Notebook to web app
      Hides code cells
      Keeps widgets live
    Inputs
      Python notebooks
      Other languages
    Deployment
      Command line run
      Folder serving
      JupyterLab preview
    License
      BSD 3-Clause
      Open source
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Share a data analysis notebook with non-technical stakeholders as a clean web dashboard without showing any code.

USE CASE 2

Build an interactive tool with sliders and dropdowns from a Jupyter notebook and serve it as a standalone web page.

USE CASE 3

Serve a whole folder of notebooks as a mini web application with a browsable index for end users.

Tech stack

PythonJupyterpipconda

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for personal or commercial projects, keep the copyright notice and don't claim BSD authority endorses your product.

In plain English

Voila takes a Jupyter notebook and turns it into a standalone web application that anyone can use in a browser, without seeing the underlying code. Jupyter notebooks are interactive documents commonly used by data scientists and researchers to combine code, text, and visual outputs like charts. By default, those notebooks expose the code cells to viewers, which is not always appropriate when sharing results with a general audience. Voila solves that by rendering only the outputs and interactive elements. When a user visits a Voila-powered app, they get their own dedicated session running in the background, which means interactive widgets, sliders, and dropdowns continue to work just as they would inside a live notebook. The code that drives those interactions executes server-side, but the user never sees it. By default, Voila also strips out the input cells entirely, so the final page looks more like a dashboard or a tool than a notebook. Voila can be run from the command line by pointing it at a notebook file, and it will serve that notebook as a web page. It can also serve an entire folder of notebooks at once. There is an optional JupyterLab extension that shows a live preview of the Voila output while you are editing a notebook. The tool is not limited to Python notebooks. Because it is built on top of the standard Jupyter protocol, notebooks written in other languages, such as C++, can also be served through Voila. Installation is available via pip or conda. The project is licensed under BSD-3-Clause.

Copy-paste prompts

Prompt 1
I have a Jupyter notebook with interactive sliders. Walk me through running Voila locally so I can share it as a web page where my client cannot see the code.
Prompt 2
How do I install Voila and deploy my notebook as a public web app on a Linux server?
Prompt 3
Show me how to configure Voila to use a custom theme and always hide input cells when someone visits my dashboard.
Open on GitHub → Explain another repo

← voila-dashboards on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.