Ein reaktives Python-Notebook, das reproduzierbar, git-freundlich und als Skripte oder Apps einsetzbar ist.
Dokumente · Discord · Beispiele
Englisch |简体中文
Marimo ist ein reaktives Python-Notizbuch: Führen Sie eine Zelle aus oder interagieren Sie mit einem UI-Element, und Marimo führt automatisch abhängige Zellen aus (oder markiert sie als veraltet), wodurch Code und Ausgaben konsistent bleiben. Marimo-Notebooks werden als reines Python gespeichert, können als Skripte ausgeführt und als Apps bereitgestellt werden.
Höhepunkte .
jupyter
, streamlit
, jupytext
, ipywidgets
, papermill
und mehr.py
Dateien gespeichert pip install marimo & & marimo tutorial intro
Probieren Sie Marimo auf unserem Online-Spielplatz aus, der vollständig im Browser läuft!
Sehen Sie sich den Schnellstart an, um eine Einführung in unsere CLI zu erhalten.
Marimo garantiert, dass Ihr Notebook-Code, Ihre Ausgaben und Ihr Programmstatus konsistent sind. Dies löst viele Probleme, die mit herkömmlichen Notebooks wie Jupyter verbunden sind.
Eine reaktive Programmierumgebung. Führen Sie eine Zelle aus und Marimo reagiert, indem es automatisch die Zellen ausführt, die auf ihre Variablen verweisen, wodurch die fehleranfällige Aufgabe entfällt, Zellen manuell erneut auszuführen. Löschen Sie eine Zelle und Marimo entfernt ihre Variablen aus dem Programmspeicher und beseitigt so den verborgenen Zustand.
Kompatibel mit teuren Notebooks. Mit Marimo können Sie die Laufzeit so konfigurieren, dass sie verzögert ist und betroffene Zellen als veraltet markiert, anstatt sie automatisch auszuführen. Dies gibt Ihnen Garantien für den Programmstatus und verhindert gleichzeitig die versehentliche Ausführung teurer Zellen.
Synchronisierte UI-Elemente. Interagieren Sie mit UI-Elementen wie Schiebereglern, Dropdowns, Datenrahmentransformatoren und Chat-Schnittstellen, und die Zellen, die sie verwenden, werden automatisch mit ihren neuesten Werten erneut ausgeführt.
Interaktive Datenrahmen. Blättern, durchsuchen, filtern und sortieren Sie Millionen von Zeilen blitzschnell, ohne dass Code erforderlich ist.
Performante Laufzeit. Marimo führt nur die Zellen aus, die ausgeführt werden müssen, indem es Ihren Code statisch analysiert.
Dynamischer Markdown und SQL. Verwenden Sie Markdown, um dynamische Geschichten zu erzählen, die auf Python-Daten basieren. Oder erstellen Sie SQL-Abfragen, die von Python-Werten abhängen, und führen Sie sie mithilfe unserer integrierten SQL-Engine für Datenrahmen, Datenbanken, CSVs, Google Sheets oder alles andere aus, die das Ergebnis als Python-Datenrahmen zurückgibt.
Ihre Notebooks sind immer noch reines Python, auch wenn sie Markdown oder SQL verwenden.
Deterministische Ausführungsreihenfolge. Notizbücher werden in einer deterministischen Reihenfolge ausgeführt, die auf Variablenverweisen und nicht auf den Positionen der Zellen auf der Seite basiert. Organisieren Sie Ihre Notizbücher so, dass sie am besten zu den Geschichten passen, die Sie erzählen möchten.
Integrierte Paketverwaltung. Marimo bietet integrierte Unterstützung für alle wichtigen Paketmanager, sodass Sie Pakete beim Import installieren können. Marimo kann sogar Paketanforderungen in Notebook-Dateien serialisieren und sie automatisch in isolierten Venv-Sandboxen installieren.
Batterien im Lieferumfang enthalten. Marimo wird mit GitHub Copilot, KI-Assistenten, Ruff-Code-Formatierung, HTML-Export, schneller Code-Vervollständigung, einer VS-Code-Erweiterung, einem interaktiven Datenrahmen-Viewer und vielen weiteren Funktionen für die Lebensqualität geliefert.
Installation. Führen Sie in einem Terminal Folgendes aus:
pip install marimo # or conda install -c conda-forge marimo
marimo tutorial intro
Erstellen Sie Notizbücher.
Erstellen oder bearbeiten Sie Notizbücher mit
marimo edit
Apps ausführen. Führen Sie Ihr Notebook als Web-App aus, mit ausgeblendetem und nicht bearbeitbarem Python-Code:
marimo run your_notebook.py
Als Skripte ausführen. Führen Sie ein Notebook als Skript über die Befehlszeile aus:
python your_notebook.py
Jupyter-Notebooks automatisch konvertieren. Konvertieren Sie Jupyter-Notebooks mit der CLI automatisch in Marimo-Notebooks
marimo convert your_notebook.ipynb > your_notebook.py
oder nutzen Sie unser Webinterface.
Tutorials. Alle Tutorials auflisten:
marimo tutorial --help
Sehen Sie sich die FAQ in unseren Dokumenten an.
Marimo ist einfach zu bedienen und bietet viel Platz für Power-User. Hier ist zum Beispiel ein in Marimo erstellter Einbettungsvisualisierer (Video):
Schauen Sie sich unsere Dokumente, den Ordner examples/
und unsere Galerie an, um mehr zu erfahren.
Anleitung | Eingaben | Grundstücke | Layout |
Wir freuen uns über alle Beiträge! Sie müssen kein Experte sein, um zu helfen. Weitere Informationen zu den ersten Schritten finden Sie unter CONTRIBUTING.md.
Fragen? Kontaktieren Sie uns auf Discord.
Wir bauen eine Community auf. Kommen Sie und hängen Sie mit uns ab!
Marimo ist eine Neuerfindung des Python-Notizbuchs als reproduzierbares, interaktives und gemeinsam nutzbares Python-Programm anstelle eines fehleranfälligen JSON-Notizblocks.
Wir glauben, dass die Werkzeuge, die wir verwenden, unsere Denkweise prägen – bessere Werkzeuge für bessere Köpfe. Mit Marimo hoffen wir, der Python-Community eine bessere Programmierumgebung für die Recherche und Kommunikation zur Verfügung zu stellen. mit Code experimentieren und ihn teilen; Informatik zu erlernen und zu lehren.
Unsere Inspiration kommt von vielen Orten und Projekten, insbesondere von Pluto.jl, ObservableHQ und den Essays von Bret Victor. Marimo ist Teil einer größeren Bewegung hin zur reaktiven Datenflussprogrammierung. Von IPyflow, Streamlit, TensorFlow, PyTorch, JAX und React – die Ideen der funktionalen, deklarativen und reaktiven Programmierung verändern eine breite Palette von Tools zum Besseren.