Ytmusicapi

Latest version: v1.7.3

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

Scan your dependencies

Page 10 of 13

0.12.0

Features ✨
---------
- `get_lyrics`: Thanks to alexmercerind we now have `get_lyrics`, which returns the lyrics for a given song. To retrieve the required `browseId`, call `get_watch_playlist` to get the corresponding


- `edit_song_library_status`: Adding songs to library is now possible. YouTube Music recently separated this feature from the Like Button for individual songs. You can now add or remove songs from your library by passing `feedbackTokens`, which are returned by endpoints that return songs (`search`,`get_playlist`,`get_library_songs`,`get_album`)

Changes ⚒
-----------
- **BREAKING** `get_watch_playlist` no longer directly returns a list of tracks. Instead, a dictionary is now returned with a `tracks` key containing the same data it returned before. This change was made to provide additional data returned by the next endpoint, which can now be used with `get_lyrics`
- `get_song` result now has a category field (thanks maraid )

Fixes 🐞
---------
- `search` results parsing was broken by a YouTube Music update on December 16. 0.12.0 fixes any errors introduced by this update
- `get_liked_songs` now returns the correct `trackCount` (previously erroneously in the `duration` field)
- artist results returned by `search` now have a `browseId` again
- `get_artist` works again with channel IDs returned by `get_library_artists` (future plans include a separate endpoint to list the songs in the library by a specific artist, a recently introduced YouTube Music feature)

0.11.0

Features ✨
---------
- support continuations for `search` and `search_uploads` with new `limit` parameter (95, thanks natumbri )
- add option to ignore spelling correction for `search` (91, thanks osum4est )
- added sort order option to library functions `get_library_songs`, `get_library_albums`, `get_library_artists`, `get_library_subscriptions`, `get_library_upload_songs`, `get_library_upload_albums`, `get_library_upload_artists` (102, thanks ide-an )
- new `get_streaming_data` call to get authenticated AAC stream data for subscribed users (108, thanks corrmaan )

Fixes 🐞
---------
- Small documentation fix for `get_library_artists`

0.10.2

Features ✨
---------
- added isAvailable flag for songs in playlists (thanks czifumasa )
- added duration for uploaded items

Changes 🛠
---------
- The origin header is now used instead of x-origin. This should not break existing setups
- 3PAPISID is now used instead of SAPISID for authorization, assuming that they are always equal. If not, please create an issue
- added X-Goog-AuthUser to required headers (for users with multiple Google accounts)

Fixes 🐞
---------
- fixed uploads search (server-side changes)
- updated default headers to fix get_artist_albums and get_user_playlists for non-authenticated users
- remove_playlist_items: invalid items are now removed from the provided list
- fixed possible key error in get_continuations if YouTube does not provide data as requested

0.10.1

Changes ⚒
-----------
- **potentially breaking**: changed `get_library_albums` returned artists key to dict with name/id

Fixes 🐞
---------
- update `get_library_albums` parsing to new YT Web display format - the values now correspond to the keys
- `get_playlist`: parse setVideoId for unplayable items (allows removing unplayable items from playlists)

0.10.0

Features ✨
---------
- validated requests are now available for ``get_library_songs`` (52, thanks czifumasa ). This opt-in behavior allows requests to be repeated up to 3 times since the API is often unreliable and provides less than the expected 25 items
- ``search`` now supports an "uploads" filter to search your uploads
- added support for Python's with statements (alexmercerind). Usage:
python
from ytmusicapi import YTMusic

with YTMusic() as ytmusic:
print(ytmusic.search('NoCopyrightSounds'))

- (since 0.9.2) new method ``remove_history_items`` allows removing items from history
- (since 0.9.2) ``add_playlist_items`` now supports source playlists, duplicate check

Fixes 🐞
---------
- ``get_library_songs``, ``get_library_upload_songs``, ``get_library_artists`` now return an empty list if the library is empty (instead of an error)
- fixed an error that would occur when continuation_contents were missing from a continuation (sometimes occurs for ``get_library_songs``)
- unauthenticated requests to ``get_album`` now always contain all tracks (75, thanks alexmercerind )
- using ``upload_song`` no longer pollutes the YTMusic instance headers - it should be fine now to reuse the instance after uploading a song (79)
- **potentially breaking**: fixed ``get_watch_playlist``, which was broken by server-side lyrics update

0.9.2

Features ✨
---------
- ``add_playlist_items`` now supports source playlists, duplicate check
- new method ``remove_history_items``: Remove items from your account's play history (must be retrieved with ``get_history`` before)

Fixes 🐞
---------
- Fix ``watch_playlist`` byline argument - broken by YouTube Music update (54)
- Fix ``get_song`` if release/production missing
- Local setup fixed on MacOS (en_US.UTF-8)
- lowercase is used when parsing headers for better compability with users copying headers from Chromium

Page 10 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.