Metadata-Version: 2.1
Name: ymdantic
Version: 0.1.6
Summary: Фреймворк предоставляющий доступ к API Яндекс Музыки (с Pydantic валидацией)
Author: KatantDev
Author-email: vlad26@mail.ru
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiohttp (>=3.9.0,<4.0.0)
Requires-Dist: certifi (>=2023.7.22,<2024.0.0)
Requires-Dist: dataclass-rest (>=0.4,<0.5)
Requires-Dist: pydantic (>=2.4,<3.0)
Description-Content-Type: text/markdown

# YMDantic

## Описание
**YMDantic** - это клиентская библиотека на Python для работы с API Yandex Music.
Она позволяет получать информацию о треках, альбомах, плейлистах и других объектах сервиса.

Особенностью библиотеки является использование [Pydantic](https://pydantic-docs.helpmanual.io/) для валидации и сериализации данных.

## Технологии
Проект написан на Python и использует следующие библиотеки:
- aiohttp для асинхронных HTTP-запросов
- dataclass_rest для работы с REST API
- Pydantic для валидации и сериализации данных

## Установка и использование
Для установки библиотеки используйте pip/poetry:

```bash
pip install ymdantic
```
или
```bash
poetry add ymdantic
```

## Пример использования
Получаем список чартов и выводим треки

```python
import asyncio
from ymdantic import YMClient


async def get_chart(client: YMClient) -> None:
    chart_block = await client.get_chart()
    print(chart_block.title, end="\n\n")
    print("Треки в чарте:")
    for playlist_track in chart_block.chart.tracks:
        print(f"{playlist_track.track.artists_names} - {playlist_track.track.title}")


if __name__ == "__main__":
    asyncio.run(get_chart(client=YMClient(token="y0_123")))
```

