pydantic-patternslisted
Install: claude install-skill Izangi2714/claude-code-python-stack
# Pydantic v2 Patterns
Data validation and serialization patterns using Pydantic v2.
## When to Activate
- Defining request/response schemas for APIs
- Validating external data (user input, API responses, file content)
- Managing application settings with environment variables
- Converting between domain models and DTOs
## Basic Models
```python
from pydantic import BaseModel, Field, EmailStr
from datetime import datetime
class UserCreate(BaseModel):
email: EmailStr
name: str = Field(min_length=1, max_length=255)
password: str = Field(min_length=8, max_length=128)
age: int | None = Field(None, ge=0, le=150)
class UserResponse(BaseModel):
id: int
email: str
name: str
created_at: datetime
model_config = {"from_attributes": True} # Enable ORM mode
```
## Validators
### Field Validators
```python
from pydantic import BaseModel, field_validator, model_validator
import re
class UserCreate(BaseModel):
username: str
password: str
password_confirm: str
@field_validator("username")
@classmethod
def username_alphanumeric(cls, v: str) -> str:
if not re.match(r"^[a-zA-Z0-9_]+$", v):
raise ValueError("Username must be alphanumeric")
return v.lower()
@field_validator("password")
@classmethod
def password_strength(cls, v: str) -> str:
if not re.search(r"[A-Z]", v):
raise ValueError("Password must contain uppercase letter")
if not re.search(r"[0-9]", v