marimo-team/marimo

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

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on May 7th, 2025
Created on August 14th, 2023
Open Issues & Pull Requests: 611 (+0)
GitHub issues: Enabled
Number of forks: 1,322
Total Stargazers: 23,072 (+1)
Total Subscribers: 69 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.9 hours
Mean response time: 14.1 days
90th percentile: 18.0 days
Tracked items: 2,940

Maintainer activity

12 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 7, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

About 4% of issues opened in the past year have never received a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "upstream" is answered fastest, typically in about 2 hours, while "good first issue (typescript)" waits about 2 days. 56% of tracked open issues have had no activity in three months. 74% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 537
New in 7 days: 17
Closed in 7 days: 12
Avg open age: 183 days
Stale 30+ days: 480
Stale 90+ days: 370

Recent activity

Opened in 7 days: 12
Closed in 7 days: 9
Comments in 7 days: 12
Events in 7 days: 27

Top labels

  • bug (1,678)
  • enhancement (880)
  • needs discussion (197)
  • help wanted (110)
  • documentation (101)
  • good first issue (100)
  • good first issue (typescript) (65)
  • upstream (63)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

marimo is a reactive Python notebook designed to address fundamental limitations of traditional notebook environments like Jupyter. Stored as pure Python files, marimo notebooks are reproducible, version-controllable with git, executable as scripts, and deployable as interactive web applications. The project positions itself as a batteries-included replacement for multiple tools including Jupyter, Streamlit, jupytext, ipywidgets, and Papermill.

The core innovation in marimo is its reactive execution model. When a user runs a cell or interacts with a UI element, marimo automatically executes all dependent cells to maintain consistency between code and outputs. This eliminates the hidden state problems endemic to traditional notebooks where cells can be executed out of order, leaving the program in an inconsistent state. The system can also be configured to mark affected cells as stale rather than automatically executing them, accommodating expensive computations while still maintaining guarantees about program state.

marimo includes comprehensive data handling capabilities with first-class SQL support. Users can write SQL queries that depend on Python variables and execute them against dataframes, databases, lakehouses, CSVs, Google Sheets, and other data sources. The built-in SQL engine returns results as Python dataframes, keeping notebooks pure Python despite SQL integration. Interactive dataframe features allow users to page through, search, filter, and sort millions of rows without writing code.

The editor is modern and AI-native, supporting GitHub Copilot, AI assistants specialized for data work, vim keybindings, a variable explorer, and code completion. marimo can be used through its web-based editor, VS Code via an official extension, or any text editor with file watching. The system includes built-in package management supporting all major package managers, with the ability to install packages on import and serialize requirements directly in notebook files.

The project maintains active discussion with 129 items tagged as needing discussion.

The repository overlaps with contributors from github/gh-aw, solo-io/gloo, and microsoft/vscode, suggesting cross-pollination with command-line tools, API gateway projects, and the VS Code ecosystem.

marimo notebooks are executable as Python scripts parameterized by command-line arguments, deployable as interactive web apps or slides, and runnable in browsers via WebAssembly. Functions and classes can be imported from one notebook to another, enabling code reuse. The system supports pytest testing of notebooks and includes dynamic markdown parametrized by Python variables for narrative-driven data exploration. Built-in features encompass HTML export, fast code completion, and an interactive dataframe viewer, positioning marimo as a comprehensive environment for reproducible research, data analysis, and interactive application development.