> ## 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

> Aprenda a usar o pydantic para validação de dados.

## O que é o pydantic?

Pydantic é uma biblioteca moderna e poderosa de Python para validação de dados
com base em anotações de tipo. Ela impõe restrições de tipo, garantindo a consistência
dos dados e fornecendo mensagens de erro claras quando a validação falha.
Pydantic é fácil de usar e uma escolha popular para desenvolvedores que trabalham
com dados estruturados.

## Instalação

Para usar o Pydantic com este SDK, você precisa instalar o SDK com a dependência
extra `pydantic`, pois ela não está incluída por padrão:

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

## Funcionalidades

Neste SDK, o Pydantic é usado para converter um parâmetro `extra` de um dicionário
em um modelo Pydantic, permitindo validação e manipulação de dados mais robustas.

```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(api_key='CHAVE_API')
    await client.app_status('id_aplicacao', extra={'name': 'felix', 'age': 3})
```

Neste exemplo, a classe `Animal` é um modelo Pydantic com dois campos: `name` e `age`.
Quando uma requisição é feita ao endpoint de status, o parâmetro `extra` é convertido
automaticamente em uma instância de `Animal`, permitindo acessar e validar os dados com facilidade.
