Get the latest tech news
Representing Python notebooks as dataflow graphs
How and why marimo represents notebooks as dataflow graphs
Today, marimo is downloaded hundreds of thousands of times a month, has over 15k GitHub stars, is built by a stellar team, and is used by large enterprises including Cloudflare, Shopify, and BlackRock, as well as cutting-edge startups and research labs. batteries-included: replaces jupyter, streamlit, jupytext, ipywidgets, papermill, and more reactive: run a cell, and marimo reactively runs all dependent cells or marks them as stale interactive: bind sliders, tables, plots, and more to Python — no callbacks required git-friendly: stored as.py files designed for data: query dataframes, databases, warehouses, or lakehouses with SQL, filter and search dataframes AI-native: generate cells with AI tailored for data work reproducible: no hidden state, deterministic execution, built-in package management executable: execute as a Python script, parameterized by CLI args shareable: deploy as an interactive web app or slides, run in the browser via WASM reusable: import functions and classes from one notebook to another testable: run pytest on notebooks a modern editor: GitHub Copilot, AI assistants, vim keybindings, variable explorer, and more In our implementation, on interaction, the runtime searches globals for matching UIElement objects, does a lookup to find the bound variables’ defining cells, then triggers reactive execution.
Or read this on Hacker News