Yandex-music

Latest version: v2.2.0

Safety actively analyzes 683322 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

29.12.2019

**Переломные изменения**

- Поле `account` переименовано в `me` и теперь содержит объект `Status`, вместо `Account` ([162](https://github.com/MarshalX/yandex-music-api/issues/162)).
- Убрано использование зарезервированных имён в аргументах конструкторов (теперь они с `_` на конце). Имена с нижними подчёркиваниями есть как при сериализации так и при десериализации ([168](https://github.com/MarshalX/yandex-music-api/issues/168)).

**Крупные изменения**

- **Добавлены аннотации типов во всей библиотеке!**

**Незначительные изменения и/или исправления**

- Добавлен аргумент `fetch_account_status` для опциональности получения информации об аккаунте при инициализации клиента ([162](https://github.com/MarshalX/yandex-music-api/issues/162)).
- Добавлены тесты c передачей пустого словаря в `de_json` и `de_list` ([174](https://github.com/MarshalX/yandex-music-api/issues/174)).
- Использование `ujson` при наличии, обновлены зависимости ([161](https://github.com/MarshalX/yandex-music-api/issues/161)).
- Добавлен в зависимости для разработки `importlib_metadata` для поддержки старых версий (в новой версии `pytest` его больше не используют, в угоду `importlib.metadata` [pytest-5537](https://github.com/pytest-dev/pytest/issues/5537))) ([#161](https://github.com/MarshalX/yandex-music-api/issues/161)).
- Добавлен в зависимости для разработки `atomicwrites`, который используется `pytest` теперь только на `Windows` - [pytest-6148](https://github.com/pytest-dev/pytest/pull/6148) ([#161](https://github.com/MarshalX/yandex-music-api/issues/161)).
- Исправлен баг с передачей `timeout` аргумента в аргумент `params` в следующих методах: `artists`, `albums`, `playlists_list` ([120](https://github.com/MarshalX/yandex-music-api/issues/120)).
- Исправлена инициализация клиента при помощи логина и пароля с использованием прокси ([159](https://github.com/MarshalX/yandex-music-api/issues/159)).
- Исправлен баг в загрузке обложки альбома.

25.03.2020

**Закончено документирование всех классов и основных методов!**

**Переломные изменения**

- **Классы отметок "мне нравится" для альбомов, плейлистов и исполнителей обобщены. Теперь представлены одним классом**.
- **Удаленные классы**:
- `ArtistsLikes`.
- `AlbumsLikes`.
- `PlaylistsLikes`.
- Новый класс: `Like` (поле `type` для определения содержимого).
- Изменено название пакета с `status` на `account` ([195](https://github.com/MarshalX/yandex-music-api/issues/195)).
- **Исправлено выбрасываемое исключение при таймауте**:
- Прошлое исключение: `TimeoutError` (built-in).
- Новое исключение: `TimedOut` (`yandex_music.exceptions`).
- Удалены следующие файлы: `requirements.txt`, `requirements-dev.txt`,
`requirements-docs.txt`.

**Крупные изменения**

- **Добавлено обнаружение новых полей с просьбой сообщить о них ([216](https://github.com/MarshalX/yandex-music-api/issues/216))**.
- Добавлена проверка на неизвестные поля.
- Добавлен вывод отладочной информации в виде warning'a.
- Добавлен шаблон issue для отправки логов.
- Добавлено поле `type` для класса `SearchResult` для определения типа результата поиска по объекту.
- **Добавлены настройки пользователя ([195](https://github.com/MarshalX/yandex-music-api/issues/195))**:
- Добавлен класс `UserSettings`.
- Добавлен метод для получения своих настроек (`account_settings`).
- Добавлен метод для получения настроек другого пользователя (`users_settings`).
- Добавлен метод для изменения настроек (`account_settings_set`).
- **Добавлен возможность получить похожие треки ([197](https://github.com/MarshalX/yandex-music-api/issues/197))**:
- Добавлен класс `TracksSimilar` с полями трека и списка похожих треков.
- Добавлен метод для получения похожих треков (`tracks_similar`).
- **Добавлены шоты от Алисы ([185](https://github.com/MarshalX/yandex-music-api/issues/185))**:
- Добавлен метод `after_track` в класс `Client` для получения контента для воспроизведения после трека (реклама, шот).
- Добавлены методы для загрузки обложки и аудиоверсии шота.
- **Добавлены новые классы**:
- `Shot`
- `ShotData`
- `ShotEvent`
- `ShotType`
- Добавлен метод для изменения видимости плейлиста ([179](https://github.com/MarshalX/yandex-music-api/issues/179)).
- **Добавлена поддержка Яндекс.Радио ([20](https://github.com/MarshalX/yandex-music-api/issues/20))**:
- Исправлена отправка фидбека.
- Написана инструкция по использованию (в доке к методу).
- Добавлен аргумент для перехода по цепочке треков.
- Добавлен метод для изменения настроек станции.

**Незначительные изменения и/или исправления**

- Убрано дублирование информации в документации ([247](https://github.com/MarshalX/yandex-music-api/issues/247)).
- Добавлены новые поля в класс `Track`: `version`, `remember_position` ([238](https://github.com/MarshalX/yandex-music-api/issues/238)).
- Добавлено исключение `InvalidBitrate` при попытке загрузить недопустимый трек по критериям (кодек, битрейт).
- Исправлено получение прямой ссылки на файл с кодеком AAC ([237](https://github.com/MarshalX/yandex-music-api/issues/237), [#25](https://github.com/MarshalX/yandex-music-api/issues/25)).
- Исправлено получение плейлиста с Алисой в лендинге ([185](https://github.com/MarshalX/yandex-music-api/issues/185)).
- Исправлено название поля с ссылкой на источник в классе `Description` (с `url` на `uri`).
- Исправлена десериализация несуществующего исполнителя.
- Добавлено поле `version` в класс `Album` ([178](https://github.com/MarshalX/yandex-music-api/issues/178)).
- Поле `picture` класса `Vinyl` теперь опциональное.
- Поле `week` класса `Ratings` теперь опциональное.
- Поле `product_id` класса `AutoRenewable` теперь опциональное ([182](https://github.com/MarshalX/yandex-music-api/issues/182)).
- Правки замечаний по codacy.

24.12.2023

* Добавлена поддержка Python 3.12 by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/628
* Добавлен fallback до `None` или пустого списка при данных неправильного типа by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/612
* Обновлён HTTP заголовок версии приложения by glebliutsko in https://github.com/MarshalX/yandex-music-api/pull/592 and MarshalX in https://github.com/MarshalX/yandex-music-api/pull/635
* Исправлен метод `fetch_lyrics_async` by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/627
* Исправлен тип поля `items_uri` в классе `Cover` by Rirusha in https://github.com/MarshalX/yandex-music-api/pull/603
* Исправлена аннотация типа `de_list` и тесты на пустой список by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/612

Ведение проекта:
* Переезд на `ruff` и `ruff format` by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/625 and https://github.com/MarshalX/yandex-music-api/pull/632
* Добавлен GitHub Actions Workflow для проверки актуальности генерируемого кода by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/624
* Упрощены GitHub Actions Workflow by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/623
* Удалено использование dev ветки by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/622
* Улучшены аннотации типов by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/626
* Исправление ошибок в `README` by json1c in https://github.com/MarshalX/yandex-music-api/pull/599 and MarshalX in https://github.com/MarshalX/yandex-music-api/pull/629
* Обновлена структура документации by MarshalX in https://github.com/MarshalX/yandex-music-api/pull/633

23.04.2023

**Переломные изменения**

При работе над [547](https://github.com/MarshalX/yandex-music-api/issues/547) и
[550](https://github.com/MarshalX/yandex-music-api/issues/550)
были удалены `*args` параметры, у методов класса `Client`, которые не имели никакого эффекта.
Передать через позиционные аргументы что-то в конечный запрос не было возможно.
Удаление данной конструкции **могло** затронуть код в котором ошибочно передавались лишние аргументы.
При корректном использовании библиотеки новая версия полностью совместима со старым кодом.

**Крупные изменения**

- Добавлена поддержка Python 3.11.
- В модели добавлены методы `download_bytes` и `download_bytes_async`, для получения файлов в виде байтов ([539](https://github.com/MarshalX/yandex-music-api/issues/539)).
- Добавлен новый метод получения текста и синхронного текста треков ([568](https://github.com/MarshalX/yandex-music-api/pull/568)).
- Добавлена возможность задать `timeout` по умолчанию для `Client` ([362](https://github.com/MarshalX/yandex-music-api/issues/362)).
- Использование настройки языка клиента во всех методах ([554](https://github.com/MarshalX/yandex-music-api/issues/554)).
- Добавлено поле `preview_description` классу `GeneratedPlaylist`.
- Добавлены поля `pretrial_active` и `userhash` классу `Status`.
- Добавлено поле `had_any_subscription` классу `Subscription`.
- Добавлено поле `child` классу `Account`.
- Добавлены новые поля `up_title`, `rup_description`, `custom_name` классу `StationResult`.
- Добавлены новые модели: `CustomWave`, `R128`, `LyricsInfo`.
- Классу `Track` добавлены новые поля: `track_source`, `available_for_options`, `r128`, `lyrics_info`, `track_sharing_flag`.
- Классу `TrackShort` добавлены новые поля: `original_index`.
- Классу `Playlist` добавлены новые поля: `custom_wave`, `pager`.
- Классу `Album` добавлены новые поля: `available_for_options`.
- Поле `cover_white` класса `MixLink` теперь опциональное.

**Незначительные изменения и/или исправления**

- Добавлен генератор Camel Case псевдонимов для методов ([542](https://github.com/MarshalX/yandex-music-api/issues/542)).
- Добавлен Makefile с сокращениями удобными при разработке библиотеки.
- Добавлено отображение модуля при нахождении неизвестного поля.
- Добавлена поддержка MD файлов для документации.
- Добавлена страница в документацию по получению токена.
- Добавлены примеры в документацию.
- Переделана структура и обновлена документации.
- Исправлен запуск генератора async клиента на Windows.
- Исправлен метод `fetch_tracks_async` у класса `Playlist`.
- Исправлены type hints у декоратора `log`.
- Исправлены type hints для `SearchResult` в классе `Search`.
- Исправлено отображение название класса в `report_unknown_fields_callback`.
- Исправлены методы-сокращения `like` и `dislike` класса `Playlist` ([516](https://github.com/MarshalX/yandex-music-api/pull/516)).

23.02.2022

**Поддержка asyncio и модели на dataclasses**

**Переломные изменения**

- Убрана поддержка `Python 3.6`.
- Удалено получение авторизационного токена по логину и паролю (метод `from_credentials` класса `Client`).
- Удалена возможность задать свой обработчик на полученные неизвестные поля от API (аргумент `report_new_fields_callback` конструктора класса `Client`.
- Удалён аргумент `fetch_account_status` из конструктора класса `Client`. Теперь необходимо вызывать метод `init` для получения ID аккаунта который будет использоваться в последующих запросах. В противном случае передача `user_id` при вызове многих методов класса `Client` становится обязательной.
- Исключение `BadRequest` переименовано в `BadRequestError`.
- Исключение `Unauthorized` переименовано в `UnauthorizedError`.
- Исключение `InvalidBitrate` переименовано в `InvalidBitrateError`.
- Исключение `TimedOut` переименовано в `TimedOutError`.
- Свойство `result` класса `Response` удалено. Вместо него добавлен метод `get_result`.
- Свойство `error` класса `Response` удалено. Вместо него добавлен метоl `get_error`.
- В JSON представлении моделей к полям, чьё имя совпадает с именем стандартных функций, больше не добавляется нижнее подчеркивание в конец (пример: `id`, а не `id_`; `max`, а не `max_`). Теперь нижнее подчеркивание добавляется только к зарезервированным словам (пример: `from` будет `from_`).

**Крупные изменения**

- Добавлена асинхронная версия клиента и всех методов-сокращений (класс `ClientAsync`).
- Добавлено новое исключение `NotFoundError` (наследник `NetworkError`). Будет сгенерировано при получении статус кода 404.
- Проект больше не использует `pipenv`.
- Зависимости проекта больше не требуют конкретных версий.
- Для генерации исходных файлов `Sphinx` теперь используется `sphinx-apidoc`.

**Незначительные изменения и/или исправления**

- Исправлена обработка серверных ошибок которые вернулись в отличном от JSON формате.
- Исправлена обработка серверных ошибок метода `search` класса `Client`.
- Предупреждения о пришедших неизвестных полях от API отключены по умолчанию.
- Используется английская локализация `Sphinx`.
- Изменена тема документации.

10.11.2019

**Переломные изменения**

- Практически у всех классов был обновлён список полей участвующих при сравнении объектов.
- Если в атрибутах для сравнения объектов присутствуют списки, то они будут преобразованы к frozenset.
- Убрано конвертирование даты из строки в объект. Теперь все даты представлены строками в ISO формате.
- Классы `AlbumSearchResult`, `ArtistSearchResult`, `PlaylistSearchResult`, `TrackSearchResult`, `VideoSearchResult` были объединены в один – `SearchResult`.

**Крупные изменения**

- Добавлен метод получения треков исполнителя ([123](https://github.com/MarshalX/yandex-music-api/pull/123)).
- Добавлены классы-обёртки над пагинацией (`Pager`) и списка треков артиста (`ArtistsTracks`).
- Добавлено **554** unit-теста для всех классов-обёрток над объектами API.
- Добавлен codecov и workflows для GitHub Actions.

**Незначительные изменения и/или исправления**

- Поле `cover_uri` класса `Album` теперь опциональное.
- Поле `region` у класса `Account` теперь не обязательное.
- Исправлен баг в `.to_dict()` методе, связанный с десериализацией объектов списков и словарей.
- Исправлен баг в `.to_dict()` методе, связанный с не рекурсивной десериализацией.
- Исправлена десериализация `similar_artists` в `BriefInfo`.
- Исправлен баг с десериализацией `artist` в классе `ArtistEvent`.
- Исправлен баг десериализации списка альбомов и артистов у класса `Track` ([122](https://github.com/MarshalX/yandex-music-api/pull/122)).
- Исправлена загрузка обложки у трека.
- Исправлены сравнения объектов.

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.