Marimo:颠覆传统Python Notebook 的数据流图革命

2025-08-09
Marimo:颠覆传统Python Notebook 的数据流图革命

Marimo 是一款开源的 Python 笔记本,它将笔记本表示为数据流图,而非传统的 REPL。这种表示方法结合了交互式计算的优点和 Python 软件的可重现性和可重用性。Marimo 笔记本可以作为反应式笔记本、可执行脚本、Python 模块和交互式 Web 应用。它解决了传统笔记本在可重现性、交互性、可维护性和可重用性方面的不足,通过静态分析保证代码和输出同步,并支持 SQL 嵌入和模块热重载等特性。Marimo 已被 Cloudflare、Shopify 和 BlackRock 等公司采用。

阅读更多
开发 数据流图

Marimo:将Jupyter Notebook革新为可版本控制的纯Python程序

2025-03-19
Marimo:将Jupyter Notebook革新为可版本控制的纯Python程序

Marimo是一个开源项目,它重新定义了Jupyter Notebook,将其转换为可作为普通Python程序使用的纯文本Python文件。传统Jupyter Notebook的JSON格式.ipynb文件导致版本控制困难、代码复用性差等问题。Marimo解决了这些问题,通过将Notebook表示为数据流图,使其易于版本控制(使用Git)、导入为模块、使用pytest进行测试以及作为脚本执行。它还支持SQL和Markdown嵌入,并提供缓存机制以提高效率。Marimo已得到广泛采用,被OpenAI、BlackRock等公司以及众多研究机构使用,正逐渐成为交互式计算的新标准。

阅读更多

重塑 Python Notebook 的经验教训

2024-05-11
重塑 Python Notebook 的经验教训

本文介绍了 marimo,一个从头开始重构 Python notebook 的项目。作者提出了三个核心需求:可重复性,可维护性和多用途性。为了实现可重复性,marimo 将每个 notebook 建模为一个有向无环图 (DAG),消除了隐藏状态,确保代码和输出始终同步。为了提高可维护性,marimo 使用纯 Python 文件格式,使其易于版本控制和移植。最后,marimo 的 DAG 结构和 UI 元素使其成为多用途工具,可以作为交互式网络应用程序运行,作为脚本执行,甚至可以用于批处理计算。

阅读更多
54
未分类 Notebook marimo