About fastapi-development
A FastAPI development skill for Python developers, covering async APIs, Pydantic validation, dependency injection, and JWT authentication, with topic-specific reference guides.
Key features
- 01Build async REST APIs
- 02Validate data with Pydantic
- 03Generate OpenAPI documentation
- 04Use dependency injection and service layers
- 05Implement JWT authentication
Use cases
- 01Develop high-performance Python APIs
- 02Create async API endpoints
- 03Build microservices
- 04Add authentication to protected routes
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill fastapi-developmentAfter installing, type/fastapi-developmentin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/api-routes-with-async-endpoints.mdasync-database-models-and-queries.mdfastapi-application-setup.mdpydantic-models-for-validation.mdsecurity-and-jwt-authentication.mdservice-layer-for-business-logic.mdscripts/validate-api.shtemplates/api-scaffold.yamlDetails
From the project READMEFastAPI Development
Table of Contents
Overview
Create fast, modern Python APIs using FastAPI with async/await support, automatic API documentation, type validation using Pydantic, dependency injection, JWT authentication, and SQLAlchemy ORM integration.
When to Use
- Building high-performance Python REST APIs
- Creating async API endpoints
- Implementing automatic OpenAPI/Swagger documentation
- Leveraging Python type hints for validation
- Building microservices with async support
- Integrating Pydantic for data validation
Quick Start
Minimal working example:
# main.py
from fastapi import FastAPI, HTTPException, status
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
import logging
# Setup logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Create FastAPI instance
app = FastAPI(
title="API Service",
description="A modern FastAPI application",
version="1.0.0",
docs_url="/api/docs",
openapi_url="/api/openapi.json"
)
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"],
allow_credentials=True,
allow_methods=["*"],
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| FastAPI Application Setup | FastAPI Application Setup |
| Pydantic Models for Validation | Pydantic Models for Validation |
| Async Database Models and Queries | Async Database Models and Queries |
| Security and JWT Authentication | Security and JWT Authentication |
| Service Layer for Business Logic | Service Layer for Business Logic |
| API Routes with Async Endpoints | API Routes with Async Endpoints |
Best Practices
✅ DO
- Use async/await for I/O operations
- Leverage Pydantic for validation
- Use dependency injection for services
- Implement proper error handling with HTTPException
- Use type hints for automatic OpenAPI documentation
- Create service layers for business logic
- Implement authentication on protected routes
- Use environment variables for configuration
- Return appropriate HTTP status codes
- Document endpoints with docstrings and tags
❌ DON'T
- Use synchronous database operations
- Trust user input without validation
- Store secrets in code
- Ignore type hints
- Return database models in responses
- Implement authentication in route handlers
- Use mutable default arguments
- Forget to validate query parameters
- Expose stack traces in production
Comments
Markdown supported