marimo-team/marimo

A reactive notebook for Python — run reproducible experiments, query with SQL, execute as a script, deploy as an app, and version with git. Stored as pure Python. All in a modern, AI-native editor.

解決的問題

marimo 是一個響應式 Python Notebook,旨在透過消除隱藏狀態並確保程式碼、輸出和程式狀態保持一致,來取代傳統的 Notebook(如 Jupyter)。它將 Notebook 從易於出錯的 JSON 草稿本轉變為可重現的、對 git 友好的 Python 程式。

工作原理

它採用響應式編程模型,執行一個單元格或與 UI 元素互動會自動觸發所有相關單元格的執行。它將 Notebook 儲存為純 Python 檔案(.py),使其可以作為腳本執行、作為互動式 Web 應用部署,或從現有的 Jupyter Notebook 轉換而來。它還內建了 SQL 引擎,可以直接在 Notebook 中查詢資料框和資料庫。

適用對象

需要用於數據分析、建立互動式應用以及透過 git 進行協作的可重現且確定性的執行環境的數據科學家、研究人員和開發人員。

亮點

  • 響應式執行:自動執行相關單元格以保持一致性
  • Git 友好:Notebook 以純 Python 檔案而非 JSON 格式儲存。
  • AI 原生:內建 AI 助手並支援與 Claude Code 等 AI Agent 整合,用於感知數據的程式碼生成。
  • 互動式 UI:無需回調即可將滑桿、表格和聊天介面綁定到 Python。
  • 以數據為中心:一流的 SQL 支援和高性能的互動式資料框檢視器。
  • 多功能部署:可以作為腳本、Web 應用或透過 WASM 在瀏覽器中執行。
  • 內建套件管理:支援在匯入時安裝套件並在 Notebook 檔案中序列化需求。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案