Die erste, ganz lapidare Antwort lautet: Das kommt drauf an. Mit Jupyter können tatsächlich mehrere Dinge gemeint sein. Da wäre zum einen das Projekt Jupyter, eine Initiative für Open-Source-Software bzw. offene Standards und Dienste, die ihren Fokus auf Interactive Computing mit Unterstützung möglichst vieler Programmiersprachen gerichtet hat. Projekt Jupyter bietet verschiedene Produkte an. Zur Zeit sind das: Jupyter Notebook, Jupyter Kernels, Jupyter Hub und Jupyter Lab. Wenn irgendwo der Begriff „Jupyter“ fällt, ist meistens Jupyter Notebook gemeint – oder noch genauer: Die Anwendung Jupyter Notebook, mit der man sich ein digitales Dokument bauen kann, das ebenfalls Jupyter Notebook heißt. In diesem Post wollen wir uns vor allem mit der Notebook-Software und dem damit produzierten Output beschäftigten.
Was ist nun besonders an einem Jupyter Notebook? Man könnte es wohl als das ultimative Digitalnotizbuch bezeichnen. Vergesst Wikis und Google Drive und Evernote – Jupyter gestattet neben der eleganten Einbindung von Texten, Links, Bildern und Videos auch das Listing von Code und dessen Ausführung in Häppchen an Ort und Stelle. Sprich: Ein Jupyter Notebook kann auch interaktive Karten oder Datenvisualierungen enthalten – direkt hinter den entsprechenden Python-Schnipseln. Die sorgen übrigens teilweise für den Namen des Produkts, der ansonsten noch auf Julia und R zurückgeht: Ju–Pyt-eR. Inzwischen unterstützen die Notebooks Dutzende weitere Sprachen, darunter Schwergewichte wie C#, Java, JavaScript, PHP, Ruby, Scala oder Swift (hier kommen die Juptyer Kernels ins Spiel).
Entstanden sind Jupyter Notebooks in der Data-Science-Community. Deren inzwischen doppelt und dreifach erreichtes Ziel: Bessere Dokumentationen, bessere Workflows und bessere Zusammenarbeit im Bereich Scientific Computing.
Stichwort Zusammenarbeit: Notebooks lassen sich selbstverständlich teilen, und zwar auf vielfältige Art und Weise. So kann man sein Notebook nicht nur klassisch exportieren und verschicken (diverse Formate), sondern auch in ein Github-Repository packen, wo es dann kollaborativ beackert beziehungsweise erweitert werden kann. Falls die eigenen Jupyter-Ressourcen Teil eines komplexeren Projekts sind, das zur Ausführungen weitere Komponenten benötigt, bietet sich das Teilen per Docker-Container an.
Auch beim Ausführen der Notebook-Anwendung gibt es zahlreiche Optionen. Desktop-Anwendung, Betrieb in der großen Cloud (via binder), Jupyter auf einem selbstkonfigurierten Multi-User-Server (Jupyter Hub) – alles kein Problem.
Das Anfang 2018 erschiene Next-Generation-Webinterface (JupyterLab) hat der Software einen weiteren Schub gegeben.
Jupyter Notebook ist also ein fantastisches Tool. Nicht für Datenwissenschaftler und Entwickler, sondern auch für Projektmanager, Journalisten und Dokumentare.
Schicke Notebooks zum Stöbern gibt es unter anderem hier.
Wer Jupyter Notebooks ganz unkompliziert testen möchte, klickt hier.
Und zur umfangreichen Dokumentation geht es hier.