Skip to content

Latest commit

 

History

History
301 lines (219 loc) · 16.5 KB

File metadata and controls

301 lines (219 loc) · 16.5 KB

一個響應式的 Python 筆記本,可重現、支援 Git 版本控制,並可部署為腳本或應用程式。

文件 · Discord · 範例 · 展示廊 · YouTube

English | 繁體中文 | 简体中文 | 日本語 | Español

discord Pepy Total Downloads Conda Downloads

marimo 是一個響應式的 Python 筆記本:執行單元格或與 UI 元素互動時,marimo 會自動執行相依的單元格(或將其標記為過時),保持程式碼和輸出的一致性。marimo 筆記本以純 Python 格式儲存(具有一流的 SQL 支援),可作為腳本執行,並可部署為應用程式。

亮點

pip install marimo && marimo tutorial intro

在我們的線上體驗平台來試用 marimo,完全在瀏覽器中執行!

跳到快速開始了解我們的 CLI 工具。

響應式程式設計環境

marimo 保證您的筆記本程式碼、輸出和程式狀態保持一致。這解決了許多問題,這些問題與傳統筆記本(如 Jupyter)相關。

響應式程式設計環境。 執行一個單元格,marimo 會_響應式地_自動執行所有引用其變數的單元格,省去手動重新執行單元格這種容易出錯的步驟。刪除一個單元格,marimo 會從程式記憶體中清除其變數,消除隱藏狀態。

與高成本筆記本相容。 marimo 讓您配置執行環境為惰性模式,將受影響的單元格標記為過時,而不是自動執行它們。這為您提供了程式狀態的保證,同時防止意外執行高成本的單元格。

同步的 UI 元素。UI 元素互動,如滑桿下拉選單資料框轉換器聊天介面,使用它們的單元格會自動以最新值重新執行。

互動式資料框。 翻頁瀏覽、搜尋、篩選和排序數百萬行資料,速度極快,無需編寫程式碼。

使用資料感知 AI 生成單元格。 使用AI 助手生成程式碼,該助手專門為資料處理而設計,具有記憶體中變數的上下文;零樣本生成整個筆記本。自訂系統提示,使用您自己的 API 金鑰,或使用本地模型。

使用 SQL 查詢資料。 建構依賴於 Python 值的 SQL 查詢,並使用我們內建的 SQL 引擎對資料框、資料庫、資料湖、CSV、Google 試算表或任何其他資料來源執行查詢,結果會以 Python 資料框返回。

您的筆記本仍然是純 Python,即使使用了 SQL。

動態 Markdown。 使用由 Python 變數參數化的 Markdown,講述依賴於 Python 資料的動態故事。

內建套件管理。 marimo 內建支援所有主要的套件管理器,讓您在匯入時安裝套件。marimo 甚至可以在筆記本檔案中序列化套件需求,並在隔離的 venv 沙盒中自動安裝它們。

確定性執行順序。 筆記本以確定性順序執行,基於變數引用而不是單元格在頁面上的位置。組織您的筆記本以最佳方式講述您想要的故事。

高效能執行環境。 marimo 透過靜態分析您的程式碼,只執行需要執行的單元格。

功能齊全。 marimo 附帶 GitHub Copilot、AI 助手、Ruff 程式碼格式化、HTML 匯出、快速程式碼自動完成、VS Code 擴充套件、互動式資料框檢視器,以及更多便利功能。

快速開始

我們 YouTube 頻道上的 marimo 概念播放清單提供了許多功能的概覽。

安裝

在終端機中執行

pip install marimo  # 或 conda install -c conda-forge marimo
marimo tutorial intro

若要安裝包含額外相依套件以解鎖 SQL 單元格、AI 自動完成等功能,請執行

pip install marimo[recommended]

建立新筆記本

使用以下指令建立或編輯筆記本

marimo edit

作為應用程式執行

將您的筆記本作為網頁應用程式運行,Python 程式碼將被隱藏且不可編輯:

marimo run your_notebook.py

作為腳本執行

在命令列中將筆記本作為腳本執行

python your_notebook.py

自動轉換 Jupyter 筆記本

使用 CLI 自動將 Jupyter 筆記本轉換為 marimo 筆記本

marimo convert your_notebook.ipynb > your_notebook.py

或使用我們的網頁介面

教學

列出所有教學:

marimo tutorial --help

分享雲端筆記本。

使用 molab,一個類似於 Google Colab 的雲端 marimo 筆記本服務, 來創建和分享筆記本連結。

有問題嗎?

請參閱我們文件中的常見問題

了解更多

marimo 容易上手,並為進階使用者提供了許多強大功能。 例如,這是一個使用 marimo 製作的嵌入視覺化工具 (影片):

查看我們的文件使用範例,以及我們的展示廊以了解更多。

教學 輸入 繪圖 佈局

貢獻

我們感謝所有的貢獻!您不需要是專家即可提供協助。 請參閱 CONTRIBUTING.md 以獲取更多關於如何開始的詳細資訊。

有問題嗎?請在 Discord 上與我們聯繫。

我們熱烈歡迎貢獻!您可以幫助 marimo:

有關如何貢獻的更多資訊,請參見貢獻指南

社群

我們正在建立一個社群。歡迎來與我們交流!

NumFOCUS 附屬專案。 marimo 是更廣泛 Python 生態系統的核心部分,也是 NumFOCUS 社群的成員,該社群包括 NumPy、SciPy 和 Matplotlib 等專案。

靈感 ✨

marimo 是 Python 筆記本的重新發明,作為一個可重現、互動且可分享的 Python 程式,而非容易出錯的 JSON 草稿本。

我們相信工具會影響我們的思考方式——更好的工具,造就更好的思維。透過 marimo,我們希望為 Python 社群提供一個更好的程式設計環境,用以進行研究並傳達成果;實驗程式碼並分享它;學習計算科學並教授它。

我們的靈感來自許多地方和專案,特別是 Pluto.jlObservableHQBret Victor 的文章。marimo 是朝向響應式資料流程式設計更大運動的一部分。從 IPyflowstreamlitTensorFlowPyTorchJAXReact,函數式、聲明式和響應式程式設計的理念正在改善廣泛的工具。


Note: This is a community-contributed translation. The English README is the authoritative and most up-to-date version.

注意:這是社群貢獻的翻譯。英文 README 是最權威且最新的版本。