voila-dashboards/voila

Voilà turns Jupyter notebooks into standalone web applications

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 16th, 2024
Created on August 21st, 2018
Open Issues & Pull Requests: 328 (+0)
Number of forks: 528
Total Stargazers: 5,939 (+0)
Total Subscribers: 75 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 56.0 days
Mean response time: 465.2 days
90th percentile: 1649.9 days
Tracked items: 72

How this project is maintained

85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 64% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 225
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,631 days
Stale 30+ days: 225
Stale 90+ days: 224

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (114)
  • enhancement (47)
  • documentation (27)
  • Feature Request (11)
  • maintenance (9)
  • jupyterlab-preview (8)
  • good first issue (4)
  • testing (4)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Voilà is a Python-based tool that transforms Jupyter notebooks into standalone web applications without requiring users to manually convert notebooks to HTML or deploy them through traditional web frameworks. The core functionality enables each user connecting to a Voilà tornado application to receive a dedicated Jupyter kernel, allowing interactive widgets to execute callbacks and respond to user input in real time. This architecture distinguishes Voilà from static HTML-converted notebooks by providing genuine interactivity where widget changes trigger server-side computation.

The project implements security-conscious defaults that prevent arbitrary code execution from the front-end and optionally strips input cells from the rendered output, allowing developers to present polished dashboards without exposing underlying notebook code. Voilà supports deployment in multiple configurations: as a standalone tornado application invoked directly from the command line, or as a server extension integrated with either the notebook or jupyter_server packages. The JupyterLab extension, automatically installed with pip since JupyterLab 3.0, provides an in-editor preview pane for developers to see how their notebooks will appear as applications.

Voilà's design builds upon established Jupyter standards and protocols, maintaining language agnosticism that allows notebooks written in Python, C++, and other languages supported by Jupyter kernels to be rendered as applications. The project integrates with popular widget libraries including ipywidgets, ipyleaflet, ipyvolume, bqplot, and ipympl, enabling developers to construct complex interactive applications entirely within the notebook environment.

The Voilà Gallery serves as a curated collection of production dashboards and applications demonstrating the framework's capabilities across various domains. Documentation is centrally hosted at voila.readthedocs.io, providing comprehensive guidance for installation, configuration, and usage patterns.