ランキングに戻る

voila-dashboards/voila

Pythonvoila.readthedocs.io

Voilà turns Jupyter notebooks into standalone web applications

jupyterjupyter-notebookjupyterlab-extensiondashboarding
スター成長
スター
5.9k
フォーク
528
週間成長
Issue
304
2k4k
2018年9月2021年4月2023年12月2026年7月
成果物PyPIpip install voila
README

voila

Documentation Binder Discourse Zulip

Rendering of live Jupyter notebooks with interactive widgets.

Introduction

Voilà turns Jupyter notebooks into standalone web applications.

Unlike the usual HTML-converted notebooks, each user connecting to the Voilà tornado application gets a dedicated Jupyter kernel which can execute the callbacks to changes in Jupyter interactive widgets.

  • By default, Voilà disallows execute requests from the front-end, preventing execution of arbitrary code.
  • By default, Voilà runs with the strip_sources option, which strips out the input cells from the rendered notebook.

Installation

Voilà can be installed with the mamba (or conda) package manager from conda-forge

mamba install -c conda-forge voila

or from PyPI

pip install voila

JupyterLab preview extension

Voilà provides a JupyterLab extension that displays a Voilà preview of your Notebook in a side-pane.

Starting with JupyterLab 3.0, the extension is automatically installed after installing voila with pip install voila.

If you would like to install the extension from source, run the following command.

jupyter labextension install @voila-dashboards/jupyterlab-preview

Usage

As a standalone tornado application

To render the bqplot example notebook as a standalone app, run voila bqplot.ipynb. To serve a directory of jupyter notebooks, run voila with no argument.

For example, to render the example notebook bqplot.ipynb from this repository with Voilà, you can first update your current environment with the requirements of this notebook (in this case in a conda environment and render the notebook with

mamba env update -f .binder/environment.yml
cd notebooks/
voila bqplot.ipynb

For more command line options (e.g., to specify an alternate port number), run voila --help.

As a server extension to notebook or jupyter_server

Voilà can also be used as a Jupyter server extension, both with the notebook server or with jupyter_server.

To install the Jupyter server extension, run

jupyter serverextension enable voila
jupyter server extension enable voila

When running the Jupyter server, the Voilà app is accessible from the base url suffixed with voila.

Documentation

To get started with using Voilà, check out the full documentation:

https://voila.readthedocs.io/

Examples

The following two examples show how a standalone Jupyter notebook can be turned into a separate app, from the command-line integration.

Rendering a notebook including interactive widgets and rich mime-type rendering

Voilà basics

Rendering a notebook making use of a custom widget library (bqplot)

Voilà bqplot

Showing the source code for a Voilà notebook

The sources of the Jupyter notebook can be displayed in a Voilà app if option strip_sources is set to False.

Voilà sources

Voilà dashboards with other language kernels**

Voilà is built upon Jupyter standard formats and protocols, and is agnostic to the programming language of the notebook. In this example, we present an example of a Voilà application powered by the C++ Jupyter kernel xeus-cpp, and the xleaflet project.

Voilà cling

The Voilà Gallery is a collection of live dashboards and applications built with Voilà and Jupyter widgets.

Most of the examples rely on widget libraries such as ipywidgets, ipyleaflet, ipyvolume, bqplot and ipympl, and showcase how to build complex web applications entirely based on notebooks.

New examples can be added to the gallery by following the steps listed in the voila-gallery/gallery repository.

Development

See CONTRIBUTING.md to know how to contribute and set up a development environment.

Voilà depends on nbconvert and jupyter_server.

License

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.

関連リポジトリ
tqdm/tqdm

:zap: A Fast, Extensible Progress Bar for Python and CLI

PythonPyPIOtherprogressbarprogressmeter
tqdm.github.io
31.2k1.5k
trekhleb/homemade-machine-learning

🤖 Python examples of popular machine learning algorithms with interactive Jupyter demos and math being explained

Jupyter NotebookMIT Licensepythonjupyter
24.7k4.2k
plotly/dash

Data Apps & Dashboards for Python. No JavaScript Required.

PythonPyPIMIT Licensedashplotly
plotly.com/dash
24.3k2.3k
bokeh/bokeh

Interactive Data Visualization in the browser, from Python

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensebokehpython
bokeh.org
20.4k4.3k
ipython/ipython

Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.

PythonPyPIBSD 3-Clause "New" or "Revised" Licenseipythonjupyter
ipython.readthedocs.org
16.7k4.5k
emilwallner/Screenshot-to-code

A neural network that transforms a design mock-up into a static website.

HTMLOtherkerasdeep-learning
16.5k1.5k
FavioVazquez/ds-cheatsheets

List of Data Science Cheatsheets to rule the world

MIT Licensedatasciencepython
16.3k4k
kubeflow/kubeflow

Machine Learning Toolkit for Kubernetes

Apache License 2.0mlkubernetes
kubeflow.org
15.8k2.7k
jupyterlab/jupyterlab

JupyterLab computational environment.

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensejupyterlabjupyter
jupyterlab.readthedocs.io
15.2k4k
jpmorganchase/python-training

Python training for business analysts and traders

Jupyter NotebookApache License 2.0pythonjupyter
13.7k2.2k
Data-Centric-AI-Community/fg-data-profiling

1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames.

PythonPyPIMIT Licensepandas-profilingpandas-dataframe
docs.sdk.ydata.ai
13.7k1.8k
jupyter/notebook

Jupyter Interactive Notebook

Jupyter NotebookBSD 3-Clause "New" or "Revised" Licenseclosemberjupyter
jupyter-notebook.readthedocs.io
13.3k5.7k