marimo

marimo

marimo team · 程式設計

marimo 是一款免費、開放原始碼的反應式 Python 筆記本,適合想要可重現程式碼、對 Git 友善的檔案,以及可分享應用程式的資料科學家與開發者。

marimo 的介面預覽

關於 marimo

什麼是 marimo

marimo 是一款開放原始碼的 Python 筆記本,圍繞著一個想法打造:你的程式碼與它的輸出永遠不該互相矛盾。marimo 不去追蹤你執行過哪些儲存格、順序又是什麼,而是在你改動筆記本中任何一處數值時,自動執行相依的儲存格。如此一來,傳統筆記本那種難以信任、更難交接給同事的隱藏狀態就消失了。

它把每個筆記本存成單純的 .py 檔案,版本控制因此和你的其他程式碼一樣運作。同一個檔案可以當指令碼執行、啟動成互動式網頁應用程式,或完全不需要伺服器、透過 WebAssembly 在瀏覽器開啟。另有一個免費的託管選項 molab,讓你直接在線上試用。

問題在哪?反應式執行意味著昂貴的儲存格會隨每次小改動重跑,繁重的工作流程就得小心。你可以把慢速儲存格標記為過期,而不讓它自動執行,但這是一個你得先想到的設定。marimo cloud 仍在封閉測試,這表示想要全託管、不想自己架伺服器的團隊,只能等它開放,或自行建置基礎設施。

開始使用

  1. 用 pip(pip install marimo)、uv 或 conda 安裝套件,或跳過安裝,直接在 molab 這個免費線上版開啟筆記本。
  2. 在終端機執行 marimo edit,啟動編輯器並建立新筆記本。
  3. 在儲存格裡寫 Python。執行時,marimo 會自動執行所有相依於其變數的儲存格。
  4. 把滑桿、表格或圖表綁定到 Python 變數來加入互動性,不需要回呼函式。
  5. 把成果存成 .py 檔案,之後當指令碼執行,或在你準備分享時部署成網頁應用程式。

產品資訊

快速了解 marimo 的定價、支援平台與效能。

免費方案是
付費方案$0
平台Web, Linux, macOS, Windows
開發者marimo team
類別程式設計
發布日期Jun 2020
最近更新Oct 2025
網站訪問量144.2K
網站全球排名286.2K
API 提供狀態N/A

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 資料科學家:反應式執行讓分析維持可重現、不必手動重跑,前提是你對 Python 夠熟悉。
  • 開發者:`.py` 儲存格式與指令碼執行方式,能融入現有的 Git 工作流程與程式碼審查。
  • 教育工作者:互動式小工具讓現場示範與共享儀表板在教學上變得可行。

任務

  • 探索資料集並建立圖表:把表格和圖表綁定到變數,看它們一起更新。
  • 對資料框架與資料倉儲撰寫 SQL:直接在 Python 筆記本裡查詢資料。
  • 把筆記本變成小型內部工具:部署成團隊每個人都能開啟的網頁應用程式。

情境

  • 幾個月後重現一次模型訓練,並得到相同的數字。
  • 分享互動式報告,讓審閱者拖動滑桿,而不是閱讀靜態輸出。
  • 透過 WebAssembly,在瀏覽器裡原型化儀表板,不必架設後端。

主要功能

反應式執行

這正是定義 marimo 的功能。你執行一個儲存格,所有相依於它的儲存格都會重跑,筆記本因此不會陷入那種讓 Jupyter 使用者吃足苦頭的過期、亂序狀態。若某個儲存格代價高昂,你可以要 marimo 把相依儲存格標成過期,而不是重跑它們。結果就是一本輸出永遠與上方程式碼相符的筆記本。

純 Python 檔案儲存

每個 marimo 筆記本都存成 .py 檔案,而不是 JSON。這表示差異檔可讀、合併衝突好處理,你的筆記本也能和專案其餘部分一起待在 Git 裡。你可以把某個筆記本的函式匯入另一個筆記本,讓筆記本變成可重複使用的模組,而不是孤立的文件。

內建互動性

你把介面元素直接綁定到 Python 變數。滑桿不是透過回呼函式接上去的,它只是讀取和寫入一個值,其餘交給 marimo 處理。表格、圖表和表單輸入都以此運作,讓「把分析變成小型應用程式」這件事更省力,而不是更費工。

SQL 支援

marimo 在 Python 之外原生支援 SQL。你可以查詢資料框架、資料庫、資料倉儲與資料湖,不必離開筆記本,並把結果與 Python 工作混用。如果你的分析一半在 pandas、一半在資料倉儲,這確實很方便。

當指令碼或應用程式執行

同一個檔案可以當 Python 指令碼執行、以命令列參數參數化,或部署成互動式網頁應用程式或簡報。沒有另立的匯出步驟,也不必改寫。一個檔案,三種用法。

透過 WebAssembly 在瀏覽器執行

marimo 能透過 WebAssembly 完全在瀏覽器裡執行,不需要伺服器。這降低了把筆記本分享給不想安裝任何東西的人的門檻。免費的 molab 選項也是靠這個,讓你在幾秒內就跑起來。

AI 原生工作流程

marimo 在設計時就考慮到 AI 工具。你可以把筆記本與 Claude Code 這類 AI 程式編寫代理搭配,或使用編輯器內建的 AI 功能,在撰寫時獲得補全與協助。反應式模型在這裡也幫得上忙,因為自動編輯無法留下隱藏的相依關係。

優缺點

優點

  • 反應式執行移除了隱藏狀態,輸出永遠與你看到的程式碼相符。
  • 把筆記本存成 `.py` 檔案,讓版本控制與程式碼審查變得簡單直接。
  • 一個檔案能當指令碼、網頁應用程式或在瀏覽器裡執行,減少了匯出工作。
  • 以免費且寬鬆授權的開放原始碼形式提供,功能沒有付費牆。

缺點

  • 在大型資料集上,反應式重跑可能變得很貴,逼你得管理哪些儲存格會過期。
  • 相較於成熟的 Jupyter 外掛生態,第三方外掛與教學較少。
  • marimo cloud 仍在封閉測試,託管服務還不是人人都能用。

常見問題

marimo 是一款反應式 Python 筆記本,用於資料分析、模型訓練與 SQL 查詢。它的對象是想要可重現結果與對 Git 友善檔案的人,而不是傳統筆記本容許的隱藏狀態。