diff --git a/docs/source/index.rst b/docs/source/index.rst index 77b5ec7..2fd0be9 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,8 +3,9 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Документациия python библиотеки для API Yandex Music API's! -=========================================================== +Документациия python библиотеки для API Yandex Music! +===================================================== .. toctree:: + yandex_music diff --git a/docs/source/yandex_music.experiments.rst b/docs/source/yandex_music.experiments.rst new file mode 100644 index 0000000..6d45522 --- /dev/null +++ b/docs/source/yandex_music.experiments.rst @@ -0,0 +1,6 @@ +yandex_music.Experiments +======================== + +.. autoclass:: yandex_music.Experiments + :members: + :show-inheritance: diff --git a/docs/source/yandex_music.permission_alerts.rst b/docs/source/yandex_music.permission_alerts.rst new file mode 100644 index 0000000..3a8aac1 --- /dev/null +++ b/docs/source/yandex_music.permission_alerts.rst @@ -0,0 +1,6 @@ +yandex_music.PermissionAlerts +============================= + +.. autoclass:: yandex_music.PermissionAlerts + :members: + :show-inheritance: diff --git a/docs/source/yandex_music.rst b/docs/source/yandex_music.rst index 27eab84..b56ffe6 100644 --- a/docs/source/yandex_music.rst +++ b/docs/source/yandex_music.rst @@ -1,15 +1,11 @@ Пакет yandex_music -==================== +================== .. toctree:: - yandex_music.client - yandex_music.status - yandex_music.account - yandex_music.passport_phone - yandex_music.plus - yandex_music.permissions - yandex_music.subscription - yandex_music.auto_renewable - yandex_music.product - yandex_music.price - yandex_music.utils.request.request + + yandex_music.status + yandex_music.utils + yandex_music.client + yandex_music.settings + yandex_music.permission_alerts + yandex_music.experiments diff --git a/docs/source/yandex_music.settings.rst b/docs/source/yandex_music.settings.rst new file mode 100644 index 0000000..c1f177a --- /dev/null +++ b/docs/source/yandex_music.settings.rst @@ -0,0 +1,6 @@ +yandex_music.Settings +===================== + +.. autoclass:: yandex_music.Settings + :members: + :show-inheritance: diff --git a/docs/source/yandex_music.account.rst b/docs/source/yandex_music.status.account.rst similarity index 100% rename from docs/source/yandex_music.account.rst rename to docs/source/yandex_music.status.account.rst diff --git a/docs/source/yandex_music.auto_renewable.rst b/docs/source/yandex_music.status.auto_renewable.rst similarity index 100% rename from docs/source/yandex_music.auto_renewable.rst rename to docs/source/yandex_music.status.auto_renewable.rst diff --git a/docs/source/yandex_music.passport_phone.rst b/docs/source/yandex_music.status.passport_phone.rst similarity index 100% rename from docs/source/yandex_music.passport_phone.rst rename to docs/source/yandex_music.status.passport_phone.rst diff --git a/docs/source/yandex_music.permissions.rst b/docs/source/yandex_music.status.permissions.rst similarity index 100% rename from docs/source/yandex_music.permissions.rst rename to docs/source/yandex_music.status.permissions.rst diff --git a/docs/source/yandex_music.plus.rst b/docs/source/yandex_music.status.plus.rst similarity index 100% rename from docs/source/yandex_music.plus.rst rename to docs/source/yandex_music.status.plus.rst diff --git a/docs/source/yandex_music.price.rst b/docs/source/yandex_music.status.price.rst similarity index 100% rename from docs/source/yandex_music.price.rst rename to docs/source/yandex_music.status.price.rst diff --git a/docs/source/yandex_music.product.rst b/docs/source/yandex_music.status.product.rst similarity index 100% rename from docs/source/yandex_music.product.rst rename to docs/source/yandex_music.status.product.rst diff --git a/docs/source/yandex_music.status.rst b/docs/source/yandex_music.status.rst index 2e8aeb3..a1886e4 100644 --- a/docs/source/yandex_music.status.rst +++ b/docs/source/yandex_music.status.rst @@ -1,6 +1,14 @@ -yandex_music.Status -=================== +Пакет yandex_music.status +========================= -.. autoclass:: yandex_music.Status - :members: - :show-inheritance: +.. toctree:: + + yandex_music.status.status + yandex_music.status.account + yandex_music.status.passport_phone + yandex_music.status.plus + yandex_music.status.permissions + yandex_music.status.subscription + yandex_music.status.auto_renewable + yandex_music.status.product + yandex_music.status.price \ No newline at end of file diff --git a/docs/source/yandex_music.status.status.rst b/docs/source/yandex_music.status.status.rst new file mode 100644 index 0000000..2e8aeb3 --- /dev/null +++ b/docs/source/yandex_music.status.status.rst @@ -0,0 +1,6 @@ +yandex_music.Status +=================== + +.. autoclass:: yandex_music.Status + :members: + :show-inheritance: diff --git a/docs/source/yandex_music.subscription.rst b/docs/source/yandex_music.status.subscription.rst similarity index 100% rename from docs/source/yandex_music.subscription.rst rename to docs/source/yandex_music.status.subscription.rst diff --git a/docs/source/yandex_music.utils.request.request.rst b/docs/source/yandex_music.utils.request.rst similarity index 100% rename from docs/source/yandex_music.utils.request.request.rst rename to docs/source/yandex_music.utils.request.rst diff --git a/docs/source/yandex_music.utils.rst b/docs/source/yandex_music.utils.rst new file mode 100644 index 0000000..4073a26 --- /dev/null +++ b/docs/source/yandex_music.utils.rst @@ -0,0 +1,6 @@ +Пакет yandex_music.utils +======================== + +.. toctree:: + + yandex_music.utils.request \ No newline at end of file diff --git a/yandex_music/client.py b/yandex_music/client.py index 2508013..0a1b1b7 100644 --- a/yandex_music/client.py +++ b/yandex_music/client.py @@ -137,6 +137,20 @@ class Client(YandexMusicObject): return Status.de_json(result, self) def settings(self, timeout=None, *args, **kwargs): + """Получение предложений по покупке. Нет обязательных параметров. + + Args: + timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания + ответа от сервера вместо указанного при создании пула. + **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). + + Returns: + :class:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` предоставляющий информацию о + предлагаемых продуктах, иначе :obj:`None`. + + Raises: + :class:`yandex_music.YandexMusicError` + """ url = f'{self.base_url}/settings' result = self._request.get(url, timeout=timeout, *args, **kwargs) @@ -144,6 +158,20 @@ class Client(YandexMusicObject): return Settings.de_json(result, self) def permission_alerts(self, timeout=None, *args, **kwargs): + """Получение оповещений. Нет обязательных параметров. + + Args: + timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания + ответа от сервера вместо указанного при создании пула. + **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). + + Returns: + :class:`yandex_music.PermissionAlerts`: Объекта класса :class:`yandex_music.PermissionAlerts` + представляющий оповещения, иначе :obj:`None`. + + Raises: + :class:`yandex_music.YandexMusicError` + """ url = f'{self.base_url}/permission-alerts' result = self._request.get(url, timeout=timeout, *args, **kwargs) @@ -151,6 +179,20 @@ class Client(YandexMusicObject): return PermissionAlerts.de_json(result, self) def account_experiments(self, timeout=None, *args, **kwargs): + """Получение значений экспериментальных функций аккаунта. + + Args: + timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания + ответа от сервера вместо указанного при создании пула. + **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). + + Returns: + :class:`yandex_music.Experiments`: Объекта класса :class:`yandex_music.Experiments` + представляющий состояния экспериментальных функций, иначе :obj:`None`. + + Raises: + :class:`yandex_music.YandexMusicError` + """ url = f'{self.base_url}/account/experiments' result = self._request.get(url, timeout=timeout, *args, **kwargs) diff --git a/yandex_music/experiments.py b/yandex_music/experiments.py index 931872f..f9158aa 100644 --- a/yandex_music/experiments.py +++ b/yandex_music/experiments.py @@ -2,6 +2,19 @@ from yandex_music import YandexMusicObject class Experiments(YandexMusicObject): + """Класс представления каких-то свистелок-перделок, флажков, режимов экспериментальных функций. + + Attributes: + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + название_эксперимента (:obj:`str`, optional): Содержит режим или состояние, или функцию, или ещё что угодно. + + Args: + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. + **kwargs: Собственно тут и передаются все эти свистелки. + """ + def __init__(self, client=None, **kwargs): @@ -11,6 +24,16 @@ class Experiments(YandexMusicObject): @classmethod def de_json(cls, data, client): + """Десериализация объекта. + + Args: + data (:obj:`dict`): Поля и значения десериализуемого объекта. + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + + Returns: + :obj:`yandex_music.Experiments`: Объект класса :obj:`yandex_music.Experiments`. + """ if not data: return None diff --git a/yandex_music/permission_alerts.py b/yandex_music/permission_alerts.py index 828cd2d..3e033f5 100644 --- a/yandex_music/permission_alerts.py +++ b/yandex_music/permission_alerts.py @@ -2,6 +2,20 @@ from yandex_music import YandexMusicObject class PermissionAlerts(YandexMusicObject): + """Класс представляющий оповещения. + + Attributes: + alerts (:obj:`list`): Список оповещений. + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + + Args: + alerts (:obj:`list`): Список оповещений. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. + **kwargs: Произвольные ключевые аргументы полученные от API. + """ + def __init__(self, alerts, client=None, @@ -12,6 +26,16 @@ class PermissionAlerts(YandexMusicObject): @classmethod def de_json(cls, data, client): + """Десериализация объекта. + + Args: + data (:obj:`dict`): Поля и значения десериализуемого объекта. + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + + Returns: + :obj:`yandex_music.PermissionAlerts`: Объект класса :obj:`yandex_music.PermissionAlerts`. + """ if not data: return None diff --git a/yandex_music/settings.py b/yandex_music/settings.py index ae34aa1..bca68f6 100644 --- a/yandex_music/settings.py +++ b/yandex_music/settings.py @@ -2,6 +2,34 @@ from yandex_music import YandexMusicObject class Settings(YandexMusicObject): + """Класс представляющий предложения по покупке. + + Attributes: + in_app_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые + продукты внутри приложения. + native_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые + продукты всплывающими окнами. + web_payment_url (:obj:`str`): Ссылка для осуществления платежа. + web_payment_month_product_price (:obj:`yandex_music.Price`): Объект класса :obj:`yandex_music.Price` + представляющий цену продукта за месяц. + promo_codes_enabled (:obj:`bool`): Доступно ли использование промо-кодов. + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + + Args: + in_app_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые + продукты внутри приложения. + native_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые + продукты всплывающими окнами. + web_payment_url (:obj:`str`): Ссылка для осуществления платежа. + web_payment_month_product_price (:obj:`yandex_music.Price`, optional): Объект класса :obj:`yandex_music.Price` + представляющий цену продукта за месяц. + promo_codes_enabled (:obj:`bool`): Доступно ли использование промо-кодов. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. + **kwargs: Произвольные ключевые аргументы полученные от API. + """ + def __init__(self, in_app_products, native_products, @@ -20,6 +48,16 @@ class Settings(YandexMusicObject): @classmethod def de_json(cls, data, client): + """Десериализация объекта. + + Args: + data (:obj:`dict`): Поля и значения десериализуемого объекта. + client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex + Music. + + Returns: + :obj:`yandex_music.Settings`: Объект класса :obj:`yandex_music.Settings`. + """ if not data: return None diff --git a/yandex_music/status/account.py b/yandex_music/status/account.py index a05b642..41da3c1 100644 --- a/yandex_music/status/account.py +++ b/yandex_music/status/account.py @@ -18,8 +18,8 @@ class Account(YandexMusicObject): service_available (:obj:`bool`): Доступен ли сервис. hosted_user (:obj:`bool`): Является ли пользователем чьим-то другим. region (:obj:`int`): Регион. - passport_phones (:obj:`yandex_music.PassportPhone`): Объект класса :obj:`yandex_music.PassportPhone` - предоставляющий список мобильных номеров. + passport_phones (:obj:`list`): Список объектов класса :obj:`yandex_music.PassportPhone` представляющие + мобильные номера. registered_at (:obj:`datetime.datetime`): Дата создания аккаунта. has_info_for_app_metrica (:obj:`bool`): Наличие информации для App Metrica. client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex @@ -37,12 +37,12 @@ class Account(YandexMusicObject): service_available (:obj:`bool`): Доступен ли сервис. hosted_user (:obj:`bool`): Является ли пользователем чьим-то другим. region (:obj:`int`, optional): Регион. - passport_phones (:obj:`yandex_music.PassportPhone`, optional): Объект класса :obj:`yandex_music.PassportPhone` - предоставляющий список мобильных номеров. - registered_at (:obj:`str`, optional): Дата создания аккаунта. + passport_phones (:obj:`list`): Список объектов класса :obj:`yandex_music.PassportPhone` представляющие + мобильные номера. + registered_at (:obj:`str`, optional): Дата создания учётной записи. has_info_for_app_metrica (:obj:`bool`, optional): Наличие информации для App Metrica. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ diff --git a/yandex_music/status/auto_renewable.py b/yandex_music/status/auto_renewable.py index a760a0e..5072c14 100644 --- a/yandex_music/status/auto_renewable.py +++ b/yandex_music/status/auto_renewable.py @@ -25,8 +25,8 @@ class AutoRenewable(YandexMusicObject): product (:obj:`yandex_music.Product`): Объект класса :obj:`yandex_music.Product` представляющий продукт. order_id (:obj:`int`): Уникальный идентификатор заказа. finished (:obj:`bool`): Завершенность автопродления. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ diff --git a/yandex_music/status/passport_phone.py b/yandex_music/status/passport_phone.py index 48d8984..c884e1b 100644 --- a/yandex_music/status/passport_phone.py +++ b/yandex_music/status/passport_phone.py @@ -11,8 +11,8 @@ class PassportPhone(YandexMusicObject): Args: phone (:obj:`str`): Номер телефона. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ diff --git a/yandex_music/status/permissions.py b/yandex_music/status/permissions.py index 54aa027..304e968 100644 --- a/yandex_music/status/permissions.py +++ b/yandex_music/status/permissions.py @@ -4,7 +4,7 @@ from yandex_music import YandexMusicObject class Permissions(YandexMusicObject): - """Класс предоставляющий информацио о правах пользователя, их изначальных значениях и даты окончания. + """Класс предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания. Attributes: until (:obj:`datetime.datetime`): Дата окончания прав. diff --git a/yandex_music/status/plus.py b/yandex_music/status/plus.py index 1672893..a10e5fc 100644 --- a/yandex_music/status/plus.py +++ b/yandex_music/status/plus.py @@ -13,8 +13,8 @@ class Plus(YandexMusicObject): Args: has_plus (:obj:`bool`): Наличие. is_tutorial_completed (:obj:`bool`): Закончено ли руководство. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ diff --git a/yandex_music/status/price.py b/yandex_music/status/price.py index e4ce2c4..6a10517 100644 --- a/yandex_music/status/price.py +++ b/yandex_music/status/price.py @@ -13,8 +13,8 @@ class Price(YandexMusicObject): Args: amount (:obj:`int`): Количество единиц. currency (:obj:`str`): Валюта. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ diff --git a/yandex_music/status/product.py b/yandex_music/status/product.py index 166d803..23e2eaa 100644 --- a/yandex_music/status/product.py +++ b/yandex_music/status/product.py @@ -16,8 +16,8 @@ class Product(YandexMusicObject): features (:obj:`list`): Список предоставляемых возможностей. description (:obj:`str`): Описание. available (:obj:`bool`): Доступна ли покупка. - trial_available (:obj:`bool`): Доступен ли испытательныц срок. - vendor_trial_available (:obj:`bool`): Доступен испытательныц срок продовца TODO. + trial_available (:obj:`bool`): Доступен ли испытательный срок. + vendor_trial_available (:obj:`bool`): Доступен испытательный срок продавца TODO. button_text (:obj:`str`): Текст кнопки. button_additional_text (:obj:`str`): Дополнительный текст кнопки. payment_method_types (:obj:`list`): Способы оплаты. @@ -36,8 +36,8 @@ class Product(YandexMusicObject): features (:obj:`list`, optional): Список предоставляемых возможностей. description (:obj:`str`, optional): Описание. available (:obj:`bool`, optional): Доступна ли покупка. - trial_available (:obj:`bool`, optional): Доступен ли испытательныц срок. - vendor_trial_available (:obj:`bool`, optional): Доступен испытательныц срок продовца TODO. + trial_available (:obj:`bool`, optional): Доступен ли испытательный срок. + vendor_trial_available (:obj:`bool`, optional): Доступен испытательный срок продавца TODO. button_text (:obj:`str`, optional): Текст кнопки. button_additional_text (:obj:`str`, optional): Дополнительный текст кнопки. payment_method_types (:obj:`list`, optional): Способы оплаты. diff --git a/yandex_music/status/status.py b/yandex_music/status/status.py index 861af08..51c7751 100644 --- a/yandex_music/status/status.py +++ b/yandex_music/status/status.py @@ -7,14 +7,14 @@ class Status(YandexMusicObject): Attributes: account (:obj:`yandex_music.Account`): Объект класса :obj:`yandex_music.Account` предоставляющий основную информацию об аккаунте. - permissions (:obj:`yandex_music.Permissons`): Объект класса :obj:`yandex_music.Permissions` предоставляющий + permissions (:obj:`yandex_music.Permissions`): Объект класса :obj:`yandex_music.Permissions` предоставляющий информацию о правах пользователя. subscription (:obj:`yandex_music.Subscription`): Объект класса :obj:`yandex_music.Subscription` предоставляющий информацию о подписках cache_limit (:obj:`int`): Максимальное количество загруженных треков. subeditor (:obj:`bool`): Наличие статуса модератора проверки корректности информации. subeditor_level (:obj:`int`): Уровень статуса модератора. - plus (:obj:`yandex_music.Plus`): Объект класса :obj:`yandex_music.Plus` предоставлящий инфомрацию о Plus + plus (:obj:`yandex_music.Plus`): Объект класса :obj:`yandex_music.Plus` предоставляющий информацию о Plus подписке. default_email (:obj:`str`): Основной e-mail адрес аккаунта. skips_per_hour (:obj:`int`): Количество переключение треков на радио в час. @@ -26,14 +26,14 @@ class Status(YandexMusicObject): Args: account (:obj:`yandex_music.Account`): Объект класса :obj:`yandex_music.Account` предоставляющий основную информацию об аккаунте. - permissions (:obj:`yandex_music.Permissons`): Объект класса :obj:`yandex_music.Permissions` предоставляющий + permissions (:obj:`yandex_music.Permissions`): Объект класса :obj:`yandex_music.Permissions` предоставляющий информацию о правах пользователя. subscription (:obj:`yandex_music.Subscription`): Объект класса :obj:`yandex_music.Subscription` предоставляющий информацию о подписках cache_limit (:obj:`int`, optional): Максимальное количество загруженных треков. subeditor (:obj:`bool`, optional): Наличие статуса модератора проверки корректности информации. subeditor_level (:obj:`int`, optional): Уровень статуса модератора. - plus (:obj:`yandex_music.Plus`, optional): Объект класса :obj:`yandex_music.Plus` предоставлящий информацию о + plus (:obj:`yandex_music.Plus`, optional): Объект класса :obj:`yandex_music.Plus` предоставляющий информацию о Plus подписке. default_email (:obj:`str`, optional): Основной e-mail адрес аккаунта. skips_per_hour (:obj:`int`, optional): Количество переключение треков на радио в час. diff --git a/yandex_music/status/subscription.py b/yandex_music/status/subscription.py index 7379000..58c6e12 100644 --- a/yandex_music/status/subscription.py +++ b/yandex_music/status/subscription.py @@ -7,8 +7,8 @@ class Subscription(YandexMusicObject): """Класс предоставляющий информацию о подписках пользователя. Attributes: - auto_renewable (:obj:`yandex_music.AutoRenewable`): Объект класса :obj:`yandex_music.AutoRenewable` - представляющий объект автопродления. + auto_renewable (:obj:`list`): Список объектов класса :obj:`yandex_music.AutoRenewable` представляющих + автопродление. can_start_trial (:obj:`bool`): Есть ли возможность начать пробный период. mcdonalds (:obj:`bool`): mcdonalds TODO. end (:obj:`datetime.datetime`): Дата окончания. @@ -16,13 +16,13 @@ class Subscription(YandexMusicObject): Music. Args: - auto_renewable (:obj:`yandex_music.AutoRenewable`, optional): Объект класса :obj:`yandex_music.AutoRenewable` - представляющий объект автопродления. + auto_renewable (:obj:`list`, optional): Список объектов класса :obj:`yandex_music.AutoRenewable` представляющих + автопродление. can_start_trial (:obj:`bool`, optional): Есть ли возможность начать пробный период. mcdonalds (:obj:`bool`, optional): mcdonalds TODO. end (:obj:`str`, optional): Дата окончания. - client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент + Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """