Rechercher

PythonReactSEOPDF
GitHub Skill

fastapi-development

Enforces best practices for FastAPI development, ensuring scalable, high-performance, and maintainable APIs. Use when working on server-side Python code involving FastAPI.

alfred1137☆ 0 Étoiles du dépôt0 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

FastAPI Development Standards

Key Principles

  • Concise & Technical: Write accurate, functional code.
  • Functional Style: Prefer pure functions over classes for routes and logic.
  • RORO Pattern: "Receive an Object, Return an Object". Use Pydantic models for all inputs and outputs.

Architecture & Structure

  • File Naming: Lowercase with underscores (e.g., routers/user_routes.py).
  • Exports: Favor named exports.
  • Organization: Separate exported routers, sub-routes, utilities, static content, and types (models/schemas).

Coding Standards

  • Type Hints: Mandatory for all function signatures.
  • Validation: Use Pydantic models (v2) instead of raw dictionaries.
  • Conditionals: Avoid unnecessary curly braces. Use one-line syntax for simple conditionals.
  • Async/Sync:
    • Use async def for I/O-bound operations (DB, external APIs).
    • Use def for CPU-bound synchronous tasks.

Error Handling

  • Early Returns: Handle errors/edge cases first. Happy path goes last.
  • Guard Clauses: Validate preconditions early.
  • HTTPExceptions: Use HTTPException for expected errors.
  • No Nested Ifs: Avoid deep nesting.

Performance

  • Non-blocking: Minimize blocking I/O. Use async libraries (asyncpg, aiomysql).
  • Caching: Implement strategies for frequent data.
  • Lazy Loading: Use for large datasets.

Dependencies

  • FastAPI
  • Pydantic v2
  • SQLAlchemy 2.0 (if ORM used)

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-01-20
Mise à jour de l’index
2026-01-26
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!