pydantic /pydantic

Data validation using Python type hints

★ 29,419⑂ 3,159
PythonCreated 2017-05-03pydantic.dev/docs/validation
29,419
stars
+141+150+476
3,159
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Pydantic Validation











Data validation using Python type hints.

Fast and extensible, Pydantic plays nicely with your linters/IDE/brain.
Define how data should be in pure, canonical Python 1+; validate it with Pydantic.

 Pydantic Logfire :fire:

Logfire is an observability and evaluation platform for AI applications and agents. Debug and trace agent execution, evaluate AI outputs, and manage model interactions through an integrated AI gateway.
Explore Logfire’s AI observability and evaluation platform.

 Pydantic V1.10 vs. V2

Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1.

If you're using Pydantic V1 you may want to look at the
pydantic V1.10 Documentation or,
1.10.X-fixes git branch. Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: from pydantic import v1 as pydantic_v1.

 Help

See documentation for more details.

 Installation

Install using pip install -U pydantic or conda install pydantic -c conda-forge.
For more installation options to make Pydantic even faster,
see the Install section in the documentation.

 A Simple Example

python
from datetime import datetime
from typing import Optional
from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str = 'John Doe'
    signup_ts: Optional[datetime] = None
    friends: list[int] = []

external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
user = User(external_data)
print(user)
 User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
print(user.id)
 123


 Contributing

For guidance on setting up a development environment and how to make a
contribution to Pydantic, see
Contributing to Pydantic.

 Reporting a Security Vulnerability

See our security policy.

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON