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))

このスニペットは、2つのキャッシュ済みタスクを作成し、ワークフロー内で接続するための最小限のコードを示しています。

はじめに

  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 リンクを使用。

貢献と拡張性

  • 詳細な貢献ガイドは https://docs.flyte.org/en/latest/api/flytekit/contributing.html にあります。
  • プラグインは plugins/README.md に一覧されています;コアメンテナがリストを管理していますが、外部プラグインも存在する可能性があります。
  • イシューは Flyte コアリポジトリのイシューセクションリンクに従って登録してください。

どんな人が使うべきか?

  • 再現可能なパイプラインを Python で定義したいデータサイエンティストや ML エンジニア。
  • 内部 AI/ML オーケストレーションサービスを構築するプラットフォームチーム。
  • ローカルノートブックからプロダクショングレードのワークフロー・エンジンへ移行したい開発者。

  • 上記のすべての情報はリポジトリの README から直接取得したものであり、追加の機能は推測されていません。*

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト