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

# Pydantic verwenden

> Erfahre, wie du pydantic zur Datenvalidierung einsetzt.

## Was ist pydantic?

Pydantic ist eine großartige und moderne Python-Bibliothek zur Datenvalidierung mithilfe von
Typannotationen. Sie erzwingt Typbeschränkungen, sorgt für Datenkonsistenz und
liefert klare Fehlermeldungen, wenn die Validierung fehlschlägt. Pydantic ist zugleich
leistungsstark und einfach zu verwenden, was es zu einer beliebten Wahl für Entwickler macht, die mit
strukturierten Daten arbeiten.

## Installation

Um Pydantic mit diesem SDK zu verwenden, musst du das SDK mit der zusätzlichen pydantic-Abhängigkeit
installieren, da sie standardmäßig nicht enthalten ist:

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

## Funktionen

In diesem SDK wird Pydantic verwendet, um einen extra-Parameter von einem Dictionary
in ein Pydantic-Modell umzuwandeln, was eine robustere Datenvalidierung
und -verarbeitung ermöglicht.

```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})
```

In diesem Beispiel ist die Animal-Klasse ein Pydantic-Modell mit zwei
Feldern: name und age. Wenn eine Anfrage an den status-Endpoint gestellt wird,
wird der extra-Parameter automatisch in eine Animal-Instanz umgewandelt, sodass du
einfach auf die Daten zugreifen und sie validieren kannst.
