为 Jupyter 笔记本提供应用模式,自动运行代码并隐藏代码单元,将其呈现为网页应用。
voila-dashboards/voila
将 Jupyter Notebook 转换为独立的 Web 应用,每个用户拥有独立内核以运行交互式控件。
- Star
- 5,957
- Fork
- 530
- 未关闭 Issue
- 331
- 最近提交
- 5天前
这是什么?
Voilà 可以将 Jupyter Notebook 直接发布为独立的 Web 应用,而不是导出静态 HTML。每个连接的用户都会获得专属的 Jupyter 内核,因此交互式控件触发的回调会在服务端实时执行。
默认情况下,Voilà 会拒绝来自前端的执行请求,以防止访客执行任意代码,并会隐藏输入单元格。这些行为可以通过配置修改,例如显示 Notebook 的源代码。
Voilà 既可以作为独立的 Tornado 应用运行,服务单个 Notebook 或整个目录,也可以作为扩展集成到 notebook 或 jupyter_server 中。它可通过 conda-forge 或 PyPI 安装,并附带 JupyterLab 扩展,可在侧边栏中预览 Voilà 应用效果。由于基于标准的 Jupyter 协议构建,它也支持 C++ 等其他语言的内核。
核心功能
- 01将 Notebook 发布为独立 Web 应用,每个用户拥有专属 Jupyter 内核。
- 02支持 ipywidgets、bqplot、ipyleaflet 等交互式控件实时运行。
- 03默认隐藏输入单元格,并阻止来自前端的执行请求。
- 04可作为独立服务器运行,也可作为 notebook 或 jupyter_server 的扩展。
- 05附带 JupyterLab 扩展,可在侧边栏预览 Notebook 应用效果。
适用场景
- 将数据分析 Notebook 以交互式仪表盘形式分享给非技术同事。
- 基于已有 Notebook 构建内部工具或参数化报表。
- 在不暴露代码的前提下发布 Notebook 中的交互式可视化。
快速上手
- 1
从 PyPI 安装 Voilà
pip install voila - 2
进入 notebooks 目录并渲染示例 notebook
cd notebooks/ && voila bqplot.ipynb
使用前须知
- 需要在 Jupyter 内核中运行 notebook,因此每个连接的用户都会占用内核资源。
- 元数据中的许可证信息不明确(NOASSERTION),但 README 中注明为 BSD-3-Clause。
收录于专题
标签
#jupyter#dashboard#data-visualization#ipywidgets#notebook#python#dashboarding#jupyter-notebook#jupyterlab-extension
常见问题
- voila 是什么?
- 将 Jupyter Notebook 转换为独立的 Web 应用,每个用户拥有独立内核以运行交互式控件。 Voilà 可以将 Jupyter Notebook 直接发布为独立的 Web 应用,而不是导出静态 HTML。每个连接的用户都会获得专属的 Jupyter 内核,因此交互式控件触发的回调会在服务端实时执行。
- voila 可以免费使用吗?用的什么许可证?
- voila 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- voila 还在维护吗?
- 活跃维护中。voila 最近一次提交是在 2026年11月2日。
- voila 适合用来做什么?
- 将数据分析 Notebook 以交互式仪表盘形式分享给非技术同事。 基于已有 Notebook 构建内部工具或参数化报表。 在不暴露代码的前提下发布 Notebook 中的交互式可视化。
- voila 怎么安装和运行?
- 从 PyPI 安装 Voilà: pip install voila 进入 notebooks 目录并渲染示例 notebook: cd notebooks/ && voila bqplot.ipynb
- 在哪里获取 voila?
- 源代码和安装说明在 GitHub 上:https://github.com/voila-dashboards/voila
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
46369JavaScriptMIT更新于 9天前
把 Jupyter 笔记本直接变成可交互、可分享的 Web 应用,无需编写前端代码。
4358292PythonApache-2.0维护活跃更新于 12天前
完全在浏览器中运行的 JupyterLab 发行版,基于 WebAssembly 的 Python 内核,无需后端服务器。
4915455TypeScriptBSD-3-Clause更新于 前天
为 JupyterLab 提供笔记本模板浏览与创建功能的扩展。
41370JavaScriptApache-2.0更新于 6天前
基于网页的交互式计算笔记本环境,可在同一文档中混合运行代码、查看输出和编写文本。
1.3万5819Jupyter NotebookBSD-3-Clause维护活跃更新于 19小时前
JupyterLab 扩展,每次保存 notebook 时自动生成持久化的版本快照,并支持与历史版本对比。
84+1 本周10PythonApache-2.0维护活跃更新于 6天前