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つのキャッシュ済みタスクを作成し、ワークフロー内で接続するための最小限のコードを示しています。
はじめに
- インストール –
pip install flytekit。 - クイックスタートガイドを読む – https://docs.flyte.org/en/latest/user_guide/quickstart_guide.html。
- API ドキュメントを確認する – https://docs.flyte.org/en/latest/api/flytekit/docs_index.html。
- コミュニティに参加する – バッジに掲載された Slack リンクを使用。
貢献と拡張性
- 詳細な貢献ガイドは https://docs.flyte.org/en/latest/api/flytekit/contributing.html にあります。
- プラグインは
plugins/README.mdに一覧されています;コアメンテナがリストを管理していますが、外部プラグインも存在する可能性があります。 - イシューは Flyte コアリポジトリのイシューセクションリンクに従って登録してください。
どんな人が使うべきか?
- 再現可能なパイプラインを Python で定義したいデータサイエンティストや ML エンジニア。
- 内部 AI/ML オーケストレーションサービスを構築するプラットフォームチーム。
- ローカルノートブックからプロダクショングレードのワークフロー・エンジンへ移行したい開発者。
- 上記のすべての情報はリポジトリの README から直接取得したものであり、追加の機能は推測されていません。*
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト