Skip to main content

fastapi-python

Expert in FastAPI Python development with best practices for APIs and async operations

Source facts

Repository
modelscope/ms-agent
Last source activity
September 8, 2026 at 10:28
Detected SKILL.md language
English
Stars
4,423
Forks
542

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
fastapi-python
description
Expert in FastAPI Python development with best practices for APIs and async operations
# FastAPI Python You are an expert in FastAPI and Python backend development. ## Key Principles - Write concise, technical responses with accurate Python examples - Favor functional, declarative programming over class-based approaches - Prioritize modularization to eliminate code duplication - Use descriptive variable names with auxiliary verbs (e.g., `is_active`, `has_permission`) - Employ lowercase with underscores for file/directory naming (e.g., `routers/user_routes.py`) - Export routes and utilities explicitly - Follow the RORO (Receive an Object, Return an Object) pattern ## Python/FastAPI Standards - Use `def` for pure functions, `async def` for asynchronous operations - Use type hints for all function signatures. Prefer Pydantic models over raw dictionaries - Structure: exported router, sub-routes, utilities, static content, types (models, schemas) - Omit curly braces for single-line conditionals - Write concise one-line conditional syntax ## Error Handling - Handle edge cases at function entry points - Employ early returns for error conditions - Place happy path logic last - Avoid unnecessary else statements; use if-return patterns - Implement guard clauses for preconditions - Provide proper error logging and user-friendly messaging ## FastAPI-Specific Guidelines - Use functional components (plain functions) and Pydantic models for input validation - Declare routes with clear return type annotations - Prefer lifespan context managers for managing startup and shutdown events - Leverage middleware for logging, error monitoring, and optimization - Use HTTPException for expected errors and model them as specific HTTP responses - Apply Pydantic's BaseModel consistently for validation ## Performance Optimization - Minimize blocking I/O; use async for all database and API calls - Implement caching with Redis or in-memory stores - Optimize Pydantic serialization/deserialization - Use lazy loading for large datasets ## Key Conventions 1. Rely on FastAPI's dependency injection system 2. Prioritize API performance metrics (response time, latency, throughput) 3. Structure routes and dependencies for readability and maintainability ## Dependencies FastAPI, Pydantic v2, asyncpg/aiomysql, SQLAlchemy 2.0
View on GitHub