repowiserepowise
Sign in
prefecthq/prefect
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowiseprefecthq/prefect
PR
PR

prefecthq / prefect

Prefect is a workflow orchestration framework for building resilient data pipelines in Python.

Python★ 23,976
Use in your agentAsk this codebase

github.com/prefecthq/prefect·Indexed at b749a67·3mo ago·Up to date with upstream

About this codebase

This repository is a full-stack orchestration platform: it ingests workflow definitions and runtime events through the Python server/CLI and integration modules, transforms them into persisted orchestration state (flow runs, task runs, artifacts, logs, and events) via server APIs and worker execution, and outputs a running control plane exposed through REST endpoints plus two web UIs (`ui` and `ui-v2`) for monitoring and managing executions.

Written by gpt-5.4-nano from the index

4,839 files and 36,096 symbols in 14 modules, led by Python (1,863 files) and TypeScript (1,574).

Start reading

  • Knowledge graph4,706 files and how they depend on each other.→
  • Module: prefect/serverDocumentationDocumentation for src/prefect/server, written by gpt-5.4-nano.→
  • Add JSONSerializer and PickleSerializer to prefect.serializersDecisionProposed decision, from a pull request.→

Code health

7.6out of 10Good

This codebase scores 7.6 out of 10 for code health, which we rate good. It also scores maintainability 7.9 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 73 of 4,839 files are git hotspots, and they average 3.9 — which is where the fixes pay off most.

Full health report →

On the leaderboards:#1 of 3 Workflow orchestrators·#9 of 44 Python repos

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 173 unused symbols and files (7,506 lines)

    Nothing in the graph reaches them, across 77 files; every reader and agent pays to skip them.

    symbols
    173
    lines
    7,506
    safe to delete
    Yes(inferred)
    Medium effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
  • Review the 292 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    292
    accepted
    0
    Medium effort
All actions in the Overview →

Use prefecthq/prefect in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

https://api.repowise.dev/mcp/prefecthq/prefect

One command, run anywhere. Adds the server to your local Claude Code config.

Docs
bash
claude mcp add --transport http repowise https://api.repowise.dev/mcp/prefecthq/prefect \
  --header "Authorization: Bearer rw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The snippet shows a placeholder key. Generate one to get a copyable secret.
Sign in and create an API key to connect.Sign in

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is prefect put together?")
  • get_why("why is prefect structured this way?")

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.

Go deeper

  • OverviewEverything the index found, what changed this week, commits and decisions.→
  • DocumentationModule-by-module documentation, 2,450 pages, 901 written by a model.→
  • ArchitectureDependency graph, layers and third-party dependencies.→
  • Code healthEvery file's score, the findings behind it, tests and refactoring plans.→
  • CommitsEach commit's effect on code health, with agent provenance.→
  • ContributorsWho owns what, and where one person holds most of the knowledge.→
  • DecisionsArchitectural decisions mined from commits and pull requests.→
  • Ask this codebaseSign inGrounded answers over the indexed code.→

Maintain this repo? Claim the page

Sign in with GitHub and we check that you are an admin or maintainer of prefecthq/prefect. Then add a badge to the README that links readers here.

Use this repo from Claude or ChatGPT

Add this URL as a custom connector and sign in with repowise when asked. No API key to copy.

https://api.repowise.dev/mcp/prefecthq/prefect
Sign up to connect

For maintainers

Add a badge to your README

Every badge is public, cached, and updates on its own after every index. Nothing to install.

Repowise badge

Links to this page, with no score on it. Adding it also re-indexes the repo every week.

Repowise badge preview
[![repowise.dev](https://api.repowise.dev/badge/wiki/prefecthq/prefect.svg)](https://repowise.dev/repo/prefecthq/prefect?src=badge_wiki)

Code health badge

The repo's health score out of 10, from the latest index.

Code health badge preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/prefecthq/prefect.svg)](https://repowise.dev/repo/prefecthq/prefect?src=badge_health)

Code health card

A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.

Code health card preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/prefecthq/prefect.svg?style=card)](https://repowise.dev/repo/prefecthq/prefect?src=badge_card)

What is prefect?

prefect is a workflow orchestration framework for building resilient data pipelines in Python. It turns Python scripts into workflows that can use scheduling, caching, retries, dependencies, branching logic, and event-based automations. The repository uses Python for orchestration and includes TypeScript and JavaScript web interfaces.

Written by a model from the README and the index

Key features of prefect

  • Prefect lets Python data pipelines use scheduling, caching, retries, and event-based automations.
  • Prefect workflows can handle retries, dependencies, and complex branching logic.
  • Prefect tracks workflow activity through a self-hosted server instance or Prefect Cloud dashboard.
  • Prefect deployments can run workflows on a schedule, manually from the UI or CLI, or in response to events.

How prefecthq/prefect works

Workflow definitions and runtime events enter through the Python server, CLI, and integration modules. The src directory defines typed API contracts, validators, type aliases, and REST payload schemas used by the orchestration layer. Server APIs and workers transform workflow activity into persisted flow runs, task runs, artifacts, logs, and events. The prefect logging modules provide logging infrastructure, while prefect exceptions defines project exceptions. The ui and ui-v2 directories provide web interfaces for monitoring and managing executions. REST endpoints and the web interfaces expose the resulting orchestration state.

Prefect is a workflow orchestration framework for building resilient data pipelines in Python. This page is a map of the prefecthq/prefect repository, written primarily in Python, rebuilt from the source each time it is indexed. Repowise parses every symbol, computes a dependency graph, scores per-file code health from complexity, duplication, test coverage and churn, mines git history for hotspots and ownership, and lifts the architectural decisions into documentation you can read here or query through MCP.

The codebase has 4,839 files and 36,096 symbols in 14 modules, led by Python, TypeScript and Shell. Code health is 7.6 out of 10, rated good.

Use the links above to open each view, or connect this repository to your agent for grounded answers inside Claude, Cursor, Codex or VS Code.

Getting started with prefect

  1. Install Prefect with pip.
    pip install -U prefect
  2. Install Prefect with uv.
    uv add prefect
  3. Start a local Prefect server.
    prefect server start

Commands copied from the README

prefecthq/prefect FAQ

What is prefect?

prefect is a Python workflow orchestration framework for building resilient data pipelines. It turns scripts into workflows with scheduling, retries, caching, and event-based automations.

How does prefect work?

prefect accepts workflow definitions and runtime events through its Python server, CLI, and integrations. Workers and server APIs persist execution state, which REST endpoints and web UIs expose for monitoring and management.

How do I install prefect?

Install prefect with pip install -U prefect or uv add prefect. Start a local server with prefect server start.

What language is prefect written in?

prefect is primarily written in Python. The repository also includes TypeScript and JavaScript code for its web interfaces.

How is the prefect code organized?

prefect is organized around the src directory, server and worker orchestration, integrations, tests, documentation, and the ui and ui-v2 web interfaces. Central Python files include prefect/__init__.py and prefect/logging/loggers.py.

When should I use prefect?

Use prefect to build and operate Python data pipelines that need scheduling, retries, caching, dependencies, branching, or event-based execution. Workflow activity can be monitored through a self-hosted server or Prefect Cloud.

What license does prefect use?

prefect uses the Apache-2.0 license.

Answers written by a model from the README and the index