close
Skip to content
 
 

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marimo Quickstart & Lern-Guide

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.


Was ist marimo?

marimo ist eine moderne, reaktive Python-Notebook-Umgebung. Im Gegensatz zu klassischen Jupyter-Notebooks sind marimo-Notebooks:

  1. Reaktiv: Wenn Sie eine Variable in einer Zelle ändern, werden alle anderen Zellen, die diese Variable referenzieren, automatisch aktualisiert (ähnlich wie in Excel).
  2. Reine Python-Dateien (.py): Notebooks werden als Standard-Python-Dateien gespeichert. Dies macht sie ideal für Git-Versionskontrolle, Code-Reviews, Linting und Formatierung.
  3. Produktionsbereit: Sie können marimo-Notebooks direkt als Web-Applikationen (marimo run) oder als statische HTML-Seiten via WebAssembly deployen.
  4. Reproduzierbar: Keine versteckten Zustände (hidden state) durch unkontrolliertes Ausführen von Zellen außerhalb der Reihenfolge.

Ordnerstruktur

  • notebooks/lernen/ — 8 aufeinander aufbauende Lern-Notebooks (01-08)
  • notebooks/projekte/ — Eigene Dashboard-Projekte
  • notebooks/playground/ — Freies Experimentieren
  • data/beispiel/ — RALLYE-Datensaetze (CSV, JSON, XLSX)
  • data/eigene/ — Platz fuer eigene Dateien
  • docs/referenz/ — 6 thematische Nachschlageblaetter
  • docs/cheatsheet.md — Die 20 wichtigsten marimo-Befehle
  • marimo-repo/ — Das offizielle Git-Repository
  • .venv/ — Virtuelle Python-Umgebung (verwaltet von uv)

CLI-Kommandos (Schnellstart)

Alle marimo-Befehle werden mit uv run marimo aufgerufen. Die virtuelle Umgebung wird dabei automatisch von uv verwaltet.

1. Notebooks erstellen und editieren

Startet den interaktiven Notebook-Server im Webbrowser zum Bearbeiten:

uv run marimo edit notebooks/lernen/01_grundlagen.py

Wenn die Datei noch nicht existiert, wird sie neu erstellt.

2. Notebooks als Web-App ausführen

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.py

3. Integrierte Tutorials starten

marimo bringt hervorragende interaktive Tutorials mit:

uv run marimo tutorial intro

Weitere Tutorials: data, ui, markdown, plots, layout, file_format.


Lernpfad

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

Zentrale marimo Konzepte

1. Die reaktive Zelle (Reactive Execution)

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 x in Zelle A auf 20 ändern und Zelle A ausführen, aktualisiert marimo Zelle B automatisch.

2. UI-Elemente (marimo.ui)

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 anzeigen

In 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}")

3. Keine globalen Zustandskonflikte (State Isolation)

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.


Nuetzliche Links

About

A reactive notebook for Python — run reproducible experiments, execute as a script, deploy as an app, and version with git.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages