Voilà et Voici – Jupyter Notebooks im Web

Jupyter
JupyterLite
WASM
Python
Py5
Autor:in

Jörg Kantel

Veröffentlichungsdatum

13. März 2025

Nicht nur das Publizieren von mit Python entwickelten Spielen (sei es mit Pygame (-Zero) oder Arcade), sondern auch das Teilen von Juypter Notebooks im Web ist meistens eine Qual, zumindest wenn der Empfänger kein Python installiert hat und/oder nicht weiß, wie man ein Python-Skript startet. Um dem abzuhelfen, wurde Voilà entwickelt:

Voilà ist eine (freie) Anwendung (Quellcode auf GitHub), um Jupyter Notebooks in Standalone-Webapplikationen zu konvertieren. Aus einem Jupyter Notebook lassen sich beispielsweise Slideshows oder interaktive Dashboards erzeugen. Die Voilà-Webapplikationen vereinfachen das Teilen mit nicht-technischen Zielgruppen und verhindern, daß Anwender beliebigen Code ausführen. Voilà ist ein Unterprojekt des Jupyter-Projekts. Die Voilà Gallery stellt ist eine Sammlung von frei zugänglichen Beispielen zur Verfügung.

Doch das ist nicht alles, wenn Ihr Euer Voilá-Dashboard als statische Webseite veröffentlichen wollt, bietet das JupyterLite-Projekt auch noch Voici an:

Voici ist ein Tool zum Generieren statischer Dashboards aus Jupyter Notebooks. Es kann als direkter Ersatz für Voilà verwendet werden, verfügt über dieselben Befehle und unterstützt die meisten Konfigurationsoptionen von Voila.

Im Gegensatz zu Voila, das interaktive Dashboards serverseitig herausschreibt, verwendet Voici einen WebAssembly (WASM)-Kernel, um Notebooks im Browser zu rendern. Dadurch ist das resultierende Dashboard vollständig eigenständig und ohne serverseitige Abängigkeiten verteilbar.

Auch von Voici gibt es eine Galerie mit Beispielprojekten und der Quellcode ist ebenfalls auf GitHub zu finden.

Literatur

Voilà und Voici unterstützen nicht nur den Python-Kernel, sondern auch Julia und R (und auch Java und C(++)). Daher sollte ich unbedingt einmal testen, ob nicht auch Py5-Skripte damit ins Netz gestellt werden können. Still digging!


Bild: Voilà et Voici, erstellt mit OpenArt.ai. Prompt: »Colored French Comic Style. Two pretty young ladies, one blonde with blue eyes, the other with long red hair and green eyes, both with wide necklines, are sitting on a cafe terrace in front of a laptop with data visualizations. It’s spring, the sun is shining, and the Eiffel Tower is visible in the background«. Modell: Flux (Pro), Style: None.