Open Source: Interaktives Rechnen mit Jupyter-Notebooks
Ob der Test einer Signalverarbeitungs-Bibliothek oder die Hardware-Synthese für einen FPGA: Im Jupyterhub klappt das via Cloud.

Jupyter-Notebooks, nicht zu verwechseln mit einem physischen Laptop, sind in der Wissenschaft eine beliebte Darstellungsform, da sie auf elegante Weise die Ausführung von Code gemischt mit entsprechenden Anweisungen, Dokumentation oder Grafiken ermöglichen. Damit lassen sich unter anderem Resultate von Berechnungen nachvollziehen, mit eigenen Daten versorgen oder einfach reproduzierbare Tutorials zur Datenverarbeitung aus der gewohnten Browserumgebung heraus entwerfen.
- Open Source: Interaktives Rechnen mit Jupyter-Notebooks
- Per Docker-Container zur Quellcodebearbeitung
- Vielfältige Anwendungsmöglichkeiten umsetzbar
Der darunterliegende Kernel, genauer die Zwischenschicht, welche die Ausführung von Programmen ermöglicht, ist von Haus aus auf interaktive Ausführung von Python-Code zugeschnitten (ipykernel), es existieren aber auch andere Implementierungen, wie beispielsweise für die Sprache Julia, welche aufgrund ihrer verbesserten Performance gegenüber Python gerne in wissenschaftlichen Anwendungen eingesetzt wird.
Das darauf aufbauende Open-Source-Projekt Jupyterhub stellt eine Serverumgebung zur Verfügung, die es erlaubt, ohne lokale Installation ausführbare Notebooks mit der entsprechend nötigen Software in der Cloud oder auch lokal per Klick zu starten. Die Voraussetzung dafür ist, dass sich die Notebooks auf einem zugänglichen Git-Repository wie Github, Gitlab usw. befinden.
Per Binderhub zum Jupyter-Notebook
Für öffentliche Jupyter-Anwendungen übernimmt mybinder.org die Schirmherrschaft mit dem Projekt Binderhub, unterstützt durch mehrere Cloud-Hoster. Auf der Webseite findet sich zunächst eine einfache Eingabemaske, in die wir die URL zu einem Git-Repository (welches *.ipynb-Dateien enthält) eingeben können. Per Launch-Knopf wird der Server gestartet. Dabei passiert (per repo2docker-Script) Folgendes:
- Das Repository wird geklont und nach Konfigurationsdateien durchforstet.
- Basierend auf der Konfiguration wird ein Docker-Container mit Jupyter-Support gebaut und zwischengespeichert.
- Der Container wird gestartet und ein Jupyterlab-Serverprozess aktiviert, auf dessen URL der Browser schließlich weitergeleitet wird.
Das kann je nach Anwendung und Auslastung der Server etwas Zeit in Anspruch nehmen. Wenn nichts schiefgeht, präsentiert sich danach die Jupyterlab-IDE und es kann gearbeitet werden, allerdings sollte das auch aktiv geschehen. Die laufenden Jupyter-Kernels unterliegen einem Timeout und werden nach circa zehn Minuten Inaktivität beendet. Dann sind ohne Vorwarnung auch alle eingegebenen Daten erst mal weg oder müssen mühevoll manuell aus dem Notebook gerettet werden.
Wurde das Repository in seiner Konfiguration schon einmal gebaut, werden der erste und zweite Schritt übersprungen und der Server startet etwas schneller, auch hier wieder abhängig von der Konfiguration des Containers.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Per Docker-Container zur Quellcodebearbeitung |
# %% import pandas as pd import numpy as np # %% df = pd.read_excel("../data/raw/test...
Neben Binder gibt es noch eine ganze Reihe weiterer Möglichkeiten, wie man (mehr oder...
Erstmal, danke für den Artikel Jupyter ist echt cool und der Artikel hat sehr Interstate...