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))
此代码片段展示了创建两个缓存任务并将其连接成工作流所需的最少代码。
开始使用
- 安装 –
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 核心仓库的 issue 部分链接中的说明提交。
谁会使用它?
- 希望以 Python 为第一语言定义可复现管道的数据科学家和 ML 工程师。
- 构建内部 AI/ML 编排服务的平台团队。
- 需要一种轻量级方式从本地笔记本迁移到生产级工作流引擎的开发者。
- 上述所有信息均直接取自仓库的 README;未推断任何额外功能。*
相关
- 项目
- 项目
- 项目
- 项目
- 项目