Pydantic is a Python library for serializing data into models that can be validated with a deep set of built in valitators or your own custom validators, and deserialize back to JSON or dictionary.
Installation
To install pydantic you will first need python and pip. Once you have pip installed you can install pydantic with pip.
pip install pydantic
Always install in a virtual environment
Creating a Pydantic model
To get started with pydantic you will first need to create a Pydantic model.
This is a python class that inherits from pydantic.BaseModel
.
from pydantic import BaseModel from pydantic import Field class Person(BaseModel): name: str = Field(...) age: int = Field(...)
parsing an object
person = Person(name="John Doe", age=30) print(person)
data serialization
Pydantic has some very robust serialization methods that will automatically coherse your data into the type specified by the type-hint in the model if it can.
person = Person(name=12, age="30") print(f'name: {person.name}, type: {type(person.name)}') print(f'age: {person.age}, type: {type(person.age)}')
person = Person(name="John Doe", age='thirty') print(f'name: {person.name}, type: {type(person.name)}') print(f'age: {person.age}, type: {type(person.age)}')