flyteorg/flytekit

Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible.

Flytekit Python – 是什麼

Flytekit 是 Flyte 的官方 Python SDK,一個開源平台,讓您能撰寫、測試、封裝並執行以資料與 ML 為導向的工作流程,作為可重複使用的 任務工作流程啟動計畫。此套件提供 Python 裝飾器(@task@workflow),將一般函式轉換為與 Flyte 相容的單元,並處理與 Flyte 後端的通訊。

核心功能

功能 README 中的描述
工作流程撰寫 使用 @task@workflow 裝飾器定義可重複使用的元件,並組合成管道。
快取與重試 可將任務宣告為 cache=True,並設定 cache_version 與重試次數,實現結果重用與容錯。
本地測試與部署 相同的 Python 程式碼可在本地快速迭代,之後無需修改即可部署至 Flyte 集群。
透過外掛擴充 plugins/ 目錄(及外部外掛)可新增整合(例如 Spark、Kubernetes、自訂執行器)。
文件與範例 提供快速入門指南、API 文件與「透過範例學習 Flytekit」教學連結。
社群支援 包含 Slack 頻道徽章、貢獻指南與問題提交說明。

快速入門範例(來自 README)

from flytekit import task, workflow

@task(cache=True, cache_version="1", retries=3)
def sum(x: int, y: int) -> int:
    return x + y

@task(cache=True, cache_version="1", retries=3)
def square(z: int) -> int:
    return z*z

@workflow
def my_workflow(x: int, y: int) -> int:
    return sum(x=square(z=x), y=square(z=y))

此程式碼片段展示了建立兩個快取任務並在工作流程中串接所需的最少程式碼。

開始使用

  1. 安裝pip install flytekit
  2. 閱讀快速入門指南https://docs.flyte.org/en/latest/user_guide/quickstart_guide.html。
  3. 探索 API 文件https://docs.flyte.org/en/latest/api/flytekit/docs_index.html。
  4. 加入社群 – 使用徽章中提供的 Slack 連結。

貢獻與擴充性

誰會使用它?

  • 希望以 Python 為首選語言定義可重複執行管道的資料科學家與 ML 工程師。
  • 建構內部 AI/ML 編排服務的平台團隊。
  • 需要輕量級方式從本地筆記本遷移至生產級工作流程引擎的開發者。

  • 上述所有資訊均直接取自倉儲的 README;未推斷任何額外功能。*

相關

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