Flyte 2 的开源 Kubernetes 后端尚未发布(coming soon),生产级后端目前需用 Union.ai;本仓库为后端与主仓库,Python SDK 在 flyte-sdk 仓库;TUI 需额外安装 flyte[tui]。
flyte
flyteorgApache-2.0活跃维护在 Kubernetes 上编排 ML 流水线、智能体和实时推理的类型安全分布式引擎,用纯 Python 的 async/await 写工作流,也支持 Rust、Go 和 TS。
Type-safe, distributed orchestration of agents, ML pipelines, and real-time inference on your k8s — in pure Python with async/await, also other languages (rust, go and ts)
uv pip install flyteREADME 未说明具体硬件要求;本地可先跑 Devbox 或 GitHub Codespaces,分布式多节点需 Kubernetes 后端。
用纯 Python 编排 ML 流水线、模型与 Agent 的分布式运行时
在 Kubernetes 上编排 ML 流水线、智能体和实时推理的类型安全分布式引擎,用纯 Python 的 async/await 写工作流,也支持 Rust、Go 和 TS。
核心能力
- 用 @env.task 装饰器把函数变成可分布式执行的任务
- 支持 async/await 与 asyncio.gather 并发调度任务
- 用 TaskEnvironment 声明镜像与运行环境
- FastAPIAppEnvironment 直接把模型服务化部署
- 提供 flyte run / flyte serve CLI 与 TUI 本地开发体验
容易踩的坑
- v2.0.54最新正式版2026-11-03 · 2026-11-03 18:56 UTC
What's Changed
- fix(executor): reset SystemFailures only when a new attempt starts by @ChickenBenny in https://github.com/flyteorg/flyte/pull/8237
- feat(idl): add queue-scoped action listing by @ursucarina in https://github.com/flyteorg/flyte/pull/8229
- refactor(idl): remove unused queue timing reservations by @ursucarina in https://github.com/flyteorg/flyte/pull/8253
- fix(runs): keep app_dns_strategy in resolved settings by @1fanwang in https://github.com/flyteorg/flyte/pull/8238
- feat(sentry): add sentryutils.Gauge helper by @Icewind52 in https://github.com/flyteorg/flyte/pull/8248
- build(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus from 1.1.0 to 1.1.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8249
- build(deps): bump github.com/getsentry/sentry-go from 0.49.0 to 0.50.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8220
- build(deps): bump google.golang.org/api from 0.306.0 to 0.307.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8251
- Use redisotel-native for Redis metrics by @Sovietaced in https://github.com/flyteorg/flyte/pull/8246
- build(deps): bump github.com/googleapis/gax-go/v2 from 2.26.2 to 2.27.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8250
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.6 in /boilerplate/flyte/golang_support_tools in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8256
- feat(charts): make the flyte-core executor replica count configurable by @earlybard in https://github.com/flyteorg/flyte/pull/8261
- fix(dataproxy): reject fractional JSON values for integer inputs by @RaphaelFakhri in https://github.com/flyteorg/flyte/pull/8225
- fix(charts): route SettingsService in flyte-core and add apiJwtIngress.keepHttpRoutes by @earlybard in https://github.com/flyteorg/flyte/pull/8260
- build(deps): bump github.com/aws/smithy-go from 1.28.5 to 1.28.6 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8268
- feat(idl): optional task_version on TaskTriggerSpec to pin a trigger by @dansola in https://github.com/flyteorg/flyte/pull/8230
- fix(charts): write flyte-core webhook certs to the mounted emptyDir by @earlybard in https://github.com/flyteorg/flyte/pull/8262
- fix(storage): treat ConstructReference keys as literal path segments by @spicysharkco in https://github.com/flyteorg/flyte/pull/8195
- build(deps): bump cloud.google.com/go/secretmanager from 1.22.0 to 1.23.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8267
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.33.9 to 1.33.10 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8266
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager from 1.50.5 to 1.50.6 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8265
- Move parent to running RUNNING state when handling child action updates atomically by @Sovietaced in https://github.com/flyteorg/flyte/pull/8263
- fix(plugins): list only the job's own pods by @madiyar-wayve in https://github.com/flyteorg/flyte/pull/8215
- feat(executor): enforce TimeoutStrategy.deadline across all attempts by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8271
- fix(flyteplugins): report a pod the cluster disrupted as a system failure by @Pankrat in https://github.com/flyteorg/flyte/pull/8155
- feat(clustered): resume a preempted gang when Kueue readmits it by @mitja-kleider in https://github.com/flyteorg/flyte/pull/8258
- build(deps): bump google.golang.org/api from 0.307.0 to 0.308.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8273
- Add metrics + tracing for Postgres with otelsql by @Sovietaced in https://github.com/flyteorg/flyte/pull/8257
- build(deps): bump google.golang.org/grpc from 1.84.0 to 1.85.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8294
- build(deps): bump github.com/
- v2.0.532026-10-27 · 2026-10-27 04:34 UTC
查看更新说明
What's Changed
- fix(dataproxy): keep sub-second precision for datetime literals in launch form JSON by @sebxt in https://github.com/flyteorg/flyte/pull/8203
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.31.0 to 2.32.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8208
- build(deps): bump sigs.k8s.io/jobset from 0.12.0 to 0.13.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8206
- build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.23.2 to 1.23.3 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8207
- build(deps): bump connectrpc.com/connect from 1.21.0 to 1.21.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8205
- fix(cache): refresh entries older than maxCacheAge instead of missing again by @spicysharkco in https://github.com/flyteorg/flyte/pull/8204
- build(deps): bump github.com/go-test/deep from 1.1.1 to 1.1.2 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8214
- build(deps): bump google.golang.org/api from 0.303.0 to 0.304.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8212
- Bump Go to 1.27.3 by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8210
- gpufault: classify distributed child-pod faults and verify event node provenance by @samhita-alla in https://github.com/flyteorg/flyte/pull/7913
- fix(k8s): preserve accelerator defaults and support shared GPUs and mixed MIG resources by @samhita-alla in https://github.com/flyteorg/flyte/pull/8163
- Add queue to v2 upload location request by @farhan-uai in https://github.com/flyteorg/flyte/pull/8216
- feat(idl): reusable worker kind and ReusePolicy name/version by @kumare3 in https://github.com/flyteorg/flyte/pull/8217
- docs: use FLYTE_DEV=True to enable devbox dev mode by @Icewind52 in https://github.com/flyteorg/flyte/pull/8232
- fix(kfoperators): don't fail suspended kubeflow jobs by @mitja-kleider in https://github.com/flyteorg/flyte/pull/8222
- build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.14.1 to 1.15.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8213
- fix(flyteplugins): don't charge a user retry for an unreadable termination status by @ggiorgis1 in https://github.com/flyteorg/flyte/pull/8095
- fix(devbox): match FLYTE_DEV case-insensitively in bootstrap by @Icewind52 in https://github.com/flyteorg/flyte/pull/8236
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.33.7 to 1.33.9 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8221
- build(deps): bump github.com/prometheus/common from 0.72.0 to 0.72.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8211
- build(deps): bump google.golang.org/api from 0.304.0 to 0.306.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8242
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager from 1.50.4 to 1.50.5 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8243
- build(deps): bump github.com/shamaton/msgpack/v2 from 2.4.2 to 2.4.4 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8244
- feat(api): expose effective queue in task action metadata by @ursucarina in https://github.com/flyteorg/flyte/pull/8245
- feat(dataproxy): add queue to UploadInputsRequest by @SVilgelm in https://github.com/flyteorg/flyte/pull/8148
New Contributors
- @sebxt made their first contribution in https://github.com/flyteorg/flyte/pull/8203
- @Icewind52 made their first contribution in https://github.com/flyteorg/flyte/pull/8232
- @ggiorgis1 made their first contribution in https://github.com/flyteorg/flyte/pull/8095
Full Changelog: https://github.com/flyteorg/flyte/compare/v2.0.52...v2.0.53
- v2.0.522026-10-21 · 2026-10-21 01:15 UTC
查看更新说明
What's Changed
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8145
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8147
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8146
- feat(clustered): classify Kueue evictions as user or system retries by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8136
- build(deps): bump golang.org/x/tools from 0.50.0 to 0.51.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8150
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8151
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8152
- Unify and improve Redis config by @Sovietaced in https://github.com/flyteorg/flyte/pull/8121
- Upgrade to Go 1.27 by @Sovietaced in https://github.com/flyteorg/flyte/pull/7949
- build(deps): bump connectrpc.com/otelconnect from 0.9.0 to 0.10.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8110
- fix(runs): size watch subscriber channels from watchBufferSize by @earlybard in https://github.com/flyteorg/flyte/pull/8164
- Add support for HPAs to flyte-core helm chart by @Sovietaced in https://github.com/flyteorg/flyte/pull/8158
- build(deps): bump github.com/redis/go-redis/extra/redisprometheus/v9 from 9.22.0 to 9.23.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8168
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.33.6 to 1.33.7 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8169
- build(deps): bump golang.org/x/sync from 0.23.0 to 0.24.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8171
- fix(actions): make task Enqueue idempotent on AlreadyExists by @ChickenBenny in https://github.com/flyteorg/flyte/pull/8172
- fix(executor): wait out RetryStrategy.backoff between user retries by @chris-thomas-dev in https://github.com/flyteorg/flyte/pull/8097
- Honour DO_NOT_TRACK as the telemetry opt-out; add telemetry.enabled chart value by @EngHabu in https://github.com/flyteorg/flyte/pull/8175
- fix(copilot): bound concurrent file uploads to keep the uploader within its memory limit by @k1sauce in https://github.com/flyteorg/flyte/pull/8149
- build(deps): bump connectrpc.com/otelconnect from 0.10.0 to 0.12.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8178
- storage: bump stow to v0.5.1 to stream S3 uploads of files instead of buffering them by @k1sauce in https://github.com/flyteorg/flyte/pull/8186
- Preserve terminal TaskAction phase during GC cleanup by @1fanwang in https://github.com/flyteorg/flyte/pull/8113
- Stop treating a gracefully-deleting pod as an unexpected failure by @Pankrat in https://github.com/flyteorg/flyte/pull/8112
- build(deps): bump google.golang.org/api from 0.300.0 to 0.301.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8176
- build(deps): bump github.com/aws/smithy-go from 1.28.2 to 1.28.5 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8184
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.33.0 to 2.33.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8182
- feat: Apple Silicon accelerator for the devbox by @cosmicbboy in https://github.com/flyteorg/flyte/pull/8181
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager from 1.50.1 to 1.50.4 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8183
- build(deps): bump github.com/prometheus/client_golang from 1.24.1 to 1.25.0 by @dependabot[bot] in https://gi
- v2.0.512026-10-08 · 2026-10-08 00:20 UTC
查看更新说明
What's Changed
- fix(copilot): download multipart blob items through the authenticated store by @k1sauce in https://github.com/flyteorg/flyte/pull/8077
- fix(executor): surface Kueue preemptions as system retries with their reason by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8070
- feat: add queue_id to SelectClusterRequest by @EngHabu in https://github.com/flyteorg/flyte/pull/8088
- idl: restrict the character set of artifact name and version by @EngHabu in https://github.com/flyteorg/flyte/pull/8092
- [Flyte 7757] Prevent NOTIFY from blocking action writes by @0yukali0 in https://github.com/flyteorg/flyte/pull/7965
- build(deps): bump github.com/googleapis/gax-go/v2 from 2.24.1 to 2.26.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8091
- build(deps): bump k8s.io/apimachinery from 0.37.0 to 0.37.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8090
- Add NVIDIA RTX PRO 4500 accelerator model by @wild-endeavor in https://github.com/flyteorg/flyte/pull/8096
- build(deps): bump k8s.io/apiextensions-apiserver from 0.37.0 to 0.37.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8089
- build(deps): bump google.golang.org/api from 0.298.0 to 0.299.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8084
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.30.0 to 2.31.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8099
- build(deps): bump cloud.google.com/go/secretmanager from 1.21.0 to 1.22.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8100
- storage: bump stow to v0.4.0, copy server-side, detect %w-wrapped stow errors by @SVilgelm in https://github.com/flyteorg/flyte/pull/8107
- build(deps): bump github.com/googleapis/gax-go/v2 from 2.26.0 to 2.26.2 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8109
- build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.47.0 to 1.47.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8101
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager from 1.50.0 to 1.50.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8102
- build(deps): bump sigs.k8s.io/controller-runtime from 0.25.1 to 0.25.2 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8123
- build(deps): bump github.com/onsi/gomega from 1.43.1 to 1.44.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8124
- build(deps): bump github.com/prometheus/common from 0.71.0 to 0.72.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8125
- fix(copilot): stage set Optional[File] inputs like File under NAMED_DIR by @k1sauce in https://github.com/flyteorg/flyte/pull/8118
- storage: bump stow to v0.5.0, pass the context to stow by @SVilgelm in https://github.com/flyteorg/flyte/pull/8115
- fix: report Kueue-suspended JobSets honestly in the clustered plugin by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8127
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8133
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.46.0 to 1.47.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8132
- security: restrict regenerate workflow triggers by @farhan-uai in https://github.com/flyteorg/flyte/pull/8129
- feat(idl): add TaskTemplate.worker_kind by @kumare3 in https://github.com/flyteorg/flyte/pull/8134
- Executor webhook: pluggable pod/node mutators and v1 secret-injection fixes by @EngHabu in https://github.com/flyteorg/flyte/pull/8137
Full Changelog: https://github.com/flyteorg/flyte/compare/v2.0.50...v2.0.51
- v2.0.502026-09-24 · 2026-09-24 23:32 UTC
查看更新说明
What's Changed
- fix(flytek8s): dedupe container env vars by name in DecorateEnvVars by @AdilFayyaz in https://github.com/flyteorg/flyte/pull/8053
- build(deps): bump google.golang.org/api from 0.297.0 to 0.298.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8062
- build(deps): bump sigs.k8s.io/controller-runtime from 0.25.0 to 0.25.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8061
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager from 1.49.0 to 1.50.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8059
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.33.4 to 1.33.5 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8060
- build(deps): bump github.com/magiconair/properties from 1.18.11 to 1.18.12 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8068
- build(deps): bump google.golang.org/grpc from 1.83.2 to 1.84.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8075
- build(deps): bump github.com/onsi/gomega from 1.43.0 to 1.43.1 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8074
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.32.2 to 2.33.0 by @dependabot[bot] in https://github.com/flyteorg/flyte/pull/8073
- [IDL + settings] Standardize gpu naming and add as new setting by @wild-endeavor in https://github.com/flyteorg/flyte/pull/8078
Full Changelog: https://github.com/flyteorg/flyte/compare/v2.0.49...v2.0.50
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!IMPORTANT]
Flyte 2 is now generally available!
Read more in the announcement here.
Want to try Flyte 2 locally? Run the Devbox locally, or you can try it on Github Codespaces.
Looking for Flyte 1? Go to the master branch, where Flyte 1 is now maintained.
Flyte 2
Reliably orchestrate ML pipelines, models, and agents at scale — in pure Python.
Flyte is a Graduated project of the LF AI & Data Foundation.
10 minutes to Flyte 2
The quickest way to get a feel for Flyte 2 is in this notebook:
Install
uv pip install flyte
For the full SDK and development tools, see the flyte-sdk repository.
Example
import asyncio
import flyte
env = flyte.TaskEnvironment(
name="hello_world",
image=flyte.Image.from_debian_base(python_version=(3, 12)),
)
@env.task
def calculate(x: int) -> int:
return x * 2 + 5
@env.task
async def main(numbers: list[int]) -> float:
results = await asyncio.gather(*[
calculate.aio(num) for num in numbers
])
return sum(results) / len(results)
if __name__ == "__main__":
flyte.init()
run = flyte.run(main, numbers=list(range(10)))
print(f"Result: {run.result}")
python hello.py
flyte run hello.py main --numbers '[1,2,3]'
Serve a Model
# serving.py
from fastapi import FastAPI
import flyte
from flyte.app.extras import FastAPIAppEnvironment
app = FastAPI()
env = FastAPIAppEnvironment(
name="my-model",
app=app,
image=flyte.Image.from_debian_base(python_version=(3, 12)).with_pip_packages(
"fastapi", "uvicorn"
),
)
@app.get("/predict")
async def predict(x: float) -> dict:
return {"result": x * 2 + 5}
if __name__ == "__main__":
flyte.init_from_config()
flyte.serve(env)
python serving.py
flyte serve serving.py env
Local Development Experience
Install the TUI for a rich local development experience:
uv pip install flyte[tui]
Open Source Backend
The open source backend for Flyte 2 is coming soon. This repository will contain the Kubernetes-native backend infrastructure for deploying Flyte 2 as a distributed, multi-node service. See the Backend README for the current state of the backend, protocol buffer definitions, and contribution guide.
If you need an enterprise-ready, production-grade backend for Flyte 2 today, it is available on Union.ai.
Learn More
- Try DevBox - Get started
- Try Devbox in Github Codespaces - Get started in the browser
- SDK Reference — API reference docs
- CLI Reference — CLI docs
- flyte-sdk — The Flyte 2 Python SDK repository
- Slack | GitHub Discussions | Issues
Contributing
We welcome contributions! See the Backend README for backend development, or join us on slack.flyte.org.
Sponsors
CI container image builds for this repository are sponsored by Depot — fast, native multi-arch Docker builds with persistent layer caching.
License
Apache 2.0 — see LICENSE.
