产品概述
marimo是一款新一代Python笔记本,重新定义了交互式计算,确保可复现性、可维护性和无缝交互体验。与传统笔记本不同,marimo将笔记本以纯Python脚本(.py文件)存储,支持通过Git进行版本控制、脚本执行及Web应用部署。其响应式执行可自动更新依赖单元格,杜绝隐藏状态与同步错误。内置SQL支持、交互式UI元素和AI原生编辑器功能,助力Python开发者高效进行数据探索、原型开发与生产部署。
主要功能
| 响应式执行 | 当单元格或UI元素发生变化时,自动重新运行相关依赖单元格,无需手动操作即可保持代码、输出和程序状态的一致性。 |
| Python优先与Git友好 | 笔记本以纯Python文件形式存储,便于版本控制、脚本执行,以及在不同笔记本或Python文件间导入符号。 |
| 内置包管理与沙盒环境 | 可在笔记本中序列化包依赖,并能创建隔离的虚拟环境,确保从包版本到环境的可复现性。 |
| 交互式UI元素 | 内置滑块、下拉菜单、数据表和图表,可直接绑定到Python变量,实现快速、零代码的交互和数据探索。 |
| 一流SQL支持 | 可在笔记本中直接使用SQL单元查询数据框和数据库,结果以Python数据框形式返回,便于进一步处理。 |
| 可分享与部署 | 笔记本可导出为由WebAssembly驱动的交互式Web应用,或通过CLI服务,方便分享和部署。 |
使用场景
- 数据科学与分析:数据科学家可构建可复现、交互式的笔记本,将Python与SQL无缝集成,实现数据查询与可视化。
- 科研与原型开发:研究人员受益于确定性执行和响应式编程,可快速迭代代码与模型,避免隐藏状态带来的Bug。
- 协作开发:团队可将笔记本作为Python脚本进行版本控制,分享交互式应用,并在开发与生产环境间保持一致性。
- 教学工具:教师和学习者可创建集代码、可视化和UI元素于一体的交互式、可复现笔记本,用于高效教学。
- 生产部署:开发者可从原型到生产无缝切换,将笔记本作为脚本运行或便捷部署为Web应用。

