Repolode
voila-dashboards

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. 1

    从 PyPI 安装 Voilà

    pip install voila
  2. 2

    进入 notebooks 目录并渲染示例 notebook

    cd notebooks/ && voila bqplot.ipynb

使用前须知

  • 需要在 Jupyter 内核中运行 notebook,因此每个连接的用户都会占用内核资源。
  • 元数据中的许可证信息不明确(NOASSERTION),但 README 中注明为 BSD-3-Clause。

收录于专题

标签

常见问题

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 数据每日更新。

相关项目