
Marimo: je nyní vytváření datových aplikací snazší?
Slogan společnosti Marimo na její domovské stránce zněl dříve Budoucnost notebooků Python. Nedávno byl změněn na Unifikované vývojové prostředí pro AI a data.
I když to pravděpodobně lépe vystihuje, co Marimo dokáže, zní to trochu fádně. To je škoda, protože nevystihuje celou pravdu. Marimo je mnohem víc než jen to.
AI shrnutí
- Marimo nabízí působivou kombinaci analýzy dat, prezentace a vývoje aplikací reaktivním a intuitivním způsobem. Jeho silné stránky spočívají v hladké integraci SQL-Python, responzivních komponentách uživatelského rozhraní pro webové aplikace založené na datech a schopnosti proměnit notebooky v dynamické a interaktivní prezentace.
- Marimo se vyznačuje jedinečným reaktivním přístupem, kdy se definované proměnné automaticky aktualizují v celém notebooku. To spolu s uživatelsky přívětivou integrací SQL a hotovými komponentami uživatelského rozhraní zjednodušuje tvorbu datových aplikací, a to i pro složité vizualizace a nástroje. Důraz na jednoduchost a prostředí s jedním souborem (
.pys vloženými závislostmi) činí Marimo ideálním pro reprodukovatelné a sdílené projekty zaměřené na data.- Vývoj Marimo přesahuje tradiční notebooky a umožňuje uživatelům vytvářet interaktivní výukové programy, dynamické datové narativy a experimentální rozhraní. Jeho integrace s AI (prostřednictvím API nebo lokálních modelů) dále vylepšuje průzkum a pracovní postupy kódování. Možnost volby mezi nativním nasazením v prohlížeči (WASM) nebo nasazením na serveru vyhovuje různým hostingovým potřebám a zajišťuje široké spektrum možností datově orientovaných aplikací.
Jeden nástroj, tři využití
Marimo nabízí:
- Notebook Python a SQL
- Prezentační nástroj
- Nástroj pro tvorbu datových aplikací

Podívejme se na jednotlivé části.
Každodenní nástroj pro práci s daty
Marimo je každodenní pomocník pro práci s daty. Působí jako notebook. Většina datových profesionálů již zná iterativní pracovní postupy, které notebooky podporují.
Obsahuje interaktivní komponenty uživatelského rozhraní: tabulky, grafy, bloky markdown, vstupy a posuvníky. Pro asistenci AI je k dispozici integrace LLM. Vždy ověřujte výstupy AI, abyste se vyhnuli halucinacím.
Po prozkoumání a vyčištění dat se stejný notebook může stát prezentací nebo sdílenou aplikací. Je to jen jeden krok od analýzy k dodání.
Notebooky, ale reaktivní
Marimo není klonem Jupyteru. Vypadá jako notebook, ale funguje reaktivně.
Co znamená reaktivní?
Definujte proměnnou v jedné buňce a automaticky se aktualizuje všude, kde je použita.
Předefinování v jiné buňce není povoleno.
To je záměrné.
Pokud jste zvyklí na flexibilitu Jupyteru, může vám to připadat divné. Jakmile to ale zvládnete, umožní vám to rychlé vytváření uživatelského rozhraní. Rozbalovací nabídky, posuvníky a tlačítka fungují bezchybně.
K řízení stavu uživatelského rozhraní použijte marimo's state. Alternativně můžete logiku zabalit do funkcí, abyste se vyhnuli globálním proměnným.
Instalace balíčků z notebooku
Marimo zjednodušuje správu balíčků. Zkuste importovat chybějící balíček a zobrazí se výzva k jeho instalaci. Kliknutím jej nainstalujete, aniž byste museli opustit notebook.
Není třeba přepínat do terminálu ani hádat názvy balíčků. Marimo to vyřídí na pozadí. Jedná se o malou funkci, která zefektivňuje pracovní postupy.

Integrace SQL
Marimo podporuje kromě Pythonu také SQL. Spouštějte dotazy SQL přímo v notebooku. Připojte se k databázím jako SQLite nebo DuckDB nebo dotazujte datové rámce v paměti. Výsledky se integrují s Pythonem pro další analýzu nebo vizualizaci.
Díky tomu je Marimo univerzální pro datové potrubí kombinující SQL a Python.

Datové aplikace na mobilních zařízeních
Aplikace Marimo jsou responzivní a fungují na mobilních zařízeních. Interaktivní prvky, jako jsou posuvníky a rozevírací seznamy, fungují dobře na dotykových obrazovkách. Režim WebAssembly (WASM) zajišťuje, že aplikace běží zcela v prohlížeči, což je ideální pro mobilní uživatele bez závislosti na serveru.
Těžké aplikace s velkými knihovnami nebo datovými sadami se však mohou na mobilních zařízeních načítat pomalu kvůli omezením prohlížeče. Pro složité aplikace nabízí režim serveru lepší výkon, ale vyžaduje backend.
Otestujte aplikace na mobilních zařízeních, abyste se ujistili o jejich použitelnosti, zejména u velkých datových sad nebo složitých vizualizací.
Snímky pro prezentace
Marimo přemění notebooky na sady snímků. Každá buňka může být snímkem. Prezentujte přímo z notebooku s živými, reaktivními prvky.
Vyberte hodnotu z rozevíracího seznamu…
…a okamžitě se aktualizuje na dalším snímku.
To umožňuje dynamické prezentace s živými daty. Není třeba statických screenshotů. Vše je v jednom souboru.
Spolehlivý nástroj pro tvorbu datových aplikací
Existuje mnoho nástrojů pro datové aplikace: Streamlit, Gradio, Dash. Marimo vyniká svou jednoduchostí.
V LovelyData jsme použili Marimo k vytvoření webových aplikací založených na datech. Pod pojmem datové aplikace rozumíme sdílené nástroje, které vizualizují, transformují, filtrují nebo přehledně prezentují data.
Marimo je integrováno s SQL, Pythonem a nespočtem knihoven Pythonu. Příklady zahrnují:
Jeho flexibilita, inspirovaná nástroji jako AnyWidgets, vám umožňuje vytvářet vlastní komponenty pro jedinečné případy použití, od evaluačních nástrojů po interaktivní dashboardy.
Datové aplikace v jednom souboru
Notebooky Marimo jsou standardní soubory .py.
Žádná složitost JSON .ipynb.
Marimo podporuje PEP 723, což umožňuje deklarovat závislosti uvnitř souboru.
Příklad:
# /// skript
# requires-python = „>=3.12“
# dependencies = [
# „duckdb==1.3.1“,
# „marimo“,
# „pandas==2.3.0“,
# ]
# ///
Tím se kód, uživatelské rozhraní a prostředí udržují na jednom místě. Je to ideální pro reprodukovatelnost a sdílení.
Hotové uživatelské rozhraní
Datové aplikace potřebují standardní prvky uživatelského rozhraní: vstupy, tlačítka, zaškrtávací políčka, tabulky, nahrávání souborů. Marimo je poskytuje ihned po instalaci. Potřebujete více? Vytvořte vlastní komponenty s AnyWidgets pro řešení na míru.

Design je minimalistický a čistý. Zaměřuje se na data, ne na okázalý styl. Komponenty se díky reaktivitě hladce integrují.
Python nebo WASM?
Aplikace Marimo běží ve dvou režimech:
- Režim prohlížeče (WASM): Běží v prohlížeči pomocí Pyodide (Python zkompilovaný do WebAssembly).
- Režim serveru: Python běží na backendovém serveru a klienti se připojují přes prohlížeč.
Spuštění v prohlížeči
Režim WebAssembly nevyžaduje žádný server. Sdílejte odkaz nebo hostujte jako statickou stránku. Vše běží v prohlížeči uživatele. To je skvělé z hlediska bezpečnosti a ochrany soukromí.
Vyzkoušejte to na marimo.new.
Nevýhody?
Těžké knihovny zpomalují načítání, zejména při slabém připojení.
Prohlížeče omezují paměť, takže velké datové soubory nebo složité aplikace mohou mít potíže.
Spuštění na serveru
Režim serveru je vhodný pro velké datové soubory nebo uživatele s pomalým internetem. Marimo nabízí několik možností nasazení.
Dynamicky poskytujte jeden notebook nebo složku notebooků.
Porovnání výkonu
Jednoduchá aplikace pro prohlížení souborů zdůrazňuje rozdíly mezi režimy.
| WASM | Server |
|---|---|
![]() | ![]() |
| Vyšší přenos dat a pomalejší načítání. | Nižší přenos dat a rychlejší načítání. |
Integrace AI
Marimo podporuje AI prostřednictvím LLM API nebo lokálních modelů. Generovaný kód lze zkopírovat nebo přidat přímo do notebooku. Zvyšuje to produktivitu při kódování a zkoumání.

Nezpoutaná fantazie
Flexibilita Marima vám umožňuje překročit hranice tradičních notebooků. Vytvářejte interaktivní výukové programy, které provedou uživatele daty. Vytvářejte dynamické datové příběhy, které zaujmou diváky. Navrhujte experimentální rozhraní pro jedinečné vizualizace. Díky reaktivitě a komponentám uživatelského rozhraní Marima je realizace těchto nápadů snadná. Proměňte svůj notebook v nástroj, který inspiruje a informuje.
Závěr
Marimo nenahrazuje všechny nástroje. Pro malé a střední datové aplikace představuje rovnováhu mezi jednoduchostí a výkonem. Je to notebook, prezentační nástroj a nástroj pro tvorbu aplikací – vše v jednom. Rychle se vyvíjí a aktualizace jsou publikovány často.
Pokud máte rádi notebooky Python a chcete interaktivní aplikace, které lze sdílet, vyzkoušejte Marimo. Vaše fantazie je jediným limitem.
Mohlo by vás zajímat
Blog

Brzdí vás Excel? Vlastní datové aplikace rychle a bez programátorů.

Jak vytváříme jednoúčelové aplikace s pomocí AI

Aritmetický průměr vs. medián
Data Apps

Převod řeči na text

Lovely video kompresor

Magická guma
Kurzy

Datová gramotnost pro každého

SQL pro každý den

Data Analytics Pass

Statistika v Excelu. Krok za krokem.

Python pro každý den



