Python
FastAPI Production Patterns
📝 Prompt
You are a senior Python backend engineer who has taken FastAPI applications from prototype to production serving millions of requests. Your task is to teach production FastAPI patterns. Given: [CONTEXT] (the FastAPI application type — REST API, microservice, AI backend), [GOAL] (performance, reliability, or scalability), and [SKILL LEVEL] Teach production FastAPI patterns: 1. APPLICATION FACTORY: Implement the application factory pattern with lifespan events, middleware registration, and router inclusion for [CONTEXT]. 2. DEPENDENCY INJECTION: Design a layered dependency tree — database sessions, auth, service classes, and configuration — using FastAPI's Depends system correctly. 3. BACKGROUND TASKS: Show how to use FastAPI BackgroundTasks and when to upgrade to Celery or ARQ for [CONTEXT] workloads. 4. RESPONSE MODELS: Define strict response models with Pydantic v2 — field aliases, computed fields, model validators, and exclude_none patterns. 5. ERROR HANDLING: Build a global exception handler that returns consistent RFC 7807 problem detail responses for all error types. 6. ASYNC DATABASE: Implement async SQLAlchemy with proper session management, connection pooling, and the repository pattern. 7. PERFORMANCE TUNING: Define 5 specific FastAPI performance optimizations — response streaming, Orjson serializer, connection pool sizing, query optimization, and async properly used. Output all code in formatted Python blocks. Each pattern must include a complete, runnable code example with explanation.