# marimo marimo 是一款开源的响应式 Python 笔记本,适合数据科学家、AI 工程师和 Python 开发者探索数据、开发模型并构建交互式应用。笔记本以普通 Python 文件保存,便于纳入常规开发流程。 - Findings24: - 网站: - 价格: Free - 分类: AI编程助手, 开发者工具 ## 什么是 marimo? marimo 是一款开源 Python 笔记本,可用于探索数据、开发模型和构建交互式应用。它以普通 Python 文件的形式保存笔记本,让笔记本工作融入标准软件开发流程。 其响应式执行模型会跟踪单元格之间的依赖关系,并在代码或输入发生变化时更新受影响的输出。一个笔记本既可用作分析工作区、可执行脚本,也可作为供他人通过浏览器探索的应用。 ## marimo 能做什么? ### 感知依赖关系的执行 单元格按确定性顺序执行。删除单元格会移除其变量,并更新受影响的单元格。对于计算开销较大的任务,用户可以将依赖输出标记为过期,而不必自动重新运行。 ### 交互式数据探索 DataFrame 表格支持排序、筛选、搜索,并可查看列统计信息、数据类型和缺失值信息。滑块、下拉菜单和可选择的图表让用户通过交互式输入控制分析过程。 ### Python 旁边使用 SQL 内置 SQL 单元格可查询 DataFrame 和数据库,支持 Pandas、Polars、PyArrow、DuckDB、SQLite、Postgres 和 MySQL。 ### AI 辅助与编码代理 可配置上下文感知补全、带可视化差异对比的错误修复建议,以及侧边栏聊天。marimo pair 可让编码代理访问实时笔记本单元格和状态;Agent 侧边栏支持兼容 ACP 的代理。 ### Python 开发工作流 笔记本以 .py 文件形式保存,便于使用 Git 进行版本管理、复用模块和通过 PyTest 测试。编辑器提供格式化、调试面板、vim 按键绑定和快捷键,并配有 CLI 和 VS Code 扩展。 ### 应用托管与 HTML 导出 可使用 marimo CLI 将笔记本作为 Web 应用托管,或将兼容的笔记本导出为由 WebAssembly 驱动的 HTML。同一文件也可在本地或流水线中作为脚本运行。 ## 使用场景 ### 调查数据集 数据科学家可以检查数据质量、调整预处理参数,并通过悬停详情、缩放和筛选来探索 Altair 或 Plotly 可视化图表。 ### 与利益相关者分享分析 将现有笔记本转换为应用,让同事自行调整参数并探索结果,而无需在单独的仪表板工具中重新构建分析。 ### 构建 AI 应用原型 AI 工程师可以组合自定义聊天组件、文件上传和动态可视化,以测试模型交互,并与同事分享可运行的演示。 ### 构建标注与评估界面 创建自定义标注工具、模型比较仪表板和人工参与工作流,用于评估多模态模型或准备微调样例。 ## 常见问题 ### 如何安装 marimo? 使用 \`uv pip install marimo\` 安装 Python 包。使用 \`marimo edit notebook.py\` 打开笔记本进行编辑。 ### 笔记本能否记录其软件包依赖? 可以。笔记本可通过 PEP 723 元数据包含软件包需求,并由 marimo 管理虚拟环境。 ### 我可以使用哪些 AI 提供商? marimo 支持 OpenAI、Anthropic、Google Gemini、Ollama 和兼容 OpenAI 的 API。你可以配置托管提供商或在本地运行的模型。 ### 如何将笔记本作为应用启动? 运行 \`marimo run notebook.py\`,即可将笔记本作为交互式应用托管。现有组件可为应用用户提供控制项。 ### marimo 免费吗? 笔记本软件免费,并采用 Apache-2.0 许可开源。AI 辅助功能使用你配置的模型提供商,该提供商可以是托管服务,也可以在本地运行。模型服务和部署基础设施独立于笔记本许可证。 ## 快速信息 - **产品类型**: 响应式 Python 笔记本 - **许可模式**: 免费,采用 Apache-2.0 许可开源 - **主要用户**: 数据科学家、AI 工程师和 Python 开发者 - **笔记本格式**: 普通 Python 文件(.py) - **网站**: https://marimo.io