Registry / web-framework / voila
library0.5.12pypypi✓ verified 86d ago

Voila turns Jupyter notebooks into standalone web applications. It executes the notebook and renders the output, displaying interactive widgets and outputs without the underlying code. The current version is 0.5.11, with frequent patch releases addressing bug fixes and minor enhancements, typically on a bi-weekly or monthly cadence.

pip install voila
INSTALL
IMPORT
SIG · VOILA
V
voila
web-frameworkpythonv0.5.12
Install
9.7s avg
Import
10458ms
Disk
107MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.5.12 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 10.708s · 106.9MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 9.7s · import 10.208s · 104MB
107MB installed
● package 107MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Voila
from voila.app import Voila
While Voila is primarily used via its command-line interface, `voila.app.Voila` is the main application class for programmatic embedding or testing.

Create a Jupyter notebook with interactive widgets and save it. Then, run Voila from the command line to serve it as a standalone web application. Access it in your web browser, typically at `http://localhost:8866`.

# Save this as `my_dashboard.ipynb` import ipywidgets as widgets from IPython.display import display slider = widgets.IntSlider(min=0, max=100, step=1, description='Value:') output = widgets.Output() def on_value_change(change): with output: output.clear_output() print(f"Slider value is: {change['new']}") slider.observe(on_value_change, names='value') display(slider, output) # Run from your terminal: # voila my_dashboard.ipynb
voila --version
Debug
Known issues
breakingEarlier versions of Voila (e.g., prior to 0.4.5 and 0.5.8) had reduced compatibility with `ipywidgets 7`, potentially causing existing notebooks to fail if they relied on older widget versions. Newer releases re-added support.
fix
Upgrade to Voila 0.4.5+ or 0.5.8+ for improved ipywidgets 7/8 compatibility. Ensure your `ipywidgets` package is also up-to-date (`pip install -U ipywidgets`).
affects: <0.4.5, <0.5.8 (intermittent)
gotchaSome Voila templates or custom JupyterLab extensions (e.g., for specific widget packages) may require `nodejs` and `npm` to be installed on your system for building frontend assets. These are not direct Python dependencies.
fix
If encountering issues with frontend rendering or custom templates, install Node.js and npm (`conda install -c conda-forge nodejs` or via system package manager) and potentially build extensions (`jupyter labextension install ...`).
affects: All versions
gotchaMultiple older versions contained a security vulnerability (CVE-2024-30265) related to arbitrary file read. Running outdated versions in production environments is risky.
fix
Upgrade Voila to at least version 0.3.8, 0.4.4, or 0.5.6 (or newer) to mitigate this vulnerability.
affects: <0.3.8, <0.4.4, <0.5.6
gotchaVersions of Voila in the 0.5.x series (e.g., 0.5.9, 0.5.10, 0.5.11) included fixes for server extension configuration handling. Users with complex custom `voila_config.py` files might experience unexpected behavior with older 0.5.x releases.
fix
Upgrade to the latest 0.5.x release to ensure correct merging and application of server extension configurations.
affects: 0.5.0 - 0.5.8
Errors
Common errors & fixes
Jupyter command 'voila' not found.
Voila is not installed, or its executable entry point is not in the system's PATH, or the active Python environment does not have Voila installed.
fix
Ensure Voila is installed in your active environment (`pip install voila` or `conda install -c conda-forge voila`). Verify that the environment's `bin` (Linux/macOS) or `Scripts` (Windows) directory is correctly added to your system's PATH.
ModuleNotFoundError: No module named 'voila'
The `voila` Python package is not installed in the currently active Python environment.
fix
Install the package using your package manager: `pip install voila` or `conda install -c conda-forge voila`.
Error displaying widget: model not found
This typically indicates a mismatch between the `ipywidgets` version in your notebook and the frontend assets available to Voila, or a missing JupyterLab extension for a custom widget.
fix
Ensure `ipywidgets` is up-to-date (`pip install -U ipywidgets`). For custom widgets, verify that necessary JupyterLab extensions are installed and built (`jupyter labextension install <package>`). Sometimes, a browser cache clear is also helpful.
voila: error: argument --enable_nbextensions: invalid choice: 'True'
This error occurs when using a command-line argument or configuration option that has been removed or renamed in a newer version of Voila (e.g., `--enable_nbextensions` was removed in Voila 0.5.x).
fix
Consult the official Voila documentation or the `--help` output of your specific Voila version (`voila --help`) to identify valid command-line arguments and remove or update any deprecated options.
Upgrade
Version history
0.5.12latest on PyPI · released Apr 22, 2026
Audit
Dependencies
jupyter_serverrequiredVoila runs as a Jupyter server application.
ipywidgetsrequiredEssential for interactive dashboards and widely used in notebooks rendered by Voila.
nodejsoptionalRequired for building and serving some JupyterLab extensions and custom frontend assets, especially for complex templates or widget ecosystems. Not a direct Python dependency but often needed for a full setup.
Agent activity
24 hits · last 30 days
node
22
OpenAI (training)
1
Resources
voila — pip install voila · libregistry