{"id":13459213,"url":"https://github.com/PrefectHQ/prefect","last_synced_at":"2025-03-24T16:31:31.214Z","repository":{"id":37270464,"uuid":"139199684","full_name":"PrefectHQ/prefect","owner":"PrefectHQ","description":"Prefect is a workflow orchestration framework for building resilient data pipelines in Python.","archived":false,"fork":false,"pushed_at":"2024-10-29T08:07:32.000Z","size":163287,"stargazers_count":16285,"open_issues_count":873,"forks_count":1582,"subscribers_count":161,"default_branch":"main","last_synced_at":"2024-10-29T09:25:01.093Z","etag":null,"topics":["automation","data","data-engineering","data-ops","data-science","infrastructure","ml-ops","observability","orchestration","pipeline","prefect","python","workflow","workflow-engine"],"latest_commit_sha":null,"homepage":"https://prefect.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PrefectHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-29T21:59:26.000Z","updated_at":"2024-10-29T09:01:02.000Z","dependencies_parsed_at":"2022-07-12T16:14:59.874Z","dependency_job_id":"daf4f408-6f3a-407c-8d60-27a9cd4aed30","html_url":"https://github.com/PrefectHQ/prefect","commit_stats":{"total_commits":10690,"total_committers":169,"mean_commits":63.25443786982248,"dds":0.7360149672591207,"last_synced_commit":"d4168979fed4a190bad971fe81fbbe8436ee80c0"},"previous_names":[],"tags_count":646,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrefectHQ%2Fprefect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrefectHQ%2Fprefect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrefectHQ%2Fprefect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrefectHQ%2Fprefect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrefectHQ","download_url":"https://codeload.github.com/PrefectHQ/prefect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245308607,"owners_count":20594275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","data","data-engineering","data-ops","data-science","infrastructure","ml-ops","observability","orchestration","pipeline","prefect","python","workflow","workflow-engine"],"created_at":"2024-07-31T09:01:10.566Z","updated_at":"2025-03-24T16:31:26.204Z","avatar_url":"https://github.com/PrefectHQ.png","language":"Python","funding_links":[],"categories":["Python","资源列表","🎯 Tool Categories","Software","Large Scale Deployment","Workflow","DevOps","作业调度程序","Data Pipeline","数据管道和流处理","HarmonyOS","数据库管理系统","⚙️ Data Engineering","Automation \u0026 Orchestration","Job Scheduler","data-science","Recently Updated","任务调度","语言资源库","automation","Repos","Job Scheduler [🔝](#readme)","The Data Science Toolbox","Workflow Orchestration","Full fledged product","Projects","🚀 DevOps \u0026 Infrastructure","Data Pipelines \u0026 Streaming","Data Science","Orchestration","Workflow Automation","Workflow Management/Engines","Supporting Infrastructure"],"sub_categories":["任务调度","⚡ Modern Orchestration Tools","Workflow Orchestration","Workflow","Data Management","Windows Manager","网络服务_其他","Tools","[Mar 09, 2025](/content/2025/03/09/README.md)","python","Miscellaneous Tools","LangManus","Workflow Engine","Machine Learning","Workflow Management","Workflow \u0026 Pipeline Orchestration"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85\" width=1000\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.python.org/pypi/prefect/\" alt=\"PyPI version\"\u003e\n        \u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/prefect?color=0052FF\u0026labelColor=090422\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/prefecthq/prefect/\" alt=\"Stars\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/prefecthq/prefect?color=0052FF\u0026labelColor=090422\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/badge/prefect/\" alt=\"Downloads\"\u003e\n        \u003cimg src=\"https://img.shields.io/pypi/dm/prefect?color=0052FF\u0026labelColor=090422\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/prefecthq/prefect/pulse\" alt=\"Activity\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/commit-activity/m/prefecthq/prefect?color=0052FF\u0026labelColor=090422\" /\u003e\u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://prefect.io/slack\" alt=\"Slack\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/slack-join_community-red.svg?color=0052FF\u0026labelColor=090422\u0026logo=slack\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://discourse.prefect.io/\" alt=\"Discourse\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/discourse-browse_forum-red.svg?color=0052FF\u0026labelColor=090422\u0026logo=discourse\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.youtube.com/c/PrefectIO/\" alt=\"YouTube\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/youtube-watch_videos-red.svg?color=0052FF\u0026labelColor=090422\u0026logo=youtube\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Prefect\n\nPrefect is a workflow orchestration framework for building data pipelines in Python.\nIt's the simplest way to elevate a script into a resilient production workflow.\nWith Prefect, you can build resilient, dynamic data pipelines that react to the world around them and recover from unexpected changes.\n\nWith just a few lines of code, data teams can confidently automate any data process with features such as scheduling, caching, retries, and event-based automations.\n\nWorkflow activity is tracked and can be monitored with a self-hosted [Prefect server](https://docs.prefect.io/latest/manage/self-host/?utm_source=oss\u0026utm_medium=oss\u0026utm_campaign=oss_gh_repo\u0026utm_term=none\u0026utm_content=none) instance or managed [Prefect Cloud](https://www.prefect.io/cloud-vs-oss?utm_source=oss\u0026utm_medium=oss\u0026utm_campaign=oss_gh_repo\u0026utm_term=none\u0026utm_content=none) dashboard.\n\n## Getting started\n\nPrefect requires Python 3.9 or later. To [install the latest or upgrade to the latest version of Prefect](https://docs.prefect.io/get-started/install), run the following command:\n\n```bash\npip install -U prefect\n```\n\nThen create and run a Python file that uses Prefect `flow` and `task` decorators to orchestrate and observe your workflow - in this case, a simple script that fetches the number of GitHub stars from a repository:\n\n```python\nfrom prefect import flow, task\nfrom typing import List\nimport httpx\n\n\n@task(log_prints=True)\ndef get_stars(repo: str):\n    url = f\"https://api.github.com/repos/{repo}\"\n    count = httpx.get(url).json()[\"stargazers_count\"]\n    print(f\"{repo} has {count} stars!\")\n\n\n@flow(name=\"GitHub Stars\")\ndef github_stars(repos: List[str]):\n    for repo in repos:\n        get_stars(repo)\n\n\n# run the flow!\nif __name__==\"__main__\":\n    github_stars([\"PrefectHQ/Prefect\"])\n```\n\nFire up the Prefect UI to see what happened:\n\n```bash\nprefect server start\n```\n\nTo run your workflow on a schedule, turn it into a deployment and schedule it to run every minute by changing the last line of your script to the following:\n\n```python\nif __name__ == \"__main__\":\n    github_stars.serve(\n        name=\"first-deployment\",\n        cron=\"* * * * *\",\n        parameters={\"repos\": [\"PrefectHQ/prefect\"]}\n    )\n```\n\nYou now have a server running locally that is looking for scheduled deployments!\nAdditionally you can run your workflow manually from the UI or CLI. You can even run deployments in response to [events](https://docs.prefect.io/latest/automate/?utm_source=oss\u0026utm_medium=oss\u0026utm_campaign=oss_gh_repo\u0026utm_term=none\u0026utm_content=none).\n\n## Prefect Cloud\n\nPrefect Cloud provides workflow orchestration for the modern data enterprise. By automating over 200 million data tasks monthly, Prefect empowers diverse organizations — from Fortune 50 leaders such as Progressive Insurance to innovative disruptors such as Cash App — to increase engineering productivity, reduce pipeline errors, and cut data workflow compute costs.\n\nRead more about Prefect Cloud [here](https://www.prefect.io/cloud-vs-oss?utm_source=oss\u0026utm_medium=oss\u0026utm_campaign=oss_gh_repo\u0026utm_term=none\u0026utm_content=none) or sign up to [try it for yourself](https://app.prefect.cloud?utm_source=oss\u0026utm_medium=oss\u0026utm_campaign=oss_gh_repo\u0026utm_term=none\u0026utm_content=none).\n\n## prefect-client\n\nIf your use case is geared towards communicating with Prefect Cloud or a remote Prefect server, check out our\n[prefect-client](https://pypi.org/project/prefect-client/). It is a lighter-weight option for accessing client-side functionality in the Prefect SDK and is ideal for use in ephemeral execution environments.\n\n## Next steps\n\n- Check out the [Docs](https://docs.prefect.io/).\n- Join the [Prefect Slack community](https://prefect.io/slack).\n- Learn how to [contribute to Prefect](https://docs.prefect.io/contribute/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrefectHQ%2Fprefect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPrefectHQ%2Fprefect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrefectHQ%2Fprefect/lists"}