24.12.2023
None
или пустого списка при данных неправильного типа by @MarshalX in https://github.com/MarshalX/yandex-music-api/pull/612fetch_lyrics_async
by @MarshalX in https://github.com/MarshalX/yandex-music-api/pull/627items_uri
в классе Cover
by @Rirusha in https://github.com/MarshalX/yandex-music-api/pull/603de_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/632README
by @json1c in https://github.com/MarshalX/yandex-music-api/pull/599 and @MarshalX in https://github.com/MarshalX/yandex-music-api/pull/62923.04.2023
Переломные изменения
При работе над #547 и
#550
были удалены *args
параметры, у методов класса Client
, которые не имели никакого эффекта.
Передать через позиционные аргументы что-то в конечный запрос не было возможно.
Удаление данной конструкции могло затронуть код в котором ошибочно передавались лишние аргументы.
При корректном использовании библиотеки новая версия полностью совместима со старым кодом.
Крупные изменения
download_bytes
и download_bytes_async
, для получения файлов в виде байтов (#539).timeout
по умолчанию для Client
(#362).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
теперь опциональное.Незначительные изменения и/или исправления
fetch_tracks_async
у класса Playlist
.log
.SearchResult
в классе Search
.report_unknown_fields_callback
.like
и dislike
класса Playlist
(#516).23.02.2022
Поддержка asyncio и модели на dataclasses
Переломные изменения
Python 3.6
.from_credentials
класса Client
).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
.id
, а не id_
; max
, а не max_
). Теперь нижнее подчеркивание добавляется только к зарезервированным словам (пример: from
будет from_
).Крупные изменения
ClientAsync
).NotFoundError
(наследник NetworkError
). Будет сгенерировано при получении статус кода 404.pipenv
.Sphinx
теперь используется sphinx-apidoc
.Незначительные изменения и/или исправления
search
класса Client
.Sphinx
.06.02.2021
Стабильная версия библиотеки
Переломные изменения
error
класса Artist
теперь называется reason
.users_playlists
класса Client
теперь возвращает один объект плейлиста, когда был передан один kind
. При передаче списка в kind
вернётся список плейлистов (#318).labels
класса Album
теперь может содержать список из строк, а не только список объектов класса Label
.Крупные изменения
examples
.PlaylistRecommendations
.users_playlists_recommendations
).get_recommendations
классу Playlist
дляChartInfo
, ChartInfoMenu
,ChartInfoMenuItem
.chart
).TagResult
, Tag
.tags
).playlists_collective_join
).Context
, Queue
, QueueItem
.Client
: queues_list
, queue
,queue_update_position
, queue_create
.track_id
и from_
в класс TrackId
.JSON
пригодного для отправки в запросе на Яндекс API.Client
:
new_releases
– получение полного списка всех новых релизов.new_playlists
– получение полного списка всех новый плейлистов.podcasts
– получение подкаста с лендинга.download_cover_white
, download_cover_uri
в MixLink
.download_image
в Promotion
.artists_name
в Album
и Track
.fetch_track
, track_full_id
в TrackId
.fetch_tracks
в TracksList
.insert_track
, delete_tracks
, delete
в Playlist
.playlist_id
, fetch_playlist
в PlaylistId
.get_current_track
в Queue
.fetch_queue
в QueueItem
.next_page
, get_page
, prev_page
в Search
.decomposed
у Artist
(#10).__len__
для TracksList
(#380).__iter__
, __len__
и __getitem__
для классов представляющих список каких-либо объектов.fetch_tracks
классу Playlist
для получения треков плейлиста.get_url
классу Icon
для получения прямой ссылки на изображение.User
расширен для поддержки поля user_info
из Track
(поля full_name
, display_name
).LandingList
.RenewableRemainder
.Alert
.AlertButton
.StationData
.Brand
.Contest
.OpenGraphData
.NonAutoRenewable
.Operator
.Deactivation
.PoetryLoverMatch
.Deprecation
.plus
в Product
.non_auto_renewable_remainder
в Subscription
.og_image
в Artist
.meta_type
в Album
.advertisement
в Status
.best
в Track
.offer_id
и artist_ids
в Vinyl
.playlists
в BriefInfo
.is_custom
в Cover
.play_count
, recent
, chart
, track
в TrackShort
.url_part
, og_title
, image
, cover_without_text
, background_color
, text_color
, id_for_from
,similar_playlists
, last_owner_playlists
в Playlist
.bg_color
в Chart
.error
в Artist
.substituted
, matched_track
, can_publish
, state
, desired_visibility
, filename
, user_info
, meta_data
вTrack
.copyright_name
, copyright_cline
в Cover
.direct
в DownloadInfo
.cheapest
, title
, family_sub
, fb_image
, fb_name
,family
, intro_period_duration
, intro_price
, start_period_duration
, start_price
, licence_text_parts
в Product
.storage_dir
, duplicates
в Album
.subscribed
в ArtistEvent
.description
в GeneratedPlaylist
.genre
в Event
.show_in_regions
в Genre
.cover_uri
в MixLink
.og_description
, top_artist
в Playlist
.full_image_url
, mts_full_image_url
в Station
.coauthors
и recent_tracks
в Playlist
.regions
в User
.users
, podcasts
, podcast_episodes
, type_
, page
, per_page
в Search
.short_description
, description
, is_premiere
, is_banner
в Like
.master_info
в AutoRenewable
.station_data
и bar_below
в Status
.family_auto_renewable
в Subscription
.misspell_result
и misspell_original
в Search
.experiment
в класс Status
.operator
и non_auto_renewable
в Subscription
.text_color
, short_description
, description
, is_premiere
и is_banner
в Album
.hand_made_description
в Artist
.metrika_id
в Playlist
.og_image
в Tag
.url
в Lyrics
.number
, genre
в MetaData
.poetry_lover_matches
в Track
.contest
, dummy_description
, dummy_page_description
, dummy_cover
, dummy_rollover_cover
, og_data
, branding
в Playlist
.available_as_rbt
, lyrics_available
, remember_position
, albums
, duration_ms
, explicit
, start_date
, likes_count
, deprecation
в Album
.lyricist
, version
, composer
в MetaData
.last_releases
в BriefInfo
.ya_money_id
в Artist
(#351, #370).playlist_uuid
в Playlist
.sync_queue_enabled
в UserSettings
.background_video_uri
, short_description
, is_suitable_for_children
в Track
(#376).meta_type
, likes_count
в Album
(#386).deprecation
в Album
.available_regions
в Album
.type
, ready
в Playlist
.description
в Supplement
.Незначительные изменения и/или исправления
Добавлена опциональность следующим полям:
Исправлена десериализация подкастов, эпизодов подкастов и пользователей в лучшем результате поиска.
Исправлена десериализация альбомов. В зависимости от запроса содержимое лейблов может быть списком объектом или списком строк (в поиске).
Исправлен выбор настроек радио.
Исправлены ошибки в документации.
Протестирована работа на Python 3.9.
25.03.2020
Закончено документирование всех классов и основных методов!
Переломные изменения
ArtistsLikes
.AlbumsLikes
.PlaylistsLikes
.Like
(поле type
для определения содержимого).status
на account
(#195).TimeoutError
(built-in).TimedOut
(yandex_music.exceptions
).requirements.txt
, requirements-dev.txt
,
requirements-docs.txt
.Крупные изменения
type
для класса SearchResult
для определения типа результата поиска по объекту.UserSettings
.account_settings
).users_settings
).account_settings_set
).TracksSimilar
с полями трека и списка похожих треков.tracks_similar
).after_track
в класс Client
для получения контента для воспроизведения после трека (реклама, шот).Shot
ShotData
ShotEvent
ShotType
Незначительные изменения и/или исправления
Track
: version
, remember_position
(#238).InvalidBitrate
при попытке загрузить недопустимый трек по критериям (кодек, битрейт).Description
(с url
на uri
).version
в класс Album
(#178).picture
класса Vinyl
теперь опциональное.week
класса Ratings
теперь опциональное.product_id
класса AutoRenewable
теперь опциональное (#182).29.12.2019
Переломные изменения
account
переименовано в me
и теперь содержит объект Status
, вместо Account
(#162)._
на конце). Имена с нижними подчёркиваниями есть как при сериализации так и при десериализации (#168).Крупные изменения
Незначительные изменения и/или исправления
fetch_account_status
для опциональности получения информации об аккаунте при инициализации клиента (#162).de_json
и de_list
(#174).ujson
при наличии, обновлены зависимости (#161).importlib_metadata
для поддержки старых версий (в новой версии pytest
его больше не используют, в угоду importlib.metadata
#pytest-5537)) (#161).atomicwrites
, который используется pytest
теперь только на Windows
- #pytest-6148 (#161).timeout
аргумента в аргумент params
в следующих методах: artists
, albums
, playlists_list
(#120).01.12.2019
Переломные изменения
Artist
, Track
и Playlist
изменился перечень полей для генерации хеша.Крупные изменения
README
.README
:Search
(#83).artists_direct_albums
у Client
.get_albums
у Artist
.PlaylistAbsence
.Незначительные изменения и/или исправления
10.11.2019
Переломные изменения
AlbumSearchResult
, ArtistSearchResult
, PlaylistSearchResult
, TrackSearchResult
, VideoSearchResult
были объединены в один – SearchResult
.Крупные изменения
Pager
) и списка треков артиста (ArtistsTracks
).Незначительные изменения и/или исправления
cover_uri
класса Album
теперь опциональное.region
у класса Account
теперь не обязательное..to_dict()
методе, связанный с десериализацией объектов списков и словарей..to_dict()
методе, связанный с не рекурсивной десериализацией.similar_artists
в BriefInfo
.artist
в классе ArtistEvent
.Track
(#122).