# Models

All API responses are parsed into typed Pydantic models. Fields are accessible as regular Python attributes.

## Wallhaven models

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Wallpaper
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.SearchResult
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.PaginationMeta
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Tag
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Uploader
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Avatar
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Thumbnails
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.QueryInfo
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.UserSettings
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.Collection
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.wallhaven.models.CollectionListing
   :members:
```

```{eval-rst}
.. autoclass:: xanax.pagination.PaginationHelper
   :members:
```

---

## Unsplash models

```{eval-rst}
.. autoclass:: xanax.sources.unsplash.models.UnsplashPhoto
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.unsplash.models.UnsplashSearchResult
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.unsplash.models.UnsplashPhotoUrls
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.unsplash.models.UnsplashPhotoLinks
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.unsplash.models.UnsplashUser
   :members:
```

---

## Reddit models

```{eval-rst}
.. autoclass:: xanax.sources.reddit.models.RedditPost
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.reddit.models.RedditGalleryItem
   :members:
```

```{eval-rst}
.. autoclass:: xanax.sources.reddit.models.RedditListing
   :members:
```
