开源的事件驱动编排平台,用 YAML 定义并调度数据、AI 与基础设施工作流。
- Star
- 24,060
- Fork
- 2,608
- 未关闭 Issue
- 929
- 最近提交
- 10小时前
这是什么?
Prefect 是一个用于在 Python 中构建数据管道的工作流编排框架。只需用 flow 和 task 装饰器标记普通函数,就能获得调度、缓存、重试、依赖处理和基于事件的自动化,无需额外学习专门的 DSL。
运行记录可通过自托管的 Prefect server(带 Web UI)或托管的 Prefect Cloud 控制台进行追踪和监控。部署可以用 cron 表达式定时执行,也可以通过 UI 或 CLI 手动触发,还能响应事件运行。
项目要求 Python 3.11 及以上版本,可通过 pip 或 uv 安装。若环境只需与远程 Prefect 服务通信,可使用更轻量的 prefect-client 包。
核心功能
- 01通过装饰器将 Python 函数转换为 flow 和 task
- 02支持用 cron 表达式为部署设置定时调度
- 03为任务提供重试、缓存和依赖处理
- 04支持基于事件触发的自动化运行
- 05提供带 Web UI 的自托管 Prefect server 用于监控
适用场景
- 将临时数据脚本升级为可调度、可观测的生产管道
- 编排需要重试和依赖顺序的 ETL 或机器学习训练任务
- 响应其他系统产生的事件来运行工作流
快速上手
- 1
使用 pip 安装 Prefect
pip install -U prefect - 2
创建一个使用 flow 和 task 装饰器的 Python 文件并运行
- 3
启动 Prefect 服务器,并在 http://localhost:4200 打开界面
prefect server start
使用前须知
- 需要 Python 3.11 或更高版本。
标签
常见问题
- prefect 是什么?
- Python 工作流编排框架,可将脚本升级为带调度、重试、缓存和事件自动化的生产级数据管道。 Prefect 是一个用于在 Python 中构建数据管道的工作流编排框架。只需用 flow 和 task 装饰器标记普通函数,就能获得调度、缓存、重试、依赖处理和基于事件的自动化,无需额外学习专门的 DSL。
- prefect 可以免费使用吗?用的什么许可证?
- prefect 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- prefect 还在维护吗?
- 活跃维护中。prefect 最近一次提交是在 2026年10月22日。
- prefect 适合用来做什么?
- 将临时数据脚本升级为可调度、可观测的生产管道 编排需要重试和依赖顺序的 ETL 或机器学习训练任务 响应其他系统产生的事件来运行工作流
- prefect 怎么安装和运行?
- 使用 pip 安装 Prefect: pip install -U prefect 创建一个使用 flow 和 task 装饰器的 Python 文件并运行 启动 Prefect 服务器,并在 http://localhost:4200 打开界面: prefect server start
- 在哪里获取 prefect?
- 源代码和安装说明在 GitHub 上:https://github.com/PrefectHQ/prefect
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3万3451JavaApache-2.0更新于 前天
用于定义、运行和监控数据资产(表、数据集、机器学习模型、报表)的 Python 编排平台。
1.6万2366PythonApache-2.0更新于 11小时前
声明式、代码优先的数据集成引擎,基于 Singer 的 tap 与 target 构建 ELT 数据管道。
2667274PythonMIT更新于 前天
开源数据搬运平台,用于 ELT 管道,把 API、数据库和文件中的数据同步到数据仓库、数据湖和 AI 应用。
2.2万5415PythonOther更新于 前天
开源的持久化执行引擎,用于编排微服务、AI Agent 和自适应工作流图,支持多语言 Worker。
3.2万1036JavaApache-2.0更新于 前天
Temporal 是一个持久化执行平台,服务端可可靠地运行工作流并自动重试失败的操作。
2.4万2030GoMIT更新于 6小时前