用途:marimo-notebooks 是一份关于 marimo 响应式 Python 笔记本的技能资料,适用于创建或编辑 marimo 笔记本、处理含 @app.cell 装饰器的 .py 文件、构建响应式笔记本等场景。
主要能力:marimo 笔记本以纯 .py 文件存储,单元格在依赖变化时自动执行,依赖关系被建模为有向无环图(DAG)。它通过静态分析变量引用与定义构建依赖图,执行顺序遵循依赖图而非视觉顺序,每个全局变量必须恰好由一个单元格定义。资料涵盖变量命名冲突的两种处理策略(函数封装、唯一变量名)、笔记本结构、CLI 命令、运行模式下的代码可见性、mo.md() 标记、mo.ui.* 组件、布局函数、输出函数、状态指示、控制流、缓存、状态管理、交互式绘图与 Wigglystuff 组件等。
使用方式:常用命令包括 marimo new、marimo edit notebook.py、marimo edit notebook.py --watch、marimo run notebook.py、marimo run notebook.py --include-code、marimo convert notebook.ipynb -o notebook.py、marimo export html notebook.py -o out.html、marimo export ipynb notebook.py -o out.ipynb、marimo check notebook.py 及 marimo check notebook.py --fix。编辑前应读取当前文件状态并运行 marimo check,编辑后应替换所有 print 语句并再次校验。
适用场景与限制:适合构建响应式 Python 笔记本、教程与交互式应用。限制包括:不追踪对象突变(如 list.append()),需在同一单元格内突变或创建新变量;run 模式默认隐藏代码,需用 mo.show_code() 显示;mo.state() 应谨慎使用;动态 UI 元素需包装;matplotlib 输出前需调用 plt.tight_layout()。官方文档见 https://docs.marimo.io。