Source: https://seerepo.com/r/PrefectHQ/prefect/built
Markdown source: https://seerepo.com/r/PrefectHQ/prefect/built.md
Description: prefect is a Python repo built with FastAPI, starlette, uvicorn, AIOHTTP, Ray, and 5 more. It stores its data in Postgres.

# What is prefect built with?

prefect is a Python repo built with FastAPI, starlette, uvicorn, AIOHTTP, Ray, and 5 more. It stores its data in Postgres, reaches it with SQLAlchemy and alembic, signs people in with azure-identity and cryptography, makes its content with jinja2, react-markdown, rehype-raw, rehype-sanitize, and remark-gfm, validates its data with Pydantic, jsonschema, Zod, and @hookform/resolvers, is tested with Vitest, Testing Library, msw, @playwright/test, and @axe-core/playwright, deploys with OpenTelemetry, docker, prometheus-client, and boto3, and uses aiosqlite, Redis, and SQLite. It has 2,114 files and 945,152 written lines, with 1,242 test files.

Read on November 4, 2026, at commit 60d9ea5.

Repository: https://github.com/PrefectHQ/prefect

## Frontend (/)

### Interface

- **[Rich](https://seerepo.com/uses/rich)**: 51 files

## Backend (/)

### The base

- **[FastAPI](https://seerepo.com/uses/fastapi)**: 42 files

### Data

- **aiosqlite**
- **[Redis](https://seerepo.com/uses/redis)**: 9 files · [src/integrations/prefect-redis/prefect_redis/blocks.py, line 5](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/src/integrations/prefect-redis/prefect_redis/blocks.py#L5)
- **[Postgres](https://seerepo.com/uses/postgres)**: 4 files · [load_testing/track_cnx.py, line 4](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/load_testing/track_cnx.py#L4)
- **[SQLite](https://seerepo.com/uses/sqlite)**: 1 file · [pyproject.toml, line 28](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/pyproject.toml#L28)

### Data access

- **SQLAlchemy**: 243 files
- **alembic**: 236 files

### Sign-in

- **azure-identity**: 3 files
- **cryptography**: 2 files

## Support (/)

### The base

- **starlette**: 18 files
- **uvicorn**: 5 files
- **AIOHTTP**: 2 files
- **Ray**: 1 file

### Content

- **jinja2**: 7 files

### Validation

- **[Pydantic](https://seerepo.com/uses/pydantic)**: 218 files
- **jsonschema**: 4 files

### Deploy

- **OpenTelemetry**
- **docker**: 8 files
- **prometheus-client**: 6 files
- **boto3**: 3 files

### Tools

- **typing-extensions**: 162 files
- **packaging**: 15 files
- **Typer**: 9 files
- **pathspec**: 3 files
- **pluggy**: 3 files
- **click**: 2 files

### Other

- **pyparsing**
- **t**
- **httpx**: 50 files
- **pydantic-settings**: 39 files
- **orjson**: 37 files
- **cachetools**: 19 files
- **pyyaml**: 16 files
- **websockets**: 12 files
- **python-dateutil**: 7 files
- **tenacity**: 7 files
- **jsonpatch**: 5 files
- **certifi**: 3 files
- **fsspec**: 3 files
- **pytz**: 3 files
- **readchar**: 3 files
- **toml**: 3 files
- **slack-sdk**: 2 files
- **pyopenssl**: 1 file
- **ruamel.yaml**: 1 file

## Frontend (ui-v2)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in ui-v2/package.json](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/ui-v2/package.json)
- **[React](https://seerepo.com/uses/react)**: 335 files · [in ui-v2/package.json](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/ui-v2/package.json)
- **@tanstack/react-router**: 136 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 19 files
- **next-themes**: 9 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **sonner**: 77 files
- **React Hook Form**: 42 files
- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 28 files
- **tanstack**: 23 files
- **recharts**: 6 files
- **@uiw/react-codemirror**: 4 files
- **[codemirror](https://seerepo.com/uses/codemirror)**: 3 files
- **react-day-picker**: 3 files
- **dnd-kit**: 2 files
- **[cmdk](https://seerepo.com/uses/cmdk)**: 1 file
- **GSAP**: 1 file
- **Mermaid**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 41 files
- **@radix-ui/react-icons**: 7 files

## Support (ui-v2)

### Content

- **react-markdown**: 1 file
- **rehype-raw**: 1 file
- **rehype-sanitize**: 1 file
- **remark-gfm**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 46 files
- **@hookform/resolvers**: 17 files

### Testing

- **Vitest**: 374 files
- **Testing Library**: 328 files
- **msw**: 126 files
- **@playwright/test**: 13 files
- **@axe-core/playwright**: 1 file

### Tools

- **@tanstack/react-query-devtools**: 2 files
- **Storybook**: 2 files

### Other

- **TanStack**: 150 files
- **date-fns**: 32 files
- **clsx**: 5 files
- **cronstrue**: 3 files
- **date-fns-tz**: 3 files
- **cron-parser**: 2 files
- **Lodash**: 2 files
- **rrule**: 2 files
- **@amplitude/analytics-browser**: 1 file
- **uuid**: 1 file

## Frontend (ui)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in ui-v2/package.json](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/ui-v2/package.json)
- **[Vue](https://seerepo.com/uses/vue)**: 52 files · [in ui/package.json](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/ui/package.json)
- **vue-router**: 21 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

## Support (ui)

### Testing

- **Vitest**: 1 file

### Other

- **Axios**: 4 files

## Other repos with a similar stack

- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): FastAPI, Redis, Postgres, uvicorn, AIOHTTP, React, Rich, SQLAlchemy, cryptography, jinja2, Pydantic, jsonschema, docker, prometheus-client, boto3, Tailwind CSS, class-variance-authority, next-themes, tailwind-merge, sonner, React Hook Form, Radix UI, recharts, react-day-picker, cmdk, react-markdown, remark-gfm, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/PrefectHQ/prefect/vs/Significant-Gravitas/AutoGPT)
- [langflow-ai/langflow](https://seerepo.com/r/langflow-ai/langflow/built): FastAPI, Redis, uvicorn, AIOHTTP, Vite, React, Rich, SQLAlchemy, cryptography, Pydantic, jsonschema, boto3, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, react-day-picker, cmdk, Lucide, @radix-ui/react-icons, react-markdown, rehype-raw, rehype-sanitize, remark-gfm · [Compare](https://seerepo.com/compare/langflow-ai/langflow/vs/PrefectHQ/prefect)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): Vite, React, Tailwind CSS, class-variance-authority, next-themes, sonner, React Hook Form, Radix UI, tanstack, recharts, react-day-picker, dnd-kit, cmdk, Mermaid, Lucide, react-markdown, remark-gfm, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/PrefectHQ/prefect/vs/supabase/supabase)
- [farion1231/cc-switch](https://seerepo.com/r/farion1231/cc-switch/built): SQLite, Vite, React, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, React Hook Form, Radix UI, recharts, dnd-kit, cmdk, Lucide, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/farion1231/cc-switch/vs/PrefectHQ/prefect)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): Postgres, Vite, React, jsonschema, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, dnd-kit, cmdk, Mermaid, Lucide, react-markdown, remark-gfm, Zod · [Compare](https://seerepo.com/compare/paperclipai/paperclip/vs/PrefectHQ/prefect)
- [shadcn-ui/ui](https://seerepo.com/r/shadcn-ui/ui/built): Vite, React, Tailwind CSS, class-variance-authority, next-themes, sonner, React Hook Form, Radix UI, recharts, react-day-picker, dnd-kit, cmdk, Lucide, Zod · [Compare](https://seerepo.com/compare/PrefectHQ/prefect/vs/shadcn-ui/ui)

## Frequently asked questions

### What language is prefect written in?

prefect is written in Python: 2,114 files and 945,152 written lines.

### What framework does prefect use?

prefect is built with FastAPI, starlette, uvicorn, AIOHTTP, Ray, Vite, React, @tanstack/react-router, Vue, and vue-router.

### What database does prefect use?

prefect stores its data in Postgres and reaches it with SQLAlchemy and alembic.

The proof: [load_testing/track_cnx.py, line 4](https://github.com/PrefectHQ/prefect/blob/60d9ea54535ee10be2e7481fd1d930815c87b649/load_testing/track_cnx.py#L4)

### What does prefect sign people in with?

prefect signs people in with azure-identity and cryptography.

### What services does prefect use?

prefect uses aiosqlite, Redis, and SQLite.

### Does prefect have tests?

Yes. prefect has 1,242 test files and is tested with Vitest, Testing Library, msw, @playwright/test, and @axe-core/playwright.

### Which repos have a stack like prefect's?

The ones that share most of its stack: Significant-Gravitas/AutoGPT, langflow-ai/langflow, and supabase/supabase.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
