SuperAPI AI 工具集

marimo-notebook

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:指导以正确的 Python 文件格式编写 marimo 笔记本。marimo 使用 Python 而非 Jupyter 的 JSON 来创建笔记本,每个单元格由 @app.cell 装饰的函数表示,函数输入输出即单元格的输入输出,依赖关系通常由 marimo 自动处理。

主要能力与用法:文件顶部可用 PEP 723 内联脚本元数据声明 requires-python 与 dependencies(如 marimo、numpy==2.4.3)。运行方式包括:uv run <notebook.py> 以脚本非交互方式运行(用于测试);uv run marimo run <notebook.py> 在浏览器交互运行;uv run marimo edit <notebook.py> 交互编辑。可用 mo.app_meta().mode == "script" 检测 CLI 与交互模式。

编写原则:始终创建并显示滑块、按钮等 UI 组件,脚本模式下改用合成或默认数据而非等待输入;不要用 if not is_script_mode 包裹全部逻辑,不要用 try/except 做常规控制流。单元格间变量即定义响应式,无需特殊状态管理,避免跨单元格修改对象,尽量新建对象;除非需要双向 UI 同步或累积回调状态,否则避免 mo.state()。不要用 if 语句守卫单元格,marimo 会在依赖就绪时才运行。单元格只渲染最后一个表达式,缩进或条件表达式不会渲染。

检查与测试:用 uvx marimo check <notebook.py> 作为 linter 检查常见错误;可本地查看 API 文档:uv --with marimo run python -c "import marimo as mo; help(mo.ui.form)"。默认会发现并执行笔记本内测试,存在可选 pytest 依赖时,对仅含 test_ 开头函数的单元格运行 pytest,也可用 pytest <notebook.py> 从命令行运行。

限制:资料未提供收费、价格、平台支持范围等信息;更多主题(SQL、UI、顶层导入、导出、状态、部署、anywidget)需参考对应文档。