{"id":13468911,"url":"https://github.com/voila-dashboards/voila","last_synced_at":"2025-05-13T17:04:16.485Z","repository":{"id":34142116,"uuid":"145574616","full_name":"voila-dashboards/voila","owner":"voila-dashboards","description":"Voilà turns Jupyter notebooks into standalone web applications","archived":false,"fork":false,"pushed_at":"2025-05-06T14:23:03.000Z","size":23070,"stargazers_count":5666,"open_issues_count":321,"forks_count":514,"subscribers_count":75,"default_branch":"main","last_synced_at":"2025-05-06T16:16:43.927Z","etag":null,"topics":["dashboarding","jupyter","jupyter-notebook","jupyterlab-extension"],"latest_commit_sha":null,"homepage":"https://voila.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voila-dashboards.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-21T14:21:42.000Z","updated_at":"2025-05-06T14:23:08.000Z","dependencies_parsed_at":"2024-04-06T15:31:45.554Z","dependency_job_id":"4738cd11-701e-44a7-a99f-a691b295d1b5","html_url":"https://github.com/voila-dashboards/voila","commit_stats":{"total_commits":1059,"total_committers":83,"mean_commits":"12.759036144578314","dds":0.7790368271954674,"last_synced_commit":"9982c78931fd5fbab60b4edc5f00cb353665c9a2"},"previous_names":["quantstack/voila"],"tags_count":190,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voila-dashboards%2Fvoila","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voila-dashboards%2Fvoila/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voila-dashboards%2Fvoila/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voila-dashboards%2Fvoila/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voila-dashboards","download_url":"https://codeload.github.com/voila-dashboards/voila/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990456,"owners_count":21995773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboarding","jupyter","jupyter-notebook","jupyterlab-extension"],"created_at":"2024-07-31T15:01:21.743Z","updated_at":"2025-05-13T17:04:16.472Z","avatar_url":"https://github.com/voila-dashboards.png","language":"Python","funding_links":[],"categories":["Python","Data Visualization and Mission Control","Data Science Notebook Frameworks","Runtimes/Frontends","Uncategorized","Interaction","data analysis","jupyter-notebook","HarmonyOS","Python 程序","jupyterlab-extension","Data Science Notebook","Jupyter-Notebook分享与格式转换","Computational","📈 Dashboards \u0026 BI","Data Dashboards and Web Applications","Notebook Sharing \u0026 Conversion"],"sub_categories":["Command Line Interface","Uncategorized","Data Visualization and Mission Control","Windows Manager","网络服务_其他","Neat python","Tools","Data Visualization Frameworks with Interactive Jupyter Integrations"],"readme":"# ![voila](docs/voila-logo.svg)\n\n[![Documentation](http://readthedocs.org/projects/voila/badge/?version=latest)](https://voila.readthedocs.io/en/latest/?badge=latest)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/voila-dashboards/voila/stable?urlpath=voila%2Ftree%2Fnotebooks)\n[![Discourse](https://img.shields.io/badge/help_forum-discourse-blue.svg)](https://discourse.jupyter.org)\n[![Zulip](https://img.shields.io/badge/social_chat-zulip-blue.svg)](https://jupyter.zulipchat.com)\n\nRendering of live Jupyter notebooks with interactive widgets.\n\n## Introduction\n\nVoilà turns Jupyter notebooks into standalone web applications.\n\nUnlike the usual HTML-converted notebooks, each user connecting to the Voilà\ntornado application gets a dedicated Jupyter kernel which can execute the\ncallbacks to changes in Jupyter interactive widgets.\n\n- By default, Voilà disallows execute requests from the front-end, preventing\n  execution of arbitrary code.\n- By default, Voilà runs with the `strip_sources` option, which strips out the\n  input cells from the rendered notebook.\n\n## Installation\n\nVoilà can be installed with the mamba (or conda) package manager from conda-forge\n\n```\nmamba install -c conda-forge voila\n```\n\nor from PyPI\n\n```\npip install voila\n```\n\n### JupyterLab preview extension\n\nVoilà provides a JupyterLab extension that displays a Voilà preview of your Notebook in a side-pane.\n\nStarting with JupyterLab 3.0, the extension is **automatically installed** after installing `voila`\nwith `pip install voila`.\n\nIf you would like to install the extension from source, run the following command.\n\n```\njupyter labextension install @voila-dashboards/jupyterlab-preview\n```\n\n## Usage\n\n### As a standalone tornado application\n\nTo render the `bqplot` example notebook as a standalone app, run\n`voila bqplot.ipynb`.\nTo serve a directory of jupyter notebooks, run `voila` with no argument.\n\nFor 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](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) and render the notebook with\n\n```\nmamba env update -f .binder/environment.yml\ncd notebooks/\nvoila bqplot.ipynb\n```\n\nFor more command line options (e.g., to specify an alternate port number),\nrun `voila --help`.\n\n### As a server extension to `notebook` or `jupyter_server`\n\nVoilà can also be used as a Jupyter server extension, both with the\n[notebook](https://github.com/jupyter/notebook) server or with\n[jupyter_server](https://github.com/jupyter/jupyter_server).\n\nTo install the Jupyter server extension, run\n\n```\njupyter serverextension enable voila\njupyter server extension enable voila\n```\n\nWhen running the Jupyter server, the Voilà app is accessible from the base url\nsuffixed with `voila`.\n\n## Documentation\n\nTo get started with using Voilà, check out the full documentation:\n\nhttps://voila.readthedocs.io/\n\n## Examples\n\nThe following two examples show how a standalone Jupyter notebook can be turned into a separate app, from the command-line integration.\n\n### Rendering a notebook including interactive widgets and rich mime-type rendering\n\n![Voilà basics](voila-basics.gif)\n\n### Rendering a notebook making use of a custom widget library ([bqplot](https://github.com/bloomberg/bqplot))\n\n![Voilà bqplot](voila-bqplot.gif)\n\n### Showing the source code for a Voilà notebook\n\nThe sources of the Jupyter notebook can be displayed in a Voilà app if option `strip_sources` is set to `False`.\n\n![Voilà sources](voila-sources.gif)\n\n### Voilà dashboards with other language kernels\\*\\*\n\nVoilà 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-cling](https://github.com/jupyter-xeus/xeus-cling), and the [xleaflet](https://github.com/jupyter-xeus/xleaflet) project.\n\n![Voilà cling](voila-cling.gif)\n\n## The Voilà Gallery\n\nThe [Voilà Gallery](https://voila-gallery.org) is a collection of live dashboards and applications built with Voilà and Jupyter widgets.\n\nMost 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.\n\nNew examples can be added to the gallery by following the steps listed in the [voila-gallery/gallery](https://github.com/voila-gallery/gallery) repository.\n\n## Development\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) to know how to contribute and set up a development environment.\n\n## Related projects\n\nVoilà depends on [nbconvert](https://github.com/jupyter/nbconvert) and\n[jupyter_server](https://github.com/jupyter/jupyter_server/).\n\n## License\n\nWe use a shared copyright model that enables all contributors to maintain the\ncopyright on their contributions.\n\nThis software is licensed under the BSD-3-Clause license. See the\n[LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoila-dashboards%2Fvoila","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoila-dashboards%2Fvoila","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoila-dashboards%2Fvoila/lists"}