skillfed

voila

Voilà turns Jupyter notebooks into standalone web applications

voila v0.5.12 203.0K downloads/30d#9,640 on PyPI5,941
Permissive license BSD License Copyright (c) 2018 Voilà contributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following… (full text in the JSON record) Active released

What it is and what it does

Voilà is a Jupyter extension that transforms notebooks into production-ready web applications. Instead of rendering a notebook as static HTML, Voilà runs a Tornado server that gives each user a dedicated kernel, allowing interactive widgets to execute callbacks in real time. By default, it hides notebook source code and blocks arbitrary code execution from the browser, making it suitable for sharing dashboards and applications without exposing implementation details.

The package integrates with both standalone Jupyter servers and JupyterLab (where a preview extension is automatically installed with pip). It depends on core Jupyter infrastructure—jupyter-server, nbconvert, jupyter-client, nbclient, and others—to handle kernel lifecycle, notebook conversion, and WebSocket communication. Users can serve individual notebooks or entire directories, customize ports and options via command line, and build complex applications using widget libraries like ipywidgets and bqplot.

Use it for:

  • Deploy a data analysis notebook as a shareable dashboard without exposing code or requiring users to run Jupyter.
  • Build an interactive form or calculator from a notebook with widgets, served over HTTP to end users.
  • Create a live monitoring or reporting application that updates in real time as users interact with controls.
  • Share a scientific or financial model as a web app, allowing non-technical users to adjust parameters and see results.
  • Prototype a web application quickly using notebook-based development before moving to a full web framework.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Voilà converts Jupyter notebooks into standalone web applications with live interactive widgets, serving each user a dedicated kernel while stripping source code and preventing arbitrary code execution by default.

Yes. Voilà is actively maintained, has low install friction, and solves a real problem—turning notebooks into web apps without code exposure. It's well-integrated with JupyterLab, has no known vulnerabilities, and supports modern Python versions. Install it if you need to deploy interactive notebooks as standalone applications or dashboards.

Install

voila on PyPI

pip

pip install voila

uv

uv add voila

poetry

poetry add voila

Installing voila

Before you install

Low friction install with a pure-Python wheel. Active maintenance (last commit 2026-08-03) and broad Python support (3.10–3.14). Depends on 8 core Jupyter packages (jupyter-server, nbconvert, jupyter-client, etc.), all standard ecosystem components.

License in practice

BSD-3-Clause permissive license allows commercial and private use with attribution and liability disclaimer. No restrictions on modification or redistribution.

Quickstart

pip install voila

# Serve a notebook as a standalone app:
voila notebook.ipynb

# Or serve a directory:
voila

Requires a Jupyter notebook file (.ipynb) and a working Jupyter kernel environment; interactive widgets must be defined in the notebook itself.

Verify before relying

  • Whether the JupyterLab extension auto-installation works reliably across all JupyterLab 3.0+ versions.
  • Performance characteristics and scalability limits for concurrent users on a single Voilà instance.
  • Compatibility with custom widget libraries beyond those mentioned (ipywidgets, ipyleaflet, ipyvolume, bqplot, ipympl).

Package facts

License BSD License Copyright (c) 2018 Voilà contributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 8 — jupyter-client, jupyter-core, jupyter-server, jupyterlab-server, nbclient, nbconvert, traitlets, websockets
Maintenance actively maintained — 114 days since the last release
Last repo commit
First released
Downloads 202,976/month — #9,640 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: voila-0.5.12-py3-none-any.whl

Keywords: Jupyter, JupyterLab, Voila

Framework :: JupyterFramework :: Jupyter :: JupyterLabFramework :: Jupyter :: JupyterLab :: 3Framework :: Jupyter :: JupyterLab :: 4Framework :: Jupyter :: JupyterLab :: ExtensionsFramework :: Jupyter :: JupyterLab :: Extensions :: PrebuiltLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

jupyter notebook to web appinteractive dashboard from notebookjupyter widgets web applicationnotebook deployment tooljupyter standalone servernotebook-based dashboardvoila rendering
jupyter-extensiondashboard-frameworknotebook-deployment

More Dynamic Content packages