Vielfältige Anwendungsmöglichkeiten umsetzbar
Die Jupyter-Umgebung braucht sich vor einer klassischen IDE nicht zu verstecken. Für eine Vielzahl von Dateiformaten bietet der eingebaute Editor (der eher für längere Quelltexte genutzt wird) entsprechende Kontextsensitivität wie Highlighting, zudem lässt sich für die Puristen vim- oder emacs-Verhalten einstellen.
So lässt sich auch fernab klassischer Python-Programmierung ein Lehrgang erstellen, der z. B. die Anwendung einer C-Bibliothek, deren Kompilation oder ein Beispiel zur Ein- und Ausgabe dokumentiert. Beispielsweise:
- Systemtest einer Signalverarbeitungs-Bibliothek
- Modellierung von Filtern per Octave-Erweiterung
- Gegentest (Co-Simulation) von DSP-Algorithmen als Hardware-Implementationen
- Hardware-Synthese für FPGA aus ebendiesen Beschreibungen
Die Jupyterlab-IDE lässt sich auf mehrere Arten elegant erweitern. Dazu ist eine Auswahl eingebaut, die Erweiterungen von Drittparteien anzeigt und per Klick installiert. Nach Installation einer Erweiterung findet sich typischerweise ein weiteres grafisches Element in der Menüleiste oder es lässt sich eine neue Cell-Magic-Anweisung wie %cd in einer Jupyter-Zelle eingeben, die den folgenden Code oder Kommandos speziell behandelt. Einige Beispiele für nützliche Erweiterungen:
- RISE für Erstellung von Slide-Präsentationen
- Cython als Magic-Zellanweisungen, um bestehenden Python-Code automatisch als C-DLL zu kompilieren
- pytest-notebook zum automatisches Testen von Notebooks
Letztere Erweiterung ist insbesondere in der laufenden Entwicklung hilfreich und hilft sicherzustellen, dass nach größeren Releases und der Ansammlung von Testszenarien auch noch alles funktioniert wie davor und die technische Dokumentation zu einem API oder ein 'HOWTO' mit Kommandosequenzen noch auf dem aktuellen Stand ist.
Neben den Timeouts und der fehlenden Speichermöglichkeit gelten bei mybinder.org noch einige Einschränkungen. Aufwendige Berechnungen und großer Speicherbedarf können unter Umständen dazu führen, dass man temporär von der Nutzung ausgeschlossen wird, bis auch sichergestellt ist, dass die Server nicht per Bot-Software für Kryptomining oder Ähnliches missbraucht werden. Weitere Einschränkungen gegenüber der lokalen Installation:
- Keine nachträgliche Installation von Softwarepaketen auf Systemebene (keine Root-Rechte per sudo)
- Beschränkte Netzwerkverbindungen (git, http)
- Absolute URL-Pfade auf laufende Notebooks sind nur per Sitzung gültig und können für Links nicht verwendet werden.
Den Lesern, die nun Appetit auf mehr bekommen haben, sei das erfrischend geschriebene Tutorial Zero-to-Binder nahegelegt, welches ebenfalls direkt auf der mybinder-Einstiegsseite verlinkt ist. Dort finden sich auch weitere Listen von Beispiel-Repositories.
Nicht zuletzt sollte auch erwähnt werden, dass diese kostenlose Cloud-Umgebung von einer Föderation, der Binder Federation, bestehend aus Hostern wie OVH, Google Cloud, wie auch dem GESIS Leibniz-Institut getragen wird. Es bleibt zu hoffen, dass dieses Ökosystem als de-facto-Standard auch weiterhin Schule macht.
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...