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 Python. All in a modern, AI-native editor.
解决的问题
marimo 是一个响应式 Python Notebook,旨在通过消除隐藏状态并确保代码、输出和程序状态保持一致,来取代传统的 Notebook(如 Jupyter)。它将 Notebook 从易于出错的 JSON 草稿本转变为可重现的、对 git 友好的 Python 程序。
工作原理
它采用响应式编程模型,运行一个单元格或与 UI 元素交互会自动触发所有相关单元格的执行。它将 Notebook 存储为纯 Python 文件(.py),使其可以作为脚本执行、作为交互式 Web 应用部署,或从现有的 Jupyter Notebook 转换而来。它还内置了 SQL 引擎,可以直接在 Notebook 中查询数据框和数据库。
适用对象
需要用于数据分析、创建交互式应用以及通过 git 进行协作的可重现且确定性的执行环境的数据科学家、研究人员和开发人员。
亮点
- 响应式执行:自动运行相关单元格以保持一致性
- Git 友好:Notebook 以纯 Python 文件而非 JSON 格式存储。
- AI 原生:内置 AI 助手并支持与 Claude Code 等 AI Agent 集成,用于感知数据的代码生成。
- 交互式 UI:无需回调即可将滑块、表格和聊天界面绑定到 Python。
- 以数据为中心:一流的 SQL 支持和高性能的交互式数据框查看器。
- 多功能部署:可以作为脚本、Web 应用或通过 WASM 在浏览器中运行。
- 内置包管理:支持在导入时安装包并在 Notebook 文件中序列化需求。
相关
- 项目
- 项目
- 项目
- 项目
- 项目