Repolode
marimo-team

marimo-team/marimo

一个响应式 Python 笔记本,自动重算依赖单元格,以纯 .py 文件存储,可作为脚本运行或部署为应用。

可替代:Jupyter NotebookStreamlit

Star
23,249
Fork
1,347
未关闭 Issue
603
最近提交
8小时前

这是什么?

marimo 是一个面向 Python 的响应式笔记本。运行某个单元格或调整滑块等交互组件时,它会自动重新运行依赖相关变量的单元格;若将运行时配置为惰性模式,则改为标记为过期。删除单元格时,其变量也会从内存中清除,从而避免传统 Jupyter 笔记本中常见的隐藏状态问题。

笔记本以纯 Python 文件保存,便于使用 git 管理并清晰查看差异。同一个文件可以通过命令行带参数作为脚本运行,也可以隐藏代码部署为交互式 Web 应用,还能在 VS Code、Cursor 或 PyCharm 中打开。单元格支持用 SQL 查询 dataframe、数据库和 CSV 等数据源,结果以 Python dataframe 返回。

编辑器内置包管理、交互式 dataframe 查看器和 AI 代码补全,支持自带 API Key 或使用本地模型,也可与编程智能体协作。项目还提供 CLI 工具,可将现有 Jupyter 笔记本转换为 marimo 格式。

核心功能

  • 01自动重新运行依赖已变更变量的单元格。
  • 02以纯 .py 文件保存笔记本,便于 git 管理。
  • 03滑块、下拉框、表格等交互组件可直接绑定 Python 代码,无需回调函数。
  • 04使用 SQL 查询 dataframe、数据库和 CSV,结果返回为 Python dataframe。
  • 05可带命令行参数作为脚本运行,也可部署为 Web 应用或幻灯片。
  • 06支持使用 pytest 测试笔记本代码。

适用场景

  • 需要保证结果与代码一致的探索性数据分析。
  • 将分析笔记本转换为可分享的交互式仪表板。
  • 以脚本形式批量或定时运行带参数的笔记本。
  • 将已有 Jupyter 笔记本迁移为更适合 git 管理的格式。

快速上手

  1. 1

    使用 pip 安装 marimo

    pip install marimo
  2. 2

    启动交互式教程

    marimo tutorial intro
  3. 3

    在浏览器编辑器中创建或编辑笔记本

    marimo edit

使用前须知

  • 运行需要 Python 环境。

标签

常见问题

marimo 是什么?
一个响应式 Python 笔记本,自动重算依赖单元格,以纯 .py 文件存储,可作为脚本运行或部署为应用。 marimo 是一个面向 Python 的响应式笔记本。运行某个单元格或调整滑块等交互组件时,它会自动重新运行依赖相关变量的单元格;若将运行时配置为惰性模式,则改为标记为过期。删除单元格时,其变量也会从内存中清除,从而避免传统 Jupyter 笔记本中常见的隐藏状态问题。
marimo 可以免费使用吗?用的什么许可证?
marimo 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
marimo 还在维护吗?
活跃维护中。marimo 最近一次提交是在 2026年10月20日。
marimo 适合用来做什么?
需要保证结果与代码一致的探索性数据分析。 将分析笔记本转换为可分享的交互式仪表板。 以脚本形式批量或定时运行带参数的笔记本。 将已有 Jupyter 笔记本迁移为更适合 git 管理的格式。
marimo 怎么安装和运行?
使用 pip 安装 marimo: pip install marimo 启动交互式教程: marimo tutorial intro 在浏览器编辑器中创建或编辑笔记本: marimo edit
在哪里获取 marimo?
源代码和安装说明在 GitHub 上:https://github.com/marimo-team/marimo

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目