Ytmusicapi

Latest version: v1.8.2

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

Scan your dependencies

Page 8 of 14

0.19.0

Features ✨
---------
- `search`: Support the new **library search** that was rolled out globally this week. For this purpose, a new `scope` parameter was introduced for `search`. It can take `uploads` or `library` values depending on the alternative search scope intended. Consequentially, `uploads` is no longer passed using the `filter` argument. The `filter` argument can be used without a scope (global YouTube Music catalogue search, as previously), or with the new library search. All existing filters work with the library search except the videos filter, as you cannot add videos to your library (only to liked playlist)
- `get_charts`: get latest chart data from YouTube Music. This further contributes to ytmusicapi's implementation of the Explore tab in YouTube Music, after the moods and genres implementation in 0.18.0. The function retrieves all data shown on the `/charts` page and takes a country code as parameter, or `ZZ` for global charts.

Changes βš’
-----------
- **BREAKING**: to improve consistency across the project, the key `artists` is now used whenever a list of artists with (name,id) dictionary is provided (instead of `artist`). This affects `get_album`, `get_library_upload_songs`, `get_library_upload_album`,`get_library_upload_artist`. See 215

Fixes 🐞
-----------
- `get_library_upload_albums`: a key in the data structure was changed in a recent YouTube update, the function should now work again without issue

0.18.0

Features ✨
---------
**Moods & genres** feature contributed by impliedchaos (205 , 210 ). See the two new methods below.
- `get_mood_categories`: Fetch β€œMoods & Genres” categories from YouTube Music. Results are clustered by category. Equivalent to what's shown here: https://music.youtube.com/moods_and_genres
- `get_mood_playlists`: Fetch the playlists offered for a specific mood/genre returned by `get_mood_categories`.

Fixes 🐞
-----------
- updated `setup` behavior to not include bad headers that might corrupt requests (199)

0.17.3

Fixes 🐞
-----------
- added `get_signatureTimestamp`: can be used to retrieve the current signatureTimestamp for correct streaming links from `get_song`. (thanks impliedchaos )

0.17.2

Fixes 🐞
-----------
- `get_song`: added optional `signatureTimestamp` parameter. This parameter is needed to get correct streaming links in the `streamingData` key. The correct value of this parameter changes daily. If not provided, a default value is used, which is usually correct but could be wrong for some hours late in the day. Therefore, if you notice issues with the streaming links, retrieve the `signatureTimestamp` from YouTube and provide it as a parameter. For more information on how to retrieve it, see here: https://github.com/sigma67/ytmusicapi/issues/196#issuecomment-846157100

Thanks to KoljaWindeler, impliedchaos and simo for helping debug this issue

0.17.1

Fixes 🐞
-----------
- `get_streaming_data` was merged into `get_song` (no longer available)
- `get_song` now uses a different YouTube Music endpoint due to a server side change. As a result, different data is returned. Please check the documentation [here](https://ytmusicapi.readthedocs.io/en/latest/reference.html#ytmusicapi.YTMusic.get_song)

0.17.0

Features ✨
---------
- `get_playlist_suggestions`: for playlists with less than 100 items, YouTube Music suggests additional songs to add to the playlist. You can now retrieve these suggestions with ytmusicapi by first calling `get_playlist`, and passing the `suggestions_token` to `get_playlist_suggestions`
- `search`: now supports the recently introduced featured_playlists, community_playlists filters

Changes βš’
-----------
- **POSSIBLY BREAKING** `setup` procedure has changed. Instead of taking only one or two headers from the user input, now most of the user headers are used for actual requests. This should hopefully make requests match browser requests more closely
- `init`: `x-goog-visitor-id` header is now retrieved dynamically on instantiation if it is not provided in the authentication headers. Therefore, to avoid an extra request on initialization, you should include the `x-goog-visitor-id` in your `headers_auth.json`. The purpose of this change was that previously a fixed id was used for the entire project, which would cause errors when that id was no longer recognized as valid by Google

Fixes 🐞
-----------
- `get_artist`, `get_user`: fail silently if playlistId or thumbnails are missing for video
- `get_library_artists`, `get_library_subscriptions`: fix error if artist thumbnail is missing
- `get_watch_playlist`: some tracks were wrapped and therefore missing in the returned results. this is now fixed
- `search`: make uploads search more error proof (193)
- `search`: fix missing duration for unavailable videos

Page 8 of 14

Β© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.