> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Usando pydantic

> Aprende a usar pydantic para la validación de datos.

## ¿Qué es pydantic?

Pydantic es una increíble y moderna librería de Python para la validación de datos usando
anotaciones de tipo. Impone restricciones de tipo, garantizando la consistencia de los datos y
proporcionando mensajes de error claros cuando la validación falla. Pydantic es a la vez
potente y fácil de usar, lo que la convierte en una opción popular para los desarrolladores que trabajan
con datos estructurados.

## Instalación

Para usar Pydantic con este SDK, necesitas instalar el SDK con la dependencia
extra de pydantic, ya que no se incluye por defecto:

```bash theme={null}
pip install "squarecloud[pydantic]"
```

## Funcionalidades

En este SDK, Pydantic se utiliza para convertir un parámetro extra de un diccionario
en un modelo de Pydantic, lo que permite una validación y manipulación
de datos más robusta.

```python theme={null}
import squarecloud as square
from squarecloud import Endpoint
from pydantic import BaseModel

class Animal(BaseModel):
    name: str
    age: int

@client.on_request(Endpoint.status())
async def get_extra_param(before, after, extra: Animal):
    print(extra.name)
    print(extra.age)

async def main():
    client = square.Client('your api key')
    await client.app_status('application_id', extra={'name': 'felix', 'age': 3})
```

En este ejemplo, la clase Animal es un modelo de Pydantic con dos
campos: name y age. Cuando se realiza una petición al endpoint status,
el parámetro extra se convierte automáticamente en una instancia de Animal, lo que te permite
acceder y validar los datos fácilmente.
