SuperAPI AI 工具集

marimo

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:marimo 是开源响应式 Python notebook,把 notebook 变成可复现、可交互、可分享的 Python 程序。与 Jupyter 不同,它以纯 .py 文件存储(对 Git 友好、无 JSON),像电子表格一样响应式执行,可作为脚本运行或部署为 Web 应用,并通过自动依赖追踪减少错误。

安装:pip install marimo;pip install marimo[recommended];pip install marimo[sql];marimo tutorial intro 启动教程。

主要能力:响应式执行,运行某单元格会自动运行依赖它的单元格,执行顺序由变量依赖(DAG)决定而非位置;每个全局变量只能在一个单元格中定义,list.append() 等原地修改不被追踪,需重新赋值,若必须修改则与声明放在同一单元格。文件为带 marimo 装饰器的纯 Python 文件,使用 app = marimo.App() 与 @app.cell。

常用命令:marimo edit 新建或编辑 notebook.py;marimo edit --watch --sandbox 监视文件并隔离依赖;marimo run notebook.py 以只读应用运行,加 --watch 自动重载;python notebook.py 作为脚本运行;marimo new "analyze sales data" 由提示创建;marimo convert notebook.ipynb -o notebook.py 转换;marimo export html notebook.py -o output.html 导出 HTML,marimo export html-wasm notebook.py -o output.html 导出浏览器可执行的 WASM 应用。

API 覆盖:mo.md 富文本、LaTeX、图标;mo.Html 与 mo.as_html;mo.output.append 与控制台重定向;输入控件(滑块、文本、下拉、表格、表单);布局(mo.hstack、mo.vstack、标签页、折叠面板);媒体(图片、音频、视频、PDF、下载);绘图(Altair、Plotly、matplotlib);Mermaid 图;进度条与加载指示;mo.sql 查询数据库与 DataFrame;mo.stop 条件执行;mo.state 同步 UI;@mo.cache 与 @mo.persistent_cache 缓存;mo.query_params 读取 URL 状态;mo.cli_args 读取脚本参数;mo.watch.file 监视文件;嵌入 notebook 与 mo.app_meta;跨 notebook 执行与测试。

适用场景:数据分析、交互式报告、教学演示、可复现研究、将 notebook 作为 Web 应用或静态 WASM 页面分享。

限制与注意:原地修改不被追踪;避免滥用 mo.state,仅在需同步多个 UI 元素时使用;昂贵计算建议用 @mo.cache;单元格位置不影响执行,按可读性组织。资料未提供收费、价格与平台支持等细节。