スキル一覧に戻る
majesticlabs-dev

pydantic-validation

by majesticlabs-dev

18🍴 1📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: pydantic-validation description: Record-level data validation using Pydantic models. Field validators, model validators, and batch validation patterns. allowed-tools: Read Write Edit Bash

Pydantic Validation

Audience: Data engineers validating records in ETL pipelines.

Goal: Provide reusable Pydantic patterns for record-level validation.

Scripts

Execute validation functions from scripts/validators.py:

from scripts.validators import (
    UserRecord,
    Customer,
    Order,
    Address,
    validate_records,
    print_validation_errors,
    PositiveInt,
    Email
)

Usage Examples

Basic Model Validation

from scripts.validators import UserRecord

# Validate single record
user = UserRecord(
    id=1,
    email="USER@example.com",
    status="active",
    created_at="2024-01-15",
    age=25
)
print(user.email)  # user@example.com (lowercased)

Batch Validation

from scripts.validators import validate_records, print_validation_errors

raw_data = [
    {"id": 1, "email": "a@b.com", "status": "active", "created_at": "2024-01-01", "age": 25},
    {"id": -1, "email": "invalid", "status": "bad", "created_at": "2024-01-01", "age": 200},
]

valid, invalid = validate_records(raw_data)
if invalid:
    print_validation_errors(invalid)

Nested Models

from scripts.validators import Customer, Address

customer = Customer(
    id=1,
    name="John Doe",
    billing_address=Address(
        street="123 Main St",
        city="NYC",
        postal_code="10001"
    )
)
# shipping_address defaults to billing_address

Field Constraints Reference

ConstraintExampleDescription
gt, geField(gt=0)Greater than / greater-equal
lt, leField(le=100)Less than / less-equal
patternField(pattern=r'^\d+$')Regex match
min_length, max_lengthField(min_length=1)String length

JSON/Dict Conversion

# Parse from dict
customer = Customer(**data_dict)

# Parse from JSON
customer = Customer.model_validate_json(json_string)

# Export to dict/JSON
data = customer.model_dump()
json_str = customer.model_dump_json()

When to Use Pydantic

Use CasePydanticAlternative
API request/responseFastAPI integration
Record-by-record ETL-
Full DataFrame validation-pandera
Pipeline expectations-Great Expectations

Dependencies

pydantic>=2.0
pydantic-settings  # For config validation

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です