marimo is an open-source notebook for Python and SQL, designed from the ground up for working with data — run reproducible experiments, version with Git, share as interactive web apps, and execute as Python scripts. All in a modern, AI-powered editor.
Marimo is one of the most promising leaps forward in scientific computing since Julia's Pluto. Been tracking their progress since conception and Marimo takes the throne for best alternative to Jupyter notebooks out there.
For anyone that wants to use Python and SQL to quickly explore and visualize their ideas, minimo is a big keep forward from Jupyter Notebooks.
minimo offers a modern code execution approach, interactive data widgets, and embedded AI to keep you in flow.
Very promising launch!
👋 Hello, Product Hunt!
My name is Akshay, and along with my co-founder Myles (Palantir, CloudKitchens) I'm excited to share marimo, an open-source notebook for Python and SQL. Unlike Jupyter notebooks, marimo notebooks are reproducible, git-friendly (stored as pure Python), shareable as interactive web apps, and executable as scripts.
When I was a PhD student in machine learning at Stanford and an engineer at Google Brain, I relied on Jupyter notebooks to run experiments and prototype algorithms because they let me see my data while I worked on it. But they were also extremely frustrating because they aren't reliably reproducible (over a third of the 10 million notebooks on GitHub failed to reproduce!), they're stored as JSON (rather than Python), and the final document is static with no interactivity.
marimo solves these problems by blending the best parts of interactive computing with the rigor of traditional software development. Think of marimo as a modern replacement for Jupyter, Streamlit, and Gradio, with these key features:
🔬 Reproducible: marimo keeps code and outputs in sync, eliminating hidden state. Built-in package management means that notebook files can document their own dependencies.
🐍 Git-friendly: Notebooks are stored as .py files, letting you version them with Git.
🖐️ Interactive: Bring data to life with interactive elements. Search, filter, and sort dataframes without code; select points in a plot and get them back as dataframes; bind sliders, dropdowns, and more in just a line of code.
🛜 Deploy as web apps: Deploy notebooks as an interactive web apps or slides with a single command.
🏃 Execute as scripts: Execute any notebook as a Python script from the command line.
🛢️ Designed for data: Query dataframes and databases with SQL, and see all your data sources in a side panel Transform dataframes using our no-code dataframe editor.
🤖 AI built-in: Code in a modern editor that supports GitHub Copilot and AI assistants; generate code that refers to the schemas of your dataframes.
Get started
To get started, run: pip install marimo && marimo tutorial intro
To get inspired, view our community gallery: https://marimo.io/gallery
To help, leave a star: https://github.com/marimo-teamOur inspiration
We believe that the tools we use shape the way we think — better tools, for better minds.
Our inspiration comes from many places and projects, especially Pluto.jl, ObservableHQ, and of course Jupyter, which established interactive computing as a pillar of computational science through open tools and standards. marimo is part of a greater movement toward reactive dataflow programming. From IPyflow, streamlit, TensorFlow, PyTorch, JAX, and React, the ideas of functional, declarative, and reactive programming are transforming a broad range of tools for the better.
Finally, big thanks to our community and all the hunters here for your support, as well as a massive thanks to @chrismessina, our hunter and our shepherd, who believed in marimo's mission and helped us launch here. 🙏🙇
Amazing project!! Someone needed to rethink the programming environment for data and I’m so glad this exists. It would’ve been a game changer to have in stats and data science classes
Textify
marimo
marimo
marimo