Popularity
9.4
Growing
Activity
9.8
Growing
18,226
108
1,600

Description

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.

Programming language: Python
License: MIT License
Latest version: v1.7.3

pydantic alternatives and similar packages

Based on the "Parser" category.
Alternatively, view pydantic alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of pydantic or a related project?

Add another 'Parser' Package

README

pydantic

CI Coverage pypi CondaForge downloads versions license

Data validation using Python type hints.


Notice

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.

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

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

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.


*Note that all licence references and agreements mentioned in the pydantic README section above are relevant to that project's source code only.