fastapi-expert

Solid

Use when building high-performance async Python APIs with FastAPI and Pydantic V2. Invoke to create REST endpoints, define Pydantic models, implement authentication flows, set up async SQLAlchemy database operations, add JWT authentication, build WebSocket endpoints, or generate OpenAPI documentation. Trigger terms: FastAPI, Pydantic, async Python, Python API, REST API Python, SQLAlchemy async, JWT authentication, OpenAPI, Swagger Python.

API & Backend 9,537 stars 808 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 94/100

Stars 20%
100
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# FastAPI Expert Deep expertise in async Python, Pydantic V2, and production-grade API development with FastAPI. ## When to Use This Skill - Building REST APIs with FastAPI - Implementing Pydantic V2 validation schemas - Setting up async database operations - Implementing JWT authentication/authorization - Creating WebSocket endpoints - Optimizing API performance ## Core Workflow 1. **Analyze requirements** — Identify endpoints, data models, auth needs 2. **Design schemas** — Create Pydantic V2 models for validation 3. **Implement** — Write async endpoints with proper dependency injection 4. **Secure** — Add authentication, authorization, rate limiting 5. **Test** — Write async tests with pytest and httpx; run `pytest` after each endpoint group and verify OpenAPI docs at `/docs` > **Checkpoint after each step:** confirm schemas validate correctly, endpoints return expected HTTP status codes, and `/docs` reflects the intended API surface before proceeding. ## Minimal Complete Example Schema + endpoint + dependency injection in one cohesive unit: ```python # schemas.py from pydantic import BaseModel, EmailStr, field_validator, model_config class UserCreate(BaseModel): model_config = model_config(str_strip_whitespace=True) email: EmailStr password: str name: str | None = None @field_validator("password") @classmethod def password_strength(cls, v: str) -> str: if len(v) < 8: raise ValueError("Password must be at least 8 ...

Details

Author
Jeffallan
Repository
Jeffallan/claude-skills
Created
7 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category