Fastapi
A comprehensive skill catalog for AI agents
npx -y skills add G1Joshi/Agent-Skills --skill fastapiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
FastAPI Python async framework with Pydantic and automatic OpenAPI. Use for Python APIs.
SKILL.md
1.8 KB, as published. Nobody here has run it
FastAPI
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints. It is one of the fastest Python frameworks available.
When to Use
- APIs: The default choice for modern Python APIs.
- Machine Learning: Native integration with Pydantic makes JSON <-> Model interaction seamless.
- Performance: Built on Starlette and Pydantic v2, it rivals Node.js and Go in benchmarks.
Quick Start
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
async def create_item(item: Item):
return {"name": item.name, "price": item.price}
Core Concepts
Pydantic Models
Define data shape using Python classes. Validation and JSON serialization happen automatically.
Dependency Injection
FastAPI has a powerful DI system.
async def read_users(db: Session = Depends(get_db)):.
OpenAPI (Swagger)
Automatically generates interactive API documentation at /docs.
Best Practices (2025)
Do:
- Use Pydantic v2: Ensure you are on v2 for the massive Rust-based performance boost.
- Use
lifespan: Use the newlifespancontext manager for startup/shutdown events instead of deprecatedon_event. - Type Everything: The more you type, the better the auto-generated docs and validation.
Don't:
- Don't block the loop: Run CPU bound code (image processing, heavy math) in
defendpoints (threadpool), notasync def(event loop), or use background tasks.