Definition Was ist Voilà?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Voilà wurde entwickelt, 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, dass 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.

Firmen zum Thema

(Bild: © aga7ta - stock.adobe.com)

Voilà wurde von QuantStack ins Leben gerufen und ist ein Unterprojekt des Jupyter-Projekts. Mit Voilà lassen sich Jupyter Notebooks in Standalone-Webapplikationen konvertieren. Es entstehen beispielsweise interaktive Dashboards oder Slideshows, die der Anwender per Webbrowser bedient, steuert und betrachtet. Das Konvertieren in eine Webapplikation vereinfacht das Teilen eines Jupyter Notebooks mit nicht-technischen Zielgruppen. Der Ersteller hat die volle Kontrolle über die Funktionen und Informationen, die der Zielgruppe zur Verfügung stehen. Die Ausführung beliebigen Codes durch den Anwender lässt sich zuverlässig unterbinden.

Sämtliche von Jupyter unterstützen Sprachen wie Julia, Python, R oder C++ und andere sind auch mit Voilà einsetzbar. Voilà benötigt den Jupyter Server und nbconvert. Die Software ist unter BSD-Lizenz frei verfügbar und lässt sich über das Python-Paketverwaltungsprogramm pip oder den Paketmanager conda installieren. Um die Möglichkeiten von Voilà und Anregungen zum Einsatz zu zeigen, ist im Internet unter dem Link https://voila-gallery.org/ die Voilà Gallery aufrufbar. Dort ist eine Sammlung von mit Voilà erstellten interaktiven Dashboards zu finden.

Was ist ein Jupyter Notebook und warum wurde Voilà entwickelt?

Um Voilà und die Vorteile der Konvertierung eines Jupyter Notebooks in eine Webapplikation besser zu verstehen, zunächst einige grundlegende Informationen zur Funktionsweise und zu den Einsatzmöglichkeiten eines Jupyter Notebooks. Jupyter Notebook wurde im Jahr 2015 vom Projekt Jupyter veröffentlicht. Ein Jupyter Notebook arbeitet nach dem Client-Server-Prinzip und erlaubt das Erstellen und Teilen interaktiver Arbeitsblätter. Interagieren kann der Nutzer eines Jupyter Notebooks mit seinem Standard-Webbrowser. Inhalte eines Jupyter Notebooks sind beispielsweise Texte, Grafiken, Bilder und direkt ausführbarer Programmcode.

Der Name Jupyter ist aus der Unterstützung der Programmiersprachen Julia, Python und R entstanden. Über die zahlreichen verfügbaren Kernels unterstützen Jupyter Notebooks viele weitere Sprechen wie C++, Ruby, PHP, Java und andere. Die Kernel-Prozesse sorgen für die Ausführung des interaktiven Codes und liefern die Ergebnisse zurück. Die Dateien eines Jupyter Notebooks haben das JSON-Format (JavaScript Object Notation). Zur Ausführung eines Jupyter Notebooks kommuniziert der Webbrowser mit dem Jupyter-Notebook-Server.

Einsatzbereiche

Typische Einsatzbereiche sind Datenauswertungen und Datenvisualisierungen im wissenschaftlichen oder wirtschaftlichen Umfeld. Die Jupyter Notebooks werden beispielsweise im Machine Learning, für Business-Intelligence-Anwendungen, für statistische Auswertungen, für grafische Darstellungen von Abhängigkeiten oder Trends und Vieles mehr eingesetzt. Die Nutzung von Jupyter Notebooks ist immer dann sinnvoll, wenn interaktive Datenauswertungen oder Ergebnisse von Datenanalysen auf eine elegante und einfache Art mit anderen geteilt werden sollen. Experten aus verschiedenen Bereichen arbeiten dank der Jupyter Notebooks funktionsübergreifend zusammen.

Schwächen zeigen Jupyter Notebooks, wenn sie einer technisch weniger versierten Zielgruppe zur Verfügung gestellt werden sollen. So lässt sich nur schwer verhindern, dass bei interaktiven Widgets beliebiger Code zur Ausführung kommt. Zudem ist es nicht immer möglich, die kausalen Zusammenhänge so darzustellen, dass sie das Zielpublikum leicht versteht. Oft finden sich aufgrund der Struktur der JSON-Dokumente die wichtigen Inhalte erst am Ende eines Jupyter-Notebook-Dokuments. Voilà erzeugt aus einem Jupyter Notebook ein interaktives Dashboard, mit dem das Zielpublikum einfacher arbeiten kann und das das Ausführen von nicht erwünschtem Code verhindert.

Funktionsweise und Merkmale von Voilà

Als Jupyter-Unterprojekt verwendet Voilà zahlreiche bereits vorhandene Jupyter-Komponenten und passt diese für das Konvertieren von Jupyter Notebooks in Standalone-Webapplikationen an. Das Kernel-Prinzip, interaktive Jupyter-Widgets und benutzerdefinierte Widgets werden unterstützt. Dank des Kernel-Prinzips sind viele verschiedene Programmiersprachen einsetzbar. Voilà verwendet Dateiformate und Protokolle von Jupyter und nutzt ein Template-System zum Erstellen flexibel anpassbarer Layouts. Die Ausführung beliebigen Codes eines Nutzers innerhalb eines interaktiven Dashboards lässt sich verhindern. Als Default-Backend kommt der Jupyter Server zum Einsatz. nbconvert sorgt für die Konvertierung des Jupyter Notebooks in HTML.

Was sind die Vorteile eines mit Voilà konvertierten Jupyter Notebooks?

Voilà erstellt aus einem Jupyter Notebook eine Standalone-Webapplikation, mit der das Zielpublikum per Webbrowser einfach und elegant arbeiten und interagieren kann. Die Voilà-Dashboards lassen sich mit beliebigen Standard-Browsern darstellen. Im Gegensatz zu einem interaktiven Jupyter Notebook ist es möglich, die Ausführung unerwünschten Codes zu verhindern. Die vielen verschiedenen verfügbaren Kernels unterstützen zahlreiche Programmiersprachen (mehr als 50 Programmiersprachen nutzbar). Voilà ist Open Source und unter BSD-Lizenz frei verfügbar. Die Software kann für wissenschaftliche, kommerzielle oder private Zwecke kostenlos verwendet werden.

(ID:47112988)