你好,世界!👋
我们为数据科学时代重建了数据工程
Prefect是一个新的工作流管理系统,专为现代基础设施而设计,由开源的Prefect Core工作流引擎提供支持。用户组织Tasks
变成Flows
,县管睡觉
请阅读docs;获取code;询问我们anything好了!
欢迎使用工作流
Prefect的Pythonic API应该会让新手感到熟悉。将函数标记为任务并相互调用以建立流
from prefect import task, Flow, Parameter @task(log_stdout=True) def say_hello(name):
print("Hello, {}!".format(name))
with Flow("My First Flow") as flow:
name = Parameter('name')
say_hello(name)
flow.run(name='world') # "Hello, world!" flow.run(name='Marvin') # "Hello, Marvin!"
有关更多详细信息,请参阅Core docs
UI和服务器
除了Prefect Cloud平台上,Prefect包括一个用于编排和管理流程的开源后端,主要包括Prefect Server和Prefect UI此本地服务器将流元数据存储在Postgres数据库中并公开GraphQL API
在第一次运行服务器之前,请运行prefect backend server
若要为本地业务流程配置Prefect,请执行以下操作。请注意,服务器需要Docker和Docker Compose去跑步
要启动服务器、UI和所有必需的基础架构,请运行:
prefect server start
一旦所有组件都在运行,您就可以通过访问http://localhost:8080
请注意,从服务器执行流需要至少运行一个Prefect代理:prefect agent local start
最后,要向服务器注册任何流,请调用flow.register()
有关更多详细信息,请参阅orchestration docs
“.完全正确?”
来自拉丁语普雷菲克特斯,意思是“谁是负责人”,省长是监督一个领域并确保规则得到遵守的官员。同样,Prefect负责确保工作流正确执行
它也恰好是那本非常了不起的书的一位巡回研究员的名字,银河系漫游指南
集成
得益于Prefect不断扩大的任务库和深度的生态系统集成,构建数据应用程序比以往任何时候都更加容易
有什么东西不见了吗?打开一个feature request或contribute a PR好了!Prefect旨在使添加新功能变得极其容易,无论您是在开放源码包之上构建,还是为您的团队维护内部任务库
任务库
部署和执行
Azure | AWS | Dask | Docker | Google Cloud |
Kubernetes | Universal Deploy |
资源
Prefect提供了各种资源来帮助您获得成功的结果
我们致力于确保一个积极的环境,所有的互动都由我们的Code of Conduct
文档
Prefect的文档–包括概念、教程和完整的API参考–总是可以在docs.prefect.io
有关编写文档的说明,请参阅development guide
松散社区
加入我们的Slack聊聊Prefect,提问,分享小贴士
博客
访问Prefect Blog有关Prefect团队的最新信息和见解
支持
Prefect提供各种社区和高级服务support options适用于Prefect Core和Prefect Cloud的用户
贡献
阅读有关Prefect的community或者一头扎进development guides有关贡献、文档、代码样式和测试的信息
安装
要求
Prefect需要Python 3.6+。如果您是Python新手,我们建议您安装Anaconda distribution
最新版本
要安装Prefect,请运行:
pip install prefect
或者,如果您更喜欢使用conda
:
conda install -c conda-forge prefect
或pipenv
:
pipenv install --pre prefect
出血边缘
为了进行开发或只是尝试最新的功能,您可能希望直接从源代码安装Prefect
请注意,Prefect的主分支不保证与Prefect Cloud或本地服务器兼容
git clone https://github.com/PrefectHQ/prefect.git
pip install ./prefect
许可证
Prefect Core根据Apache Software License Version 2.0请注意,Prefect Core包括用于运行Prefect Server以及Prefect UI,它们本身是根据Prefect Community License