Definition Was ist Jupyter?

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

Das Jupyter-Projekt ist eine nicht gewinnorientierte Initiative mit der Zielsetzung, Open Source Software und offene Standards für interaktives Arbeiten zu entwickeln und bereitzustellen. Eines der bekanntesten Produkte des Projekts ist Jupyter Notebook. Es handelt sich um eine Client-Server-Anwendung für das Erstellen und Teilen interaktiver Arbeitsblätter. Weitere Produkte sind JupyterLab, JupyterHub und Voilà.

Firma zum Thema

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

Die Verwendung des Begriffs Jupyter ist nicht immer eindeutig. Jupyter wird teilweise für das Projekt Jupyter oder für Jupyter Notebooks, eines der wichtigsten Produkte des Projekts, verwendet. Das Jupyter-Projekt entstand im Jahr 2014 aus einer Ausgliederung des Projekts iPython. Der Name Jupyter setzt sich aus den Anfangsbuchstaben der Programmiersprachen Julia, Python und R zusammen. Über sogenannte Kernels unterstützt Jupyter aber auch zahlreiche weitere Sprachen wie C++, Ruby, Haskell, PHP, Java und viele andere.

Das Jupyter-Projekt arbeitet als nicht gewinnorientierte Initiative und verfolgt die Zielsetzung, Open Source Software und offene Standards für interaktives Arbeiten für verschiedene Programmiersprachen zu entwickeln und bereitzustellen. Neben dem bekanntesten Produkt Jupyter Notebook, eine Client-Server-Anwendung für das Erstellen und Teilen interaktiver Arbeitsblätter, stellt das Projekt weitere Produkte wie JupyterLab, JupyterHub oder Voilà zur Verfügung. Das Dateiformat der Jupyter Notebooks wird auf GitHub unterstützt.

Typische Anwendungsbereiche der Jupyter-Produkte sind wissenschaftliche Datenauswertungen, statistische Berechnungen und Visualisierungen sowie das Machine Learning. In diesen Bereichen haben sich die Jupyter-Produkte wie Jupyter Notebook als Quasi-Standard etabliert und Anwendungen wie die klassische Tabellenkalkulation teilweise verdrängt. Gründer des Jupyter-Projekts ist Fernando Pérez. Sämtliche Software des Projekts steht unter modifizierter BSD-Lizenz.

Die einzelnen Produkte des Projekts Jupyter

Im Folgenden ein kurzer Überblick über die bekanntesten Produkte des Jupyter-Projekts.

Jupyter Notebook

Jupyter Notebook ist das bekannteste Produkt des Jupyter-Projekts. Es wird daher oft mit dem Begriff Jupyter gleichgesetzt. Jupyter Notebook wurde im Jahr 2015 veröffentlicht. Es handelt sich um eine Software zum Teilen und Erstellen interaktiver Arbeitsblätter, die nach dem Client-Server-Prinzip arbeitet. In einem Jupyter Notebook lassen sich Zahlen, Texte, Grafiken und ausführbarer Programmcode zusammenfassen und Anwendern bereitstellen. Der Anwender greift per Webbrowser auf ein Notebook eines Jupyter-Notebook-Servers zu und kann mit den Daten und Informationen interagieren.

Kernel-Prozesse unterstützen eine Vielzahl an Programmiersprachen und sorgen für die Ausführung interaktiven Programmcodes. Das Format der Jupyter Notebooks ist das JSON-Format (JavaScript Object Notation). Typische Anwendungsbereiche der Notebooks sind wissenschaftliche Datenanalysen und -visualisierungen, wie sie beispielsweise im Statistikumfeld, für Business-Intelligence-Anwendungen oder im Machine Learning zum Einsatz kommen. Sinnvoll sind Jupyter Notebooks immer dann, wenn interaktive Datenanalysen und -visualisierungen einfach und elegant anderen Anwendern zur Verfügung gestellt und mit ihnen geteilt werden sollen. Die Jupyter Notebooks erlauben eine funktionsübergreifende Zusammenarbeit.

JupyterLab

JupyterLab ist ein neueres User Interface und Nachfolger des Jupyter Notebooks. Die Version 1.0 der Software erschien im Jahr 2019. Langfristig soll JupyterLab Jupyter Notebook ablösen. Bestandteile von JupyterLab sind die typischen Komponenten von Jupyter Notebook, die in einer flexibleren Benutzeroberfläche zusammengefasst sind. Über das User Interface wird eine Vielzahl verschiedener Workflows unterstützt. Das Konzept von JupyterLab ist auf Modularität und einfache Erweiterbarkeit ausgelegt. Über Plug-ins können neue Funktionskomponenten bereitgestellt und in das User Interface integriert werden. Beispielsweise lassen sich neben den Notebook-Dokumenten Terminals oder Editoren einbinden und Verknüpfungen zu Cloud-Services herstellen.

JupyterHub

JupyterHub stellt einen Multi-User-Server und Proxy für eine gemeinsame Umgebung von Jupyter Notebooks zur Verfügung. Über den Hub lassen sich mehrere Jupyter-Notebook-Server miteinander verknüpfen und in einer selbst gehosteten oder cloudbasierten Umgebung bereitstellen.

Voilà

Voilà ist ein Jupyter-Unterprojekt und wurde ursprünglich von QuantStack initiiert. Die Software konvertiert Jupyter Notebooks in Standalone-Webapplikationen. Jupyter Notebooks lassen sich dank der Konvertierung einfacher mit nicht-technischen Zielgruppen teilen. Es entstehen interaktive Dashboards oder Slideshows, über die der Ersteller hinsichtlich integrierter Funktionen und Informationen die volle Kontrolle ausübt. Der Anwender bedient und steuert die Applikationen per Webbrowser. Mithilfe von per Voilà erstellten Webapplikationen lässt sich zuverlässig verhindern, dass der Anwender beliebigen Code ausführt. Alle von Jupyter unterstützten Programmiersprachen werden auch von Voilà unterstützt. Voilà verwendet bereits vorhandene Komponenten, Dateiformate und Protokolle von Jupyter. Über ein Template-System entstehen flexibel anpassbarer Layouts. nbconvert konvertiert die Jupyter Notebooks in HTML. Der Jupyter Server agiert als Default-Backend.

Vorteile des Jupyter-Projekts

  • die Software steht unter Open-Source-Lizenz und ist kostenlos nutzbar
  • große Community im Netz verfügbar
  • Unterstützung einer Vielzahl verschiedener Programmiersprachen
  • einfaches Erstellen und Teilen interaktiver Inhalte
  • Nutzung des browserbasierten Client-Server-Prinzips – Anwender arbeiten mit ihren Standardwebbrowsern
  • Ausführung von Programmcode sowie Analyse und Visualisierung von Daten in einer integrierten, interaktiven Benutzeroberfläche
  • Unterstützung cloudbasierter Umgebungen und Services

(ID:47189060)

Über den Autor