
marimo
marimo is an open-source reactive Python notebook stored as a plain .py file. Cells re-run automatically when their inputs change, SQL and interactive widgets are built in, and the same file runs as a script or a web app.
What is marimo?
marimo is an open-source programming environment from Marimo Inc. that rebuilds the Python notebook around a single idea: reactive execution. Run a cell and marimo automatically re-runs every cell that depends on it; delete a cell and its variables disappear with it. Hidden state, the reason so many notebooks break when someone else runs them top to bottom, is eliminated by construction. For notebooks that are expensive to compute, outputs can be marked stale instead of recomputed.
The second idea is the file format. A marimo notebook is pure Python stored as a .py file, not JSON. That one choice makes diffs readable in Git, notebooks reviewable in pull requests, importable as modules, runnable as scripts, testable with pytest and formattable with ruff or black. Dependencies can be inlined in the file itself through PEP 723 metadata, with marimo managing the virtual environment.
Around those two ideas sits a complete working environment. SQL is first class: dedicated cells query dataframes and databases across Polars, Pandas, PyArrow, DuckDB, SQLite, Postgres and MySQL. Interactive elements such as sliders, dropdowns, forms, dataframe tables and selectable plots bind to Python variables without callbacks, and the anywidget ecosystem covers custom components. The editor offers Copilot-style autocompletion, type tooltips, vim keybindings, debugging panels and a VS Code extension. A built-in AI assistant handles code generation, debugging and data exploration with the model provider of your choice, hosted or local, while marimo pair connects external agents such as Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode and Copilot CLI to a running notebook session.
Every notebook doubles as something else: a web app served by the command line, a WebAssembly HTML export, a GitHub Pages publication or an embedded component. molab, the free cloud platform, runs notebooks in the browser with nothing to install, though they are public by default.
The project was designed by Stanford scientists, shows 22,300 GitHub stars on its homepage, and publishes case studies from SLAC National Accelerator Laboratory, DNB Cyber Defense, Sumble and Bunkerhill Health. Marimo Inc. is part of CoreWeave, and its services run on CoreWeave infrastructure.
What it does
- Run one cell and let marimo re-run every cell that depends on it
- Query dataframes and databases directly through native SQL cells
- Build sliders, dropdowns, tables and selectable charts bound to Python variables
- Serve any notebook as an interactive web app or export it to WebAssembly-powered HTML
- Execute the same file as a plain Python script or as a pipeline step
- Version notebooks in Git, review them in pull requests and test them with pytest
- Connect a coding agent to a running notebook session with marimo pair
When to use marimo / When not to
A quick filter to help you decide if marimo is the right fit.
When to use marimo
- Data scientists and ML engineers who need experiments that still reproduce a week later, not only on the day they were written
- Teams that keep notebooks in Git and want readable diffs and genuine pull-request reviews
- Researchers and academics publishing interactive, runnable results on the web
- Educators and students who want a zero-install notebook they can open straight in a browser
- Developers pairing with coding agents such as Claude Code or Cursor inside a live notebook session
When not to use marimo
- Anyone who does not write Python: marimo is code-first and offers no no-code mode
- Buyers who need a priced, supported enterprise plan with a service-level agreement, since none is published
- Teams handling regulated or confidential data in the hosted services, which the terms explicitly forbid
- Organisations that require European data residency, a Data Processing Agreement or an Article 27 representative
- Mobile-first users: there is no iOS or Android application
How to use marimo
A typical end-to-end flow, from setup to results.
- Install locally with pip install marimo, or uv add marimo
- Or skip installation entirely and open molab in your browser
- Start an editing session, for example uvx marimo@latest edit notebook.py --sandbox
- Write your cells in Python and let marimo derive the execution order from the dependency graph
- Add SQL cells to query your dataframes or a connected database
- Drop in sliders, dropdowns or tables and bind them to variables to explore results interactively
- Install the marimo VS Code extension if you would rather stay in your editor
- Pair with a coding agent: install the marimo-pair plugin, then open Settings and choose Pair with an agent
- Commit the .py file to Git and review changes like any other source file
- Publish with marimo run, export to WebAssembly HTML, or push the notebook to GitHub Pages
Pros & Cons
Pros
- Free and open source under a permissive licence, so evaluating it costs nothing
- Reproducibility is structural rather than a matter of discipline
- The plain-Python file format makes Git diffs and code review genuinely usable
- One artefact serves as notebook, script and web app, with no rewriting in between
- Subprocessors are published by name and location, and data requests carry documented deadlines
- Deliberately built for coding agents, which the JSON notebook format works against
- Visible adoption: 22,300 GitHub stars and named case studies at SLAC, DNB, Sumble and Bunkerhill Health
Cons
- Python only, with no no-code path into the tool
- The enterprise page advertises a product with no name, no scope and no price; the only call to action is an email address
- No service-level agreement, stated explicitly in the terms
- No Data Processing Agreement, no Article 27 representative and no European hosting option
- No documented way to exclude your data from model training, and no clear stance on training
- molab notebooks are public by default, so the free cloud tier suits demonstrations more than confidential work
- Terms of service dated 22 September 2022 sit years behind the privacy and subprocessor pages
Pricing & Plans
marimo is free. The notebook itself is open source and installs at no cost, and molab, the hosted cloud platform, is offered free of charge as well; the official FAQ answers the question Is marimo free? with a single word. No pricing page exists, the /pricing URL returning 404, and no amount, currency or billing unit is published anywhere on the site. The terms of service nonetheless refer to customers who pay for the services and to a pricing structure that may change, so a commercial offer may exist without being public. Enterprise enquiries go through an email address rather than a price list.
- free and open source
- installed locally with pip or uv
- free cloud-hosted notebooks
- public by default
- nothing to install
- free
- referenced on the For enterprises page but published without a name
- a scope or a price
- with contact by email only
Data, GDPR & hosting
A consolidated view of how marimo handles your data.
GDPR overview
GDPR is addressed, but through a parent-company document. The privacy policy marimo links to is CoreWeave's, last updated 24 February 2026, which sets out legal bases article by article: consent under Article 6(1)(a), contract under 6(1)(b), legal obligation under 6(1)(c) and legitimate interests under 6(1)(f). EEA and UK residents are granted access, rectification, erasure, objection, restriction, portability, withdrawal of consent and the right to complain to a supervisory authority. Marimo's own data-requests page extends that catalogue to every user regardless of location, routes requests to privacy@marimo.io, promises acknowledgement within five business days and a reply within thirty, charges nothing, and points to the EDPB and the ICO. International transfers rely on Standard Contractual Clauses where required. No Article 27 representative is named, and no Data Processing Agreement is offered.
Who owns the data?
Marimo Inc. claims no intellectual property rights over what you upload, and the terms state that all materials uploaded remain yours. You grant the company a worldwide, non-exclusive, royalty-free licence strictly limited to hosting, processing, transmitting, displaying and using your content in order to operate and provide the service. Under the California Consumer Privacy Act, Marimo positions itself as a service provider rather than a business or a third party, and states that it does not sell your data. The privacy policy it designates, CoreWeave's, treats the customer as controller of Customer Data and CoreWeave as processor. Run locally, a marimo notebook never leaves your own machine.
Reuse rights
Because the content stays yours, you may reuse, export and redistribute it without asking permission: notebooks are ordinary Python files and can be downloaded from the dashboard at any time. On the vendor side the terms allow Marimo to process your data only as described in its privacy policy and, in their own wording, for no other purpose. Human access is restricted to four enumerated cases: a support request, for which express consent is sought first; an automated process that fails midway; security work on logs and metadata; and a legal obligation. Named subprocessors handle specific jobs, among them Clerk for authentication, Weights & Biases for AI-assisted code completion, GitHub for OAuth and repository imports, and Sentry, PostHog, Loops and Notion for operations. The designated privacy policy adds that AI and machine learning may be used to operate, maintain, improve and develop the services. Neither document states whether customer content is used to train models, and no opt-out is documented.
Data retention & training
Hosting summary
Run locally, marimo hosts nothing: the notebook is a .py file on your own machine and the vendor never sees it. The hosted services are another matter. Every subprocessor published on the subprocessors page, updated 21 April 2026, is located in the United States. CoreWeave handles notebook execution, kernel runtime and application hosting for molab; Cloudflare provides edge workers, CDN, DNS and R2 object storage for notebooks and artefacts; Vercel hosts the marimo.io site, Community Cloud and the playground. The application and operational subprocessors, namely Clerk, Weights & Biases, GitHub, Sentry, PostHog, Loops and Notion, are American as well. The domain resolves to 76.76.21.21, geolocated in the United States. The designated privacy policy acknowledges that personal data may travel to countries offering weaker protection than the user's own, and relies on Standard Contractual Clauses where required. No European region, no data-residency option and no Data Processing Agreement are offered.
Things to keep in mind
Risks and trade-offs to weigh before adopting marimo.
- Reactive execution automatically re-runs downstream cells, which can trigger expensive or side-effecting code unless you configure stale outputs
- molab notebooks are public by default, so anything pasted into one is visible to everybody
- The terms forbid uploading health, financial or government-identifier data to the hosted services, a real constraint for regulated work
- Liability is capped at the greater of six months of fees or 200 US dollars, which is close to nothing for a free product
- Neither the terms nor the privacy policy says whether your content trains models, and no opt-out exists
- The privacy policy belongs to CoreWeave and never names marimo, so its scope over the local notebook is uncertain
- Leaning on the AI assistant for exploratory analysis can erode the habit of reading your own data: the reproducibility guarantees cover the code, not the reasoning behind it
Setup & Integrations
Technical difficulty
Low for anyone comfortable with Python and a terminal, and effectively zero through molab, which runs in the browser with nothing installed. Locally it is one command, pip install marimo or uv add marimo, and no account is required; a VS Code extension is available for those who prefer their editor. The real learning curve is conceptual rather than technical: reactive execution behaves differently from Jupyter's free-running cells, and marimo forbids defining the same variable in two cells. Documentation, a 35-question FAQ, an education primer and a gallery of 102 notebooks cover the transition.
Deployment
Integrations
Behind marimo
Fundraising
Social
Resources
All the official URLs gathered for verification and reference.
Alternatives
Tools that compete with or complement marimo.
Frequently asked questions
Is marimo free?
How is marimo different from Jupyter?
How do I install it?
Can I use it without installing anything?
Does marimo work with AI coding agents?
Can I deploy a notebook as an application?
Who owns the data I put into marimo?
Where is my data hosted, and how do I exercise my privacy rights?
Should you pick marimo?
marimo is one of the rare tools whose central claim survives contact with its own documentation. Reactive execution and a plain-Python file format are not marketing angles but architectural decisions, and together they remove the two failure modes that have followed notebooks for a decade: hidden state and unreviewable diffs. The surrounding environment is unusually complete for an open-source project, with first-class SQL, native interactive elements, a built-in AI assistant, agent pairing, a VS Code extension and one-command deployment to a web app.
The cost of trying it is zero, which shifts the decision away from budget and onto fit. If your team writes Python and cares that an analysis still runs in six months, the case is strong. If you need a no-code entry point, a priced enterprise plan with a service-level agreement, European data residency or a Data Processing Agreement, marimo does not currently answer, and the For enterprises page advertises a product it never names or prices.
Two areas deserve attention before adoption. The legal documentation is uneven: terms dated September 2022 sit alongside a subprocessor list from April 2026 and a privacy policy belonging to CoreWeave, the parent company, which never mentions marimo by name. And neither document says whether customer content is used to train models, with no opt-out available. None of this affects the local notebook, which stays on your own machine, but it matters for molab and the hosted services.
Verdict: an excellent, genuinely free technical choice for Python-literate data and research teams, and a harder one for organisations whose procurement starts with a contract rather than a command line.
- Choosing a selection results in a full page refresh.
- Opens in a new window.