Jupyter Notebook und JupyterLab
Die preisgekrönte Software Jupyter Notebook ist in vielen Forschungsbereichen zum Defacto-Standard geworden. Bei der Entwicklung von Algorithmen, der Verarbeitung von Daten und der Zusammenarbeit in offenen Forschungsprozessen spielt die Software ihre Stärken aus. JupyterLab ist die Weiterentwicklung von Jupyter Notebook und bietet vor allem auf der Benutzeroberfläche einige sinnvolle Neuerungen (vgl. Abb. 1).
Arbeitsweise
Die klassische Arbeit in Jupyter Notebooks beginnt mit dem Import von Daten. Mit zahlreichen Skript- und Programmiersprachen können diese aufbereitet, analysiert und visualisiert werden. Da Jupyter Notebook mit so genannten Zellen arbeitet, können sich Codezellen und Textzellen abwechseln. Code wird direkt in den Zellen ausgeführt, Texte werden in Markdown verfasst. Dadurch können Hypothesen und Annahmen über die Daten formuliert und anschließend mithilfe von Code direkt überprüft werden. Die folgende Zelle hält dann die Beobachtung und Interpretation fest. So entstehen reproduzierbare Forschungstagebücher und im fortgeschrittenen Stadium publikationsreife Artikel. Abb. 2 zeigt an einem einfachen Beispiel die Verzahnung von Text und Code.
Reproduzierbare Forschung
Die Jupytertools haben deshalb in vielen verschiedenen Domänen einen bedeutenden Stellenwert erlangt, weil sie den klassischen wissenschaftlichen Workflow so komprimiert abbilden wie ein Burger ein Dreigängemenü: Salat und Brot als Vorspeise, Fleisch im Hauptgang und Käse zum Abschluss. Für Jupyter Notebook heißt das: Forschen, Schreiben, Publizieren. Wie auch der Hamburger die Abfolge der drei Gänge zeitlich und räumlich in sich vereint, finden auch in einem Notebook die drei Schritte des wissenschaftlichen Arbeitens zeitgleich und iterativ statt: Während ich forsche, schreibe ich, was ich beobachte, forsche mit neuen Erkenntnissen weiter, schreibe usw., bis ich einen Text habe, den ich veröffentlichen kann.
So ist es vorstellbar, einen “Nur-Lesen”-Text in einem renomierten Journal zu veröffentlichen, die interaktiven Notebooks über ein Git[Hub|Lab]-Repository zugänglich zu machen, dieses Repo über Zenodo mit einem Digital Object Identifier (DOI) zu versehen und auf diesen in der Publikation zu verweisen. Tools wie bspw. binder erlauben Wissenschaftler_innen dann, die Notebooks aus dem Git[Hub|Lab]-Repo direkt im Browser interaktiv nachvollziehen zu können, um damit die Ergebnisse aus der Publikation zu reproduzieren und zu prüfen. Abb. 3 visualisiert diesen möglichen Workflow exemplarisch.
Über den folgenden Button kann das Beispiel aus Abb. 2 direkt im Browser nachvollzogen werden. In der sich öffnenden Ansicht ist die Datei jupyter-beispiel.ipynb
anzuklicken.
Installation und Einsatz
Jupyter Notebook und JupyterLab laufen auf allen relevanten Betriebssystemen als Browsertool und können bspw. mithilfe von Anaconda auf dem eigenen Rechner installiert werden. Über eine serverseitige Installation von JupyterHub sind auch kollaborative Arbeiten an Daten- und Forschungsprojekten möglich. Die TUHH verfügt seit 2018 über einen JupyterHub, der im WiSe 2018/19 erstmals auch für elektronische Prüfungen eingesetzt wird.
Jupyter-Notebook-Installation können einfach über Plugins erweitert werden. So können z.B. mit RISE Präsentationen direkt aus Notebooks erstellt werden. Jede Zelle kann dabei zu einer eigenen Folie werden, in der der Code bei einer Präsentation live ausgeführt werden kann!