Use when building Python web APIs with FastAPI, configuring Pydantic models, implementing dependency injection, or setting up OAuth2/JWT authentication.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars22
LicenseLICENSE
Default branchmaster
Open issues0
Status
Active
Skill metadata
Parsed from SKILL.md frontmatter.
Version0.141.1
More metadata
version
0.141.1
release_date
2026-07-29
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md8,461 B
docsSUMMARY.md306 B
History
First seen on skills.sh
First recorded snapshot · 94 installs
SKILL.md
FastAPI
This skill provides comprehensive guidance for building APIs with FastAPI.
Quick Navigation
Topic
Reference
Getting started
references/first-steps.md
Path parameters
references/path-parameters.md
Query parameters
references/query-parameters.md
Request body
references/request-body.md
Validation
references/validation.md
Body advanced
references/body-advanced.md
Cookies/Headers
references/cookies-headers.md
Pydantic models
references/models.md
Forms/Files
references/forms-files.md
Error handling
references/error-handling.md
Path config
references/path-config.md
Dependencies
references/dependencies.md
Security
references/security.md
Middleware
references/middleware.md
CORS
references/cors.md
Database
references/sql-databases.md
Project structure
references/bigger-applications.md
Background tasks
references/background-tasks.md
Metadata/Docs
references/metadata-docs.md
Testing
references/testing.md
Advanced responses
references/responses-advanced.md
WebSockets
references/websockets.md
Templates
references/templates.md
Settings/Env vars
references/settings.md
Lifespan events
references/lifespan.md
OpenAPI advanced
references/openapi-advanced.md
When to Use
Creating REST APIs with Python
Adding endpoints with automatic validation
Implementing OAuth2/JWT authentication
Working with Pydantic models
Adding dependency injection
Configuring CORS, middleware
Uploading files, handling forms
Testing API endpoints
Installation
Requires Python 3.10+. Install: pip install "fastapi[standard]" (full with uvicorn) or pip install fastapi (minimal). Add python-multipart for forms/files.
Release Highlights (0.139.2 -> 0.141.1)
Frontend dev experience (0.141.0): checkdir on app.frontend() now defaults to "auto", which skips the frontend-directory existence check (with a warning) when FASTAPIENV=development and enforces it otherwise. fastapi dev sets FASTAPI_ENV=development automatically unless already set, so running the dev server before the frontend is built no longer raises an error.
Frontend fixes (0.141.1): background tasks and response headers produced by dependencies used on frontend routes (dependency support was added in 0.139.0) are now applied correctly instead of being silently dropped. FASTAPI_ENV is documented in the FastAPI CLI guide.
Dependency-injection memory refactor (0.140.0 – 0.140.7): internal dependency trees are no longer repeatedly flattened for OpenAPI generation, request-parameter resolution, and body-field handling, reducing memory use in large applications; the internal lru_cache limit for dependency resolution was also raised to fit bigger apps. This is an internal optimization with no required code changes.
Streaming fixes (0.140.8 – 0.140.13): includerouter() no longer loses the declared stream item type from a nested router's yield-based endpoints; responsemodel* params (e.g. responsemodelexclude) are now honored on plain (non-generator) endpoints that return an Iterable[Model], not only on yield-based ones; statuscode set on SSE/JSONL streaming endpoints is now honored instead of always returning 200; a dedicated API reference page for fastapi.sse was added.
jsonableencoder fix (0.140.9): excludedefaults now propagates into dict keys and values, not only into top-level model fields.
Release Highlights (0.137.0 -> 0.139.2)
Frontend serving (0.138.0): app.frontend("/", directory="dist") serves a built static frontend directly from the FastAPI app. 0.139.0 adds dependencies support in app.frontend(), enabling automatic cookie authentication for frontends, and 0.139.1 fixes fallback for dotted paths like /users/john.doe.
Router internals (0.137.0): include_router() now preserves APIRouter/APIRoute instances instead of cloning routes, so routes added after inclusion are reflected automatically and memory use drops. Custom APIRouter/APIRoute subclasses gain .matches()/.handle() (alpha) for advanced routing.
Thread safety (0.139.2): route building is refactored to be thread-safe, mainly relevant for tests running across parallel threads.
Release Highlights (0.133.0 → 0.136.1)
0.134.0: streaming JSON Lines and streaming binary data support using yield.
0.135.0: first-class Server-Sent Events (SSE) support (EventSourceResponse).
0.135.1: fix around TaskGroup usage in request async exit stack (stability fix).
0.136.1: FastAPI updates its Pydantic v2 code to avoid deprecations and bumps Starlette to 1.0.0.
Patch Notes (0.136.2 → 0.136.3)
SSE responses now validate event fields more strictly, so malformed ServerSentEvent payloads fail earlier instead of quietly streaming invalid frames.
Header parameters no longer accept underscore-named incoming headers when convertunderscores=True (the default). If a client truly sends underscore headers, declare Header(convertunderscores=False) and verify that your proxy chain allows them.