Code Notebooks

Es ist unter anderem für die Reproduzierbarkeit von Vorteil, wenn Kommentare, Code und Forschungsergebnisse in einem Dokument zusammengefasst werden. In einem Code Notebook können ausführbarer Code, Texte, Visualisierungen und andere Multimedia-Inhalte kombiniert werden, interaktiv Code geschrieben, explorative Analysen durchgeführt werden oder Code-Projekte entwickelt und präsentiert werden.

Ein Code Notebook macht es also möglich, Ihre Forschung in einem einzigen “Dokument” zu kapseln und beispielsweise Code auszuführen, zu erklären und so Ihre Forschungsarbeit darzustellen und zu öffnen.

Ein bekanntes Beispiel für Code Notebooks sind Jupyter Notebooks. Damit können Dokumente erstellt und ausgetauscht werden, die Live-Code, Gleichungen, Visualisierungen und Dokumentation enthalten. Dabei werden viele Programmiersprachen, wie Julia, Python und R, unterstützt. 

Code Notebooks benötigen eine entsprechende Software-Umgebung. Wenn Sie diese nicht lokal installieren möchten oder können, gibt es für Code Notebooks oft auch sogenannte Cloud-Umgebungen. Jupyter stellt mit JupyterHub beispielsweise eine eigene Cloud-fähige Umgebung für Jupyter Notebooks bereit. Cloud-fähig bedeutet, dass Jupyter Hub nur die Technologie anbietet, aber nicht das Hosting in einer Cloud-Umgebung. Prinzipiell kann jede Einrichtung lokal eine eigene Jupyter-Hub-Umgebung aufsetzen und darüber ihren Forschenden Jupyter Notebooks zur Verfügung stellen. Darüber hinaus gibt es kommerzielle Anbieter im Umfeld von Google und Amazon. Mit MyBinder gibt es eine Open-Source-Lösung, um Jupyter Notebooks direkt aus einem Git-Repositorium heraus zu starten und zu teilen. Die Umgebung gilt aber als temporär. Das heißt, Änderungen können nicht direkt in der MyBinder-Umgebung gespeichert, aber zumindest wieder zurück ins GitHub-Repositorium übertragen werden. Perspektivisch will auch die European Open Science Cloud (EOSC) einen Service für Jupyter Notebooks anbieten. 

Jupyter Notebooks werden in der Wissenschaft durchaus genutzt. Sie können beispielsweise auf Plattformen wie GitHub auf Tool geteilt werden. Des Weiteren werden Jupyter Notebooks von Journals der American Economic Association (AEA) akzeptiert, um die Forschungsergebnisse einer Publikation auf Reproduzierbarkeit hin zu überprüfen.

Wenn Sie eine Ausführungsumgebung für Ihren Code nicht mit einem Code Notebook abbilden können, so könnten auch Container auf KB-Eintrag Container  in Frage kommen.

Tipp: Mit “How to Use Jupyter Notebook: A Beginner’s Tutorial bietet Dataquest eine gute Einführung in Jupyter Notebooks an.