Data validation and settings management using Python type hinting.
Fast and extensible, pydantic plays nicely with your linters/IDE/brain.
Define how data should be in pure, canonical Python 3.6+; validate it with pydantic.
Based on the "Parser" category.
Alternatively, view pydantic alternatives based on common mentions on social networks and blogs.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pydantic or a related project?
CI Coverage pypi CondaForge downloads versions license
Data validation using Python type hints.
This branch relates to development of pydantic V2 which is not yet ready for release.
If you're a user of pydantic, you probably want either
pydantic V1.10 Documentation or,
1.10.X-fixes git branch.
Fast and extensible, pydantic plays nicely with your linters/IDE/brain. Define how data should be in pure, canonical Python 3.7+; validate it with pydantic.
See documentation for more details.
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.
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel
class User(BaseModel):
id: int
name = '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
For guidance on setting up a development environment and how to make a contribution to pydantic, see Contributing to Pydantic.
See our security policy.
*Note that all licence references and agreements mentioned in the pydantic README section above
are relevant to that project's source code only.
Do not miss the trending, packages, news and articles with our weekly report.