Techtiefen

#34 Jupyter Notebooks


Listen Later

Notebooks sind im Data Science Umfeld allgegenwärtig, in anderen Bereichen der Informatik aber vielleicht noch weitgehend unbekannt. Deshalb erklärt Nico mit seinen Gästen Hans Fangohr und Harald Schilly sowohl was Notebooks überhaupt sind und wie sich das Arbeiten damit anfühlt, geben aber auch zahlreiche Tipps und Empfehlungen für erfahrene Nutzer.

Notebooks können in vielen Szenarien eingesetzt werden. Durch die Kombination von Dokumentation und ausführbarem Code eignen sie sich natürlich hervorragend für Schulungen, aber auch für die Dokumentation von Projekten und explorative und forschungslastigen Arbeiten. Zwar existieren zahlreiche Implementierungen von Notebooks (etwa Googles Colab oder Apache Zeppelin), das Jupyter-Ökosystem bestehend aus den klassischen Notebooks, dem Lab sowie dem Hub. Sie eint die gemeinsame Entstehungsgeschichte basierend auf der IPython-Konsole sowie das gemeinsame, JSON-basierte Dateiformat iypnb.

Dieses Dateiformat ermöglicht einen flüssigen Übergang zwischen verschiedenen Notebook-Implementierungen, die Ausführlichkeit sowie die Klammer-Struktur erschwert aber Versionskontrolle und macht Merge-Requests unübersichtlich. Wir unterhalten uns ausführlich über verschiedene Ansätze, etwa zu alternativen Formaten wie RMarkdown und dem percent-format und deren Synchroni JupyText.

Kommentare

Wenn ihr nicht im Data Science / Python Umfeld unterwegs seid: Kanntet ihr Jupyter Notebooks bereits? Wenn ja, wofür habt ihr sie eingesetzt: Hinterlasst mir einen Kommentar

Links
Jupyter

https://jupyter.org/: Übersichtsseite Projekt Jupyter

JupyterHub: Server für Notebooks mit Benutzerverwaltung

JupyterLab: moderne Implementation, multiple Dokumente, etc.

NBConvert: konvertierung nach plain Text, Python, LaTeX/PDF, HTML

Alternative Jupyter

Colab: Notebooks von Google

Zeppelin: Apache Alternativ Projekt

CoCalc: Echtzeit Synchronisation von Notebooks, uvm

Deepnote: Notebooks für Data Science, etc.

Nteract: Desktop App

Notebooks in einer IDE: PyCharm, VSCode etc.

Magics

Einige unserer Lieblings-Magic-Befehle (hier ist eine ausführlichere Liste)

# Load an external Plugin
%load_ext autoreload
# Automatically re-import libraries
%autoreload
# Messen der Ausführungszeit einerZelle
%timeit
# Ausführen eines notebooks im Namensraum des aktiven Notebooks
%run my_helper.ipynb
# Den Inhalt der Zelle in eine Datei Schreiben
%%writefile
Weitere Plugins und Links

Sublime Features – ohne die Nico nicht leben kann.

Nico’s Opinionated Guide für Notebook Versionierung

IPython Widgets: Haralds Empfehlung für Interaktivität in Notebooks

JupyText: synchronisation von/nach anderen Text Formaten

NBGrader: Kursverwaltung und automatisiertes Beurteilen von Notebooks von Studierenden mittels eingebetteter Tests

Jupyter{Book} HTML/PDF Publikationen basierend auf Notebooks

Beispiel für Einfuehrung in Python (mit Jupyterbook)

NBVAL zur Validierung von Notebooks (erstellt von Hans)

MyBinder: Ad-hoc ausführen von Jupyter Notebook instanzen, keine Persistenz

Jupyter Book – Zur Erstellung von Büchern in building beautiful, publication-quality books

Nbgrader: automatisches Benoten von Notebooks im Unterricht

OSCOVIDA Projekt: Ein Projekt zur Visualisierung von Covid Daten mittels Jupyter

...more
View all episodesView all episodes
Download on the App Store

TechtiefenBy Nico Kreiling


More shows like Techtiefen

View all
Hotel Matze by Matze Hielscher & Mit Vergnügen

Hotel Matze

137 Listeners