什么是marimo?
marimo 是一款开源的响应式 Python 笔记本,以纯 Python 代码存储并支持 Git 版本控制。它通过自动重新运行依赖单元格来保持代码与输出同步,适用于数据科学、模型训练及 SQL 查询场景。
marimo的核心功能有哪些?
- 响应式执行机制修改单元格代码或变量后,所有依赖该值的单元格会自动更新;也可配置为仅标记输出为过期而不自动运行。
- 纯 Python 存储格式笔记本保存为 .py 文件,可直接作为脚本运行、作为模块复用,并兼容 uv、PyTest 及 VS Code 等开发工具。
- 内置交互式组件提供滑块、下拉菜单、数据框表格和可选绘图区域,用于快速探索数据和构建应用界面。
- 原生 SQL 支持包含专用 SQL 单元格,可直接查询 Polars、Pandas、DuckDB、SQLite、Postgres 和 MySQL 等多种后端数据源。
- WebAssembly 导出支持将交互式笔记本导出为基于 WebAssembly 的 HTML 文件或通过 CLI 部署为 Web 应用进行分享。
- AI 代理集成通过 marimo pair 功能连接 AI 代理至运行中的会话,支持在编辑器内使用任意本地或托管模型进行上下文感知编码。
marimo的使用案例有哪些?
- 团队协作开发利用其 Git 友好的纯文本格式,开发人员可在标准版本控制系统中追踪笔记本变更,避免二进制冲突。
- 可复现数据分析在确定性顺序下执行代码,删除单元格时自动清理变量,确保环境无隐藏状态,便于结果复现。
- 交互式仪表盘展示结合内置 UI 组件与 SQL 查询,快速构建并分享无需后端服务器的静态 Web 分析看板。
如何使用marimo?
- 创建或导入笔记本启动 marimo 编辑器,新建 .py 文件或直接加载现有的纯 Python 笔记本代码。
- 编写代码与查询在单元格中输入 Python 逻辑或使用 SQL 单元格连接数据库查询数据帧。
- 调整交互控件添加滑块或下拉菜单绑定到变量,实时观察图表和数据输出的变化。
- 管理依赖与版本使用 PEP 723 元数据声明包依赖,并通过 Git 提交 .py 文件以记录变更历史。
- 部署或分享选择导出为 WebAssembly HTML 或通过 marimo CLI 将其作为 Web 应用服务运行。


