6. Computational Notebooks
- Erste Versionen von Computational Notebooks als Frontends
mitte der 1980er von Matlab, Mathematica & Maple
- interaktive Erstellung und Bearbeitung von Notebook-
Dokumenten
- formatierter Programmcode
- formatierter Text
- verschiedene Funktionen für Mathematik, Grafiken, GUI-
Komponenten, Tabellen und Sounds
- Standard-Textverarbeitungsfunktionen
- mehrsprachige Rechtschreibprüfung
- Ausgabe als Präsentation
7.
8. IPython (Interactive Python)
- Erste Version in 2001 von Fernando Pérez entwickelt
- Projekt stark beeinflusst von Mathematica und Maple
- Kommandozeileninterpreter
- Ermöglicht interaktives Arbeiten mit Python
- Verschiedene Frontends (Terminal, browserbasiert)
9. IPython (Interactive Python)
- Trennung von Backend (Pythoninterpreter) und Frontend
- Kernel - führen Code aus
- Clients - lesen Eingaben und präsentieren Ausgaben
- REPL (Read – Eval – Print – Loop) als Protokoll
- Mit IPython 4.0 sind die sprachunabhängigen Teile des
Projekts in das Projekt Jupyter umgezogen.
10. Ipython Kernel
- IPython Kernel ist ein
eigenständiger Prozess
- verantwortlich für die
Ausführung von Benutzercode
- Frontends kommunizieren
mittels JSON Nachrichten
über ØMQ Sockets
- Ein Kernelprozess kann mit
mehreren Frontends
gleichzeitig kommunizieren
(gemeinsame Variablen)
11.
12.
13. Jupyter Notebooks
- Ausgliederung aus dem IPython Projekt
- Direkte Unterstützung der Sprachen Julia, Python und R
- Webbasierte Interactive Computing Umgebung
- REPL Ansatz
- Wird stark im Bereich Data Science und in der Lehre
eingesetzt
- Notebooks können geteilt werden
- Notebooks können in verschiedenen Formaten exportiert
werden
- Default Notebook Files „.ipynb“ sind JSON Dateien
16. Jupyter Kernel
- Sprachunabhängig
- Jupyter Notebooks verwenden den IPython Kernel
- Weitere Sprachen werden als IPython Kernel
Wrapper implementiert oder als native Kernels
- Über 100 Kernel
(https://github.com/jupyter/jupyter/wiki/Jupyter-
kernels)
- Unterstützung für PowerShell oder C#
18. Jupyter - Ein visueller Überblick
https://jupyter.readthedocs.io/en/latest/architecture/visual_overview.htm
19. JupyterHub
- Jupyter Notebooks sind Einzelbenutzeranwendungen
- Für Multi-User Anwendungen sollte der JupyterHub
eingesetzt werden
Jupyter
Hub
20.
21. Anaconda – Lokale Installation
- (Python) Data Science Distribution
- Package Manager
- Kollektion von über 1000+ Open Source Packages
- Environment Manager
- Jupyter Notebooks, IPython, Orange3, RStudio,
Spyder
- Einfache Installation unter Windows
24. Azure Notebooks
- https://notebooks.azure.com
- Aktuell in der Preview Version
- PaaS Variante der Jupyter Notebooks
- Kostenloses Azure Angebot
- 4 GB Hauptspeicher pro Session
- Microsoft hält sich das recht vor, Speicher nach 60
Tagen Inaktivität zu löschen
25. Azure Notebooks
- Shutdown nach 60 Minuten inaktivität, Notebooks
werden vorher gespeichert
- Ist das Notebook nicht mit einem Notebook-Server
verbunden, können Änderungen nicht gespeichert
werden
- Bei Verbindungsproblemen zum Server, kann auch eine
„Connection failed“ Meldung kommen
- Über das Menü „Kernel“ stehen verschiedene Kernel-
Optionen zur Verfügung (Interrupt, Restart, Reconnect)
26. Azure Notebooks
- können als Slideshow dargestellt werden
- können in verschiedenen Formaten exportiert werden
- Kernel für die Sprachen Python, R und F#
- Python Packages können via pip oder conda installiert
werden
- R Packages können via CRAN oder Github installiert
werden
- F# Packages können über nuget.org installiert werden
28. Azure Notebook Library
- Libraries können Public oder Private sein
- Über Environments können Setup Schritte für den
Start einer Library hinzugefügt werden
- GitHub Repos können als vollständige Library
importiert werden
- HTML Vorschau für Public Libraries
- Libraries können geklont werden
29. Azure Notebook Library
- Zugriff auf die Libraries via Terminal
- Änderungen am dadrunter liegenden System, falls
die Azure Notebooks Fehler erzeugen
mv “05 – F# Beispiele.ipynb“ “05 – F Beispiele.ipynb“
50. Docker Images
docker run -it --rm -p 8888:8888 jupyter/minimal-
notebook
docker run -it --rm -p 8888:8888 jaykul/powershell-
notebook-base
51. Books
- Python Data Science Handbook
https://github.com/jakevdp/PythonDataScienceHandbook
- Probabilistic Programming and Bayesian Methods for Hackers
https://github.com/CamDavidsonPilon/Probabilistic-
Programming-and-Bayesian-Methods-for-Hackers
- Numerical Computing is Fun
https://github.com/mikkokotila/jupyter4kids
- Python for Developers
http://ricardoduarte.github.io/python-for-developers/
- IPython Cookbook
https://github.com/ipython-books/cookbook-2nd-code
52. Links
• ZeroMQ - http://zeromq.org/
• Jupyter Documentation - http://jupyter.readthedocs.io
• Jupyter - http://jupyter.org/
• Anaconda - https://anaconda.org/
• JupyterLab - https://jupyterlab.readthedocs.io/
• Anaconda Cheat Sheet
https://docs.anaconda.com/_downloads/Anaconda-Starter-Guide-Cheat-Sheet.pdf
• Jupyter Notebook Tutorial: The Definitive Guide
https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook
• F# CheatSheet
https://dungpa.github.io/fsharp-cheatsheet/
• Run R and Python Remotely in SQL Server from Jupyter Notebooks or any IDE
https://blogs.msdn.microsoft.com/mlserver/2018/07/10/run-r-and-python-remotely-in-
sql-server-from-jupyter-notebooks-or-any-ide/
53. Many thanks to all volunteers!
Ben Kettner
Volker Bachmann
Cornelia Matthesius
Gabi Münster
Kai Gerlach
Alexander Klein
Björn Peters
Christa Kurschat
Christian Gräfe
Dirk Hondong
Dominik Petri
Henrik Schütze
Kai Michael Poppe
Klaus Betzing
Nadine Witthöft
Tobias Blödt
Rafael Dabrowski
Tanja Salwiczek