Mercury: Mit Jupyter erstellte Anwendungen als Web-App aufbereiten

Jupyter-Notebooks glänzen beim schnellen Umsetzen von Prototypen. Will man daraus Webanwendungen machen, kann man das ohne WebDev-Kenntnisse mit Mercury.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
Frau tippt an Laptop Kommentare

(Bild: alphaspirit/hutterstock.com)

Lesezeit: 4 Min.
Von
  • undefined
Inhaltsverzeichnis
Mehr zu Tools

Jupyter-Notebooks haben sich als Tool zur Datenanalyse auf breiter Front etabliert. Die zellbasierte interaktive Nutzung mit einer möglichen Mischung aus Textausgaben, Tabelle und Grafiken eignet sich hervorragend für Data Scientists, um Erkenntnisse aus Daten zu gewinnen. Einfache Programme, Berechnungen oder interaktive Aufgaben lassen sich mit den Notebooks umsetzen. Die so implementierten Prototyp-Applikationen will man jedoch verfügbar machen, ohne dabei den eigenen Code zu exponieren.

Prof. Christian Winkler

ist Data Scientist und Machine Learning Architect. Er promovierte in theoretischer Physik und arbeitet seit 20 Jahren im Bereich großer Datenmengen und Künstliche Intelligenz, insbesondere mit Fokus auf skalierbaren Systemen und intelligenten Algorithmen zur Massentextverarbeitung. Als Professor an der TH Nürnberg konzentriert sich seine Forschung auf die Optimierung von User Experience mithilfe moderner Verfahren. Er ist Gründer der datanizing GmbH, Referent auf Konferenzen und Autor von Artikeln zu Machine Learning und Text Analytics.

Damit sich die User nur auf die Ausgabe und die Interaktion konzentrieren, gibt es bereits einige Tools. Voilà stellt eine simple Möglichkeit dar, den Python-Code zu verbergen und dabei doch sämtliche Ergebnisse anzuzeigen. Allerdings führt der Server das gesamte Notebook dabei immer von vorne aus. streamlit ist sehr beliebt, kann aber nicht direkt den Code aus den Notebooks verwenden, sondern erfordert eine eigene Ablauflogik und die Verwendung spezifischer Funktionen. Man muss sich genaue Gedanken über die Struktur der Anwendung und das Layout machen.

Genau hier setzt das Open-Source-Tool Mercury (Dokumentation) an. Während man weiterhin interaktiv im Jupyter-Notebook programmiert, arbeitet man gleichzeitig so, dass Mercury die Anwendung später als Web-App aufbereitet. Sehr angenehm dabei ist, dass man sich nicht um das Layout kümmern muss. Außerdem bleibt der für die Web-App notwendige HTML-, CSS- oder JavaScript-Code komplett verborgen. Man kann sich also weiterhin auf die Python-Programmierung im Notebook konzentrieren und wird nicht abgelenkt.