Project Jupyter
Project Jupyter ( [ˈdʒuːpɪtər] ) ist der Herausgeber von Softwareprodukten für interaktive wissenschaftliche Datenauswertung und wissenschaftliche Berechnungen. Der Name Jupyter bezieht sich auf die drei wesentlichen Programmiersprachen Julia, Python und R und ist auch eine Hommage an Galileos Notizbucheinträge zur Entdeckung der Jupitermonde, bei denen Galileo Beobachtungen und Messdaten zusammen mit Metadaten darstellte. Project Jupyter hat die Produkte Jupyter Notebook, JupyterHub und JupyterLab entwickelt.
Project Jupyter (Jupyter) | |
---|---|
Rechtsform | Non-Profit-Organisation |
Gründung | 2014 |
Gründer | Fernando Pérez |
Zweck | Unterstützung interaktiver wissenschaftlicher Datenauswertungen und wissenschaftlicher Berechnungen mit allen Programmiersprachen.[1] |
Website | https://jupyter.org/ |
Philosophie
Herausgeber ist eine Non-Profit-Organisation, die gegründet wurde, um Open-Source-Software, offene Standards und Services für interaktives Arbeiten mit Dutzenden Programmiersprachen zu entwickeln.[2] Das Projekt Jupyter unterstützt interaktive wissenschaftliche Datenauswertungen und wissenschaftliche Berechnungen mit allen Programmiersprachen durch die Entwicklung von Open-Source-Software. „Jupyter wird immer 100 % Open-Source-Software sein, für alle frei zu benutzen unter einer modifizierten BSD-Lizenz.“[1]
Jupyter wird bereits als Alternative zu Microsoft Excel gehandelt, da es eine Vielzahl von Vorteilen gegenüber der klassischen Tabellenkalkulation bietet, z. B. geringere Fehleranfälligkeit, Wiederverwendbarkeit oder bessere interne Dokumentation.[3][4]
Geschichte
Im Jahr 2014 gab Fernando Pérez eine Ausgliederung aus dem Projekt IPython bekannt mit dem neuen Namen Project Jupyter.[5] IPython existiert weiter als Python Shell und Kernel für Jupyter, während das Notebook und andere sprachunabhängige Teile nun unter dem Namen Jupyter weiterentwickelt werden.[6] Jupyter ist sprachunabhängig und unterstützt die Ausführung vieler verschiedener Sprachen wie Julia, R, Haskell, Ruby und Python (über den IPython-Kernel).[7]
Im Jahr 2015 gaben GitHub und das Project Jupyter bekannt, dass das Dateiformat des Jupyter Notebooks auf der GitHub-Plattform unterstützt wird.[8][9]
Produkte
Jupyter Notebook
Jupyter Notebook (früher IPython Notebooks) ist eine web-basierte interaktive Umgebung, mit der Jupyter-Notebook-Dokumente erstellt werden können. Ein Jupyter-Notebook-Dokument ist ein JSON-Dokument mit einem versionierten Schema, das aus einer Liste von Eingabe- und Ausgabezellen besteht, die jeweils Code, Text und Plots enthalten können. Die Dateinamensendung ist „.ipynb“. Ein Jupyter Notebook kann aus der Browseroberfläche heraus in verschiedene Formate konvertiert werden (HTML, PDF, LaTeX und Folien für Präsentationen).
Das Jupyter Notebook bietet im Browser eine Schleife aus Eingabe, Ausführung und Ausgabe, und baut dabei auf weit verbreitete Open-Source-Bibliotheken auf:
- IPython – Kommandozeileninterpreter zum interaktiven Arbeiten mit der Programmiersprache Python
- ZeroMQ – asynchrone Nachrichtenaustauschbibliothek für High-throughput computing
- Tornado – nicht blockierender Webserver sowie ein einfaches Mikro-Webframework in Python
- jQuery – JavaScript-Bibliothek, die Funktionen zur DOM-Navigation und -Manipulation zur Verfügung stellt
- Bootstrap – Frontend-CSS-Framework mit Gestaltungsvorlagen für Navigations- und andere Oberflächengestaltungselemente
- MathJax – JavaScript-Bibliothek, die mathematische Formeln und Gleichungen, die in LaTeX und MathML Markup geschrieben wurden, in Webbrowsern grafisch darstellt
Jupyter Notebook kann verschiedene Kernels aufrufen, um die Programmierung bzw. interaktive Ausführung von Anweisungen in verschiedenen Sprachen zu unterstützen.
Jupyter Kernel
Ein Jupyter Kernel ist ein Programm, das verschiedene Arten von Anfragen bearbeitet (Ausführung von Code, Code-Vervollständigung und Code-Inspektion) und Antworten zurückschickt. Da Kernels über ZeroMQ kommunizieren, können sie auf der gleichen Maschine oder auf anderen Maschinen im Netzwerk laufen. Kernels erkennen nicht, mit welchem Dokument sie verbunden sind, und können von vielen Clients aufgerufen werden. In der Regel ist ein Kernel für eine Programmiersprache ausgelegt.
Der Kernel für Python wird mit ausgeliefert. Im Dezember 2019 existierten 137 Kernels für verschiedene Programmiersprachen.[7]
JupyterHub
Ein JupyterHub ist ein Multi-User-Server für Jupyter Notebooks.[10]
JupyterLab
Das JupyterLab ist das Nachfolgeprodukt für die Benutzeroberfläche. Es bietet die Elemente des Jupyter Notebooks in einer flexiblen Benutzeroberfläche. Das erste Release wurde am 20. Februar 2018 angekündigt.[11]
Produkte anderer Hersteller
Das Jupyter Notebook hat sich als Benutzeroberfläche für Cloud Computing verbreitet. Große Cloud-Anbieter haben angepasste Tools für Cloud-Anwender entwickelt. Beispiele dafür sind Amazon SageMaker[12], Googles Colaboratory[13] und Microsofts Azure Notebook[14].
Neben Python und Jupyter Notebook ist Matlab ein weit verbreitetes Werkzeug im Bereich Data Science und des maschinellen Lernens. In der Version R2016a wurden in Matlab erstmals sog. Live Scripts eingeführt, die ebenfalls eine interaktive Verknüpfung von Code, Text, Formeln und Plots ermöglichen.
Medienberichte
- Am 11. Februar 2016 gab LIGO die erste Beobachtung von Gravitationswellen bekannt. Mit den Rohdaten wurden auch Jupyter Notebooks veröffentlicht, mit denen die Daten verarbeitet wurden, damit die Analyse der Daten nachvollzogen werden kann.[15]
- Am 5. April 2018 veröffentlichte The Atlantic einen Artikel über die Bedeutung von Jupyter Notebooks und Mathematica Notebooks für zukünftige wissenschaftliche Veröffentlichungen.[16]
Auszeichnungen und Zuwendungen
- 2012 erhielt Fernando Pérez den FSF Award für seine Arbeit an IPython, dem Vorgänger von Project Jupyter.
- 2013 erhielt das IPython-Team eine Zuwendung von 1,15 Millionen US-Dollar von der Alfred P. Sloan Foundation. Hiermit wurde die frühe Arbeit finanziert, die zum Project Jupyter führte.
- 2015 erhielt das Project Jupyter eine Zuwendung von 6 Millionen US-Dollar von The Leona M. and Harry B. Helmsley Charitable Trust, Gordon and Betty Moore Foundation und Alfred P. Sloan Foundation. Damit wurde die Weiterentwicklung der Jupyter Tools und die Neuentwicklung des JupyterLabs finanziert.
- Am 2. Mai 2018 wurde dem Lenkungsausschuss des Project Jupyter der ACM Software System Award verliehen „für die Entwicklung einer Software, die einen langfristigen Einfluss hat, der sich als Beitrag zu Konzepten, kommerzieller Akzeptanz oder beidem widerspiegelt.“
Siehe auch
Weblinks
- Offizielle Website
- Project Jupyter bei GitHub
- PLOTCON 2016: Fernando Perez, The architecture of Jupyter auf YouTube
- Jupyter Tutorial bei Read the Docs
- Sind Jupyter Notebooks produktionsreif? Cusy GmbH (Blog des Unternehmens Cusy GmbH).
Einzelnachweise
- Project Jupyter – About Us. 20. April 2018, abgerufen am 12. Dezember 2019 (englisch).
- Project Jupyter. Abgerufen am 13. November 2020.
- Sally Poundall: SearchLove London 2019: The Great Big Round Up. Abgerufen am 26. März 2020 (amerikanisches Englisch).
- Using Jupyter to make marketing easier | Robin Lord. In: Robin Lord - Marketer, Speaker, Writer. 16. März 2020, abgerufen am 26. März 2020 (englisch).
- Project Jupyter. 8. Juli 2014, abgerufen am 12. Dezember 2019 (englisch).
- The Big Split™. 16. April 2015, abgerufen am 12. Dezember 2019 (englisch).
- Jupyter kernels. GitHub, 10. Dezember 2019, abgerufen am 12. Dezember 2019 (englisch).
- GitHub + Jupyter Notebooks = <3. GitHub, 7. Mai 2015, abgerufen am 12. Dezember 2019 (englisch).
- Rendering Notebooks on GitHub. Jupyter Blog, 7. Mai 2015, abgerufen am 12. Dezember 2019 (englisch).
- What is JupyterHub? jupyter.org, abgerufen am 12. Dezember 2019 (englisch).
- JupyterLab is Ready for Users. Jupyter Blog, 20. Februar 2018, abgerufen am 12. Dezember 2019 (englisch).
- Amazon SageMaker. Amazon, abgerufen am 12. Dezember 2019 (englisch).
- Welcome to Colaboratory! Google, abgerufen am 12. Dezember 2019 (englisch).
- Develop and run code from anywhere with Jupyter notebooks on Azure. Microsoft, abgerufen am 12. Dezember 2019 (englisch).
- Use Python Notebook to Discover Gravitational Waves. IBM, 13. Februar 2016, abgerufen am 12. Dezember 2019 (englisch).
- Jupyter, Mathematica, and the Future of the Research Paper. paulromer.net, 13. April 2018, abgerufen am 12. Dezember 2019 (englisch).