BaseModel es una clase base proporcionada por la biblioteca Pydantic. Proporciona una serie de características útiles para la validación de datos, como la comprobación de tipos, la longitud y los rangos. También proporciona soporte para la serialización y deserialización de datos.

from pydantic import BaseModel
 
class User(BaseModel):
    name: str
    age: int
    email: str
 
user = User(name="John Doe", age=30, email="johndoe@example.com")
 
# Validación de datos
try:
    user.validate()
except ValueError as e:
    print(e)
 
# Serialización y deserialización
serialized_user = user.json()
deserialized_user = User.parse_obj(serialized_user)
 
# Resultado
# {
#     "name": "John Doe",
#     "age": 30,
#     "email": "johndoe@example.com"
# }