pydantic について
Python の型注釈付き Pydantic モデルでデータを検証、シリアライズするためのスキルです。カスタム検証、JSON Schema の生成、環境変数に基づく設定を扱い、構造化データを扱う開発者向けです。
主な機能
- 01型付きモデルの検証
- 02フィールドとモデルのバリデーター
- 03Python と JSON のシリアライズ
- 04JSON Schema の生成
- 05環境変数による設定
活用シーン
- 01リクエストとレスポンスの検証
- 02信頼できない入力の正規化
- 03ドキュメント用 Schema の生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jiatastic/ open-python-skills --skill pydanticインストール後、Claude Code で/pydanticを入力して読み込まれたか確認します。
同梱ファイルreferences/pitfalls.mdreferences/quickstart.md
詳細
pydantic
Pydantic モデルを使用した、型駆動の検証とシリアライズです。
概要
Pydantic は Python の型ヒントを使用してデータを検証し、model_dump() と JSON スキーマ出力によって豊富なシリアライズ機能を提供します。
使用する場面
- リクエスト/レスポンスのペイロードを検証する
- 信頼できない入力を正規化する
- ドキュメント用の JSON スキーマを生成する
クイックスタート
uv pip install pydantic
from pydantic import BaseModel
class User(BaseModel):
id: int
email: str
user = User(id=1, email="[email protected]")
主なパターン
- 型付きフィールド:厳密なスキーマ定義です。
- フィールドバリデーター:カスタムの検証ロジックです。
- モデルバリデーター:フィールド間のチェックです。
- シリアライズ:
model_dump()とmodel_dump_json()を使用します。 - 設定:
BaseSettingsを使用した、環境変数に基づく設定です。
例:field_validator
from pydantic import BaseModel, field_validator
class Model(BaseModel):
name: str
@field_validator("name")
@classmethod
def ensure_not_empty(cls, v: str):
if not v:
raise ValueError("name required")
return v
例:model_validate + model_dump
from pydantic import BaseModel
class Model(BaseModel):
foo: int
model = Model.model_validate({"foo": 1})
print(model.model_dump())
トラブルシューティング
- 予期しない型変換:必要に応じて厳密な型を使用してください
- 低速なバリデーター:最小限に抑えてください
- 変更可能なデフォルト値:
default_factoryを使用してください
参考資料
コメント
Markdown 対応