FastAPI best practices and patterns for building modern Python web APIs
.cursorrules or .cursor/rules/fastapi.mdc # FastAPI Best Practices ## Project Structure - Use proper directory structure - Implement proper module organization - Use proper dependency injection - Keep routes organized by domain - Implement proper middleware - Use proper configuration management ## API Design - Use proper HTTP methods - Implement proper status codes - Use proper request/response models - Implement proper validation - Use proper error handling - Document APIs with OpenAPI ## Models - Use Pydantic models - Implement proper validation - Use proper type hints - Keep models organized - Use proper inheritance - Implement proper serialization ## Database - Use proper ORM (SQLAlchemy) - Implement proper migrations - Use proper connection pooling - Implement proper transactions - Use proper query optimization - Handle database errors properly ## Authentication - Implement proper JWT authentication - Use proper password hashing - Implement proper role-based access - Use proper session management - Implement proper OAuth2 - Handle authentication errors properly ## Security - Implement proper CORS - Use proper rate limiting - Implement proper input validation - Use proper security headers - Handle security errors properly - Implement proper logging ## Performance - Use proper caching - Implement proper async operations - Use proper background tasks - Implement proper connection pooling - Use proper query optimization - Monitor performance metrics ## Testing - Write proper unit tests - Implement proper integration tests - Use proper test fixtures - Implement proper mocking - Test error scenarios - Use proper test coverage ## Deployment - Use proper Docker configuration - Implement proper CI/CD - Use proper environment variables - Implement proper logging - Use proper monitoring - Handle deployment errors properly ## Documentation - Use proper docstrings - Implement proper API documentation - Use proper type hints - Keep documentation updated - Document error scenarios - Use proper versioning
Cursor rules for Cypress development with API testing.
Cursor rules for Elixir development with Phoenix and Docker integration.
Cursor rules for FastAPI services with router/service/repository boundaries, typed provider adapters, bulkhead isolation, idempotency, and domain exceptions.
Cursor rules for Go development with backend scalability.
Cursor rules for Go development with ServeMux REST API integration.
Cursor rules for HTMX development with Django integration.