Willkommen in Ihrer marimo-Lern- und Entwicklungsumgebung! Dieses Dokument dient als Schnelleinstieg in die Arbeit mit reaktiven Python-Notebooks. Die Umgebung ist in eine klare Ordnerstruktur mit Lern-Notebooks, Projektvorlagen, Referenzmaterial und Beispieldaten gegliedert.
marimo ist eine moderne, reaktive Python-Notebook-Umgebung. Im Gegensatz zu klassischen Jupyter-Notebooks sind marimo-Notebooks:
- Reaktiv: Wenn Sie eine Variable in einer Zelle ändern, werden alle anderen Zellen, die diese Variable referenzieren, automatisch aktualisiert (ähnlich wie in Excel).
- Reine Python-Dateien (
.py): Notebooks werden als Standard-Python-Dateien gespeichert. Dies macht sie ideal für Git-Versionskontrolle, Code-Reviews, Linting und Formatierung. - Produktionsbereit: Sie können marimo-Notebooks direkt als Web-Applikationen (
marimo run) oder als statische HTML-Seiten via WebAssembly deployen. - Reproduzierbar: Keine versteckten Zustände (hidden state) durch unkontrolliertes Ausführen von Zellen außerhalb der Reihenfolge.
notebooks/lernen/— 8 aufeinander aufbauende Lern-Notebooks (01-08)notebooks/projekte/— Eigene Dashboard-Projektenotebooks/playground/— Freies Experimentierendata/beispiel/— RALLYE-Datensaetze (CSV, JSON, XLSX)data/eigene/— Platz fuer eigene Dateiendocs/referenz/— 6 thematische Nachschlageblaetterdocs/cheatsheet.md— Die 20 wichtigsten marimo-Befehlemarimo-repo/— Das offizielle Git-Repository.venv/— Virtuelle Python-Umgebung (verwaltet von uv)
Alle marimo-Befehle werden mit uv run marimo aufgerufen. Die virtuelle Umgebung wird dabei automatisch von uv verwaltet.
Startet den interaktiven Notebook-Server im Webbrowser zum Bearbeiten:
uv run marimo edit notebooks/lernen/01_grundlagen.pyWenn die Datei noch nicht existiert, wird sie neu erstellt.
Startet das Notebook im schreibgeschützten App-Modus für Benutzer (Zellcode wird ausgeblendet, nur Benutzeroberfläche und Ausgaben sind sichtbar):
uv run marimo run notebooks/projekte/mein_dashboard.pymarimo bringt hervorragende interaktive Tutorials mit:
uv run marimo tutorial introWeitere Tutorials: data, ui, markdown, plots, layout, file_format.
Die 8 Lern-Notebooks in notebooks/lernen/ bauen aufeinander auf und führen Sie schrittweise durch die wichtigsten marimo-Konzepte:
| Nr | Notebook | Thema |
|---|---|---|
| 01 | grundlagen | Zellen, Reaktivitaet, Variablenfluss |
| 02 | markdown_und_ausgaben | Text formatieren, f-Strings, Callouts |
| 03 | daten_laden | CSV, JSON, Excel mit pandas |
| 04 | berechnungen | Spalten ableiten, filtern, gruppieren |
| 05 | visualisierung | matplotlib, altair, plotly |
| 06 | ui_elemente | Slider, Dropdown, Checkbox |
| 07 | dashboard_bauen | Layout, Tabs, Sidebar, KPIs |
| 08 | deployment | marimo run, HTML, WASM Export |
In marimo bestimmt der Datenfluss die Ausführungsreihenfolge, nicht die physische Reihenfolge der Zellen im Dokument.
- Wenn Zelle A definiert:
x = 10 - Und Zelle B definiert:
y = x + 5 - Wenn Sie
xin Zelle A auf20ändern und Zelle A ausführen, aktualisiert marimo Zelle B automatisch.
marimo besitzt native, wunderschöne UI-Elemente wie Slider, Dropdowns und Texteingaben, die direkt an Python-Variablen gebunden werden können.
Beispiel:
import marimo as mo
# Slider erstellen
slider = mo.ui.slider(start=1, stop=100, step=1, label="Wähle einen Wert")
slider # Slider in der Zelle anzeigenIn einer anderen Zelle können Sie den ausgewählten Wert direkt nutzen:
# Der Wert aktualisiert sich live bei jeder Bewegung des Sliders!
print(f"Ausgewählter Wert: {slider.value}")Jede Zelle darf globale Variablen definieren. marimo stellt jedoch sicher, dass keine zwei Zellen dieselbe globale Variable definieren. Dies vermeidet verwirrende Konflikte und hält Ihren Code sauber und modular.