pydantic-v2-patterns

Detail advanced Pydantic v2 patterns for validators, serializers, and discriminated unions.

Updated May 20, 2025
One-click install
npx skills add https://github.com/flext-sh/flext --skill pydantic-v2-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pydantic-v2-patterns
Source: https://github.com/flext-sh/flext/tree/main/.claude/skills/pydantic-v2-patterns
Command: npx skills add https://github.com/flext-sh/flext --skill pydantic-v2-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides in-depth guidance and reusable patterns for advanced Pydantic v2 implementations, ensuring robust data modeling and validation within the FLEXT ecosystem.

Core Features & Use Cases

  • Advanced Validation: Implement complex validation logic using field_validator and model_validator.
  • Data Serialization: Define custom serialization logic for various data types and formats.
  • Discriminated Unions: Utilize discriminated unions for robust runtime polymorphism.
  • Strict Mode & TypeAdapter: Enforce strict data contracts and handle dynamic runtime validation.
  • Use Case: When defining complex API request or response models that require intricate validation rules, custom data transformations, or polymorphic behavior, these patterns ensure correctness and maintainability.

Quick Start

Apply the reusable annotated alias pattern for string stripping and non-empty validation to a new Pydantic model.

Frequently Asked Questions about pydantic-v2-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement complex validation logic in Pydantic v2?

Implement complex validation in Pydantic v2 using `field_validator` for individual fields and `model_validator` for whole-model rules. These patterns ensure robust data modeling and maintainable validation logic for API request and response models.

What is the best way to handle polymorphic data models in Pydantic v2?

Handle polymorphic data models in Pydantic v2 using discriminated unions. This pattern enables robust runtime polymorphism by routing incoming data to specific model classes based on a discriminator field.

How do I enforce strict data contracts and dynamic runtime validation in Python?

Enforce strict data contracts and dynamic runtime validation in Python using Pydantic v2's strict mode and TypeAdapter. TypeAdapter handles dynamic validation without full model definitions, ensuring consistent and robust data modeling.

Can I define custom serialization logic for different data formats in Pydantic v2?

Yes, you can define custom serialization logic in Pydantic v2 for various data types and formats. This allows custom data transformations for complex API response models requiring specific output structures.

How do I apply reusable string stripping and non-empty validation patterns in Pydantic?

Apply reusable string stripping and non-empty validation in Pydantic using an annotated alias pattern. This provides consistent, procedural depth for data modeling by enforcing standard string formatting across multiple fields.