claudegoodies
Skill

fastapi-patterns

From affaan-m

FastAPI patterns for async APIs, dependency injection, Pydantic request and response models, OpenAPI docs, tests, security, and production readiness.

Provides FastAPI code patterns for routing, DI, Pydantic schemas, auth, error handling, and app structure.

Use it when

  • Building or reviewing a FastAPI app's structure
  • Splitting routers, schemas, dependencies, and CRUD code
  • Writing async endpoints calling a database or external API via httpx
  • Adding OAuth2 auth, exception handlers, or CORS config

Skip it if

  • Only useful if your stack is FastAPI with Pydantic and SQLAlchemy async
  • Reference/documentation skill, not a tool that writes or runs code for you
  • Assumes an async ORM setup already; doesn't cover sync Flask/Django style apps

Facts

Repository
affaan-m/ECC
Status
Actively maintained
Last commit

Source preview

The instructions Claude Code reads when this skill runs.

# FastAPI Patterns

Production-oriented patterns for FastAPI services.

## When to Use

- Building or reviewing a FastAPI app.
- Splitting routers, schemas, dependencies, and database access.
- Writing async endpoints that call a database or external service.
- Adding authentication, authorization, OpenAPI docs, tests, or deployment settings.
- Checking a FastAPI PR for copy-pasteable examples and production risks.

## How It Works

Treat the FastAPI app as a thin HTTP layer over explicit dependencies and service code:

- `main.py` owns app construction, middleware, exception handlers, and router registration.
- `schemas/` owns Pydantic request and response models.
- `dependencies.py` owns database, auth, pagination, and request-scoped dependencies.
- `services/` or `crud/` owns business and persistence operations.
- `tests/` overrides dependencies instead of opening production resources.

Prefer small routers and explicit `response_model` declarations. Keep raw ORM objects, secrets, and framework globals out of response schemas.

## Project Layout

```text
app/
|-- main.py
|-- config.py
|-- dependencies.py
|-- exceptions.py
|-- api/
|   `-- routes/
|       |-- users.py
|       `-- health.py
|-- core/
|   |-- security.py
|   `-- middleware.py
|-- db/
|   |-- session.py
|   `-- crud.py
|-- models/
|-- schemas/
`-- tests/
```

## Application Factory

Use a factory so tests and wo
View full source on GitHub →

Other skills