Skip to content

Releases: sigma67/ytmusicapi

v0.8.0

31 May 21:31
Compare
Choose a tag to compare

Features ✨

  • Support for getting private artists and albums: get_library_upload_artist, get_library_upload_album

  • Like status is now reported for tracks, when it is provided by YouTube Music. This includes the following methods:

    • get_history, get_library_songs, get_playlist
    • get_artist, get_album
    • get_library_upload_songs, get_library_upload_artist, get_library_upload_album
  • Thumbnails are now provided for tracks, albums and artists where available. This applies to the same methods as for like status above and additionally

    • search
    • get_library_upload_artists, get_library_upload_albums
  • collaborative playlists are now supported (thanks @nforro )

  • delete uploaded albums in addition to individual songs with delete_upload_entity

Changes ⚒

  • BREAKING delete_uploaded_song renamed to delete_upload_entity to reflect new behavior
  • get_uploaded_songs now returns ids for uploaded song artist/album, or None if not available
  • song and view counts are now returned as int (get_artist, get_playlist)
  • raw headers can be passed as a string with linebreaks to the setup function with the new optional parameter headers_raw

Fixes 🐞

  • Fix key error for get_artist caused by server-side removal of video title link
  • Fix get_artist for artists without description or with few songs
  • Fix get_playlist for playlists with more than 1,000 songs
  • Fixed some errors for unplayable playlist items

v0.7.1

18 May 16:21
Compare
Choose a tag to compare

Some quality of life features and fixes for playlist interaction are featured in this minor release.

Features ✨

  • create_playlist supports video_ids and source_playlist parameters
  • edit_playlist allows moving playlist items (thanks @nforro )
  • edit_playlist allows adding a playlist to another playlist

Fixes 🐞

  • create_playlist now returns the full response if there was an error (i.e. the quota may be exhausted, check #19)
  • get_playlist no longer returns deleted songs
  • get_playlist no longer throws an error if playlist has no description (thanks @hematogender )

v0.7.0

03 May 10:05
Compare
Choose a tag to compare

This release includes many new features, but also some breaking changes for existing functions. Some functions were renamed, so make sure to update your programs.

Features ✨

  • add user id parameter to constructor to allow using brand accounts

  • add subscription methods

    • add_subscription
    • remove_subscription
    • rate_playlist (also works with albums)
    • subscribe_artists
    • unsubscribe_artists
  • add library methods

    • get_library_artists
    • get_library_albums
    • get_library_songs
    • get_library_subscriptions
    • get_library_upload_artists
    • get_library_upload_albums

For all features, check out the documentation.

Changes ⚒

  • BREAKING changes to get_playlist_items, search and get_album:

    • album dictionary keys are now a dictionary with name and id. Previously the keys only contained the name string
    • artists dictionary keys now contain a list of artist dictionaries, each with the artist's name and id. Previously the artist key only contained the name string of the first artist
  • BREAKING get_uploaded_songs renamed to get_library_upload_songs

  • BREAKING get_playlist_items renamed to get_playlist, now also returns playlist metadata (id, privacy, title, description, track count)

  • BREAKING get_playlists renamed to get_library_playlists to be consistent with our library calls, and to avoid confusion with get_playlist

  • get_album also returns the associated playlistId, durationMs, trackCount

  • default limits for get_playlist_items and get_liked_songs changed to 100 from 1000

  • Added type hints to all functions

Fixes 🐞

  • Fix song duration for default search
  • Fix get_playlist_items if playlist has no song count
  • Fix issue in get_upload_song if requested while song processing

v0.6.1

21 Apr 11:06
Compare
Choose a tag to compare

Changed

  • Return song count for each playlist in get_playlists
  • Fix get_playlists and get_uploaded_songs for some users
  • Fix get_history duration parsing

v0.6.0

16 Apr 22:53
Compare
Choose a tag to compare

New Features

  • get_artist(channelId)
    returns a dictionary with lists of songs, albums, singles, videos on the artist page and info to get more songs/albums if available (i.e. the playlistId)

  • get_artist_albums(channelId, params)
    gets singles or albums by an artist. the required params are provided by get_artist

  • get_album(browseId)
    gets all songs for an album

Changes

  • Only a cookie is now needed for authentication. Other headers are left out or dynamically generated
  • Encode filename with UTF-8 before upload
  • Fix playlist items error when artist/album missing
  • Add filetype check for uploads
  • Breaking: setup() now requires a filepath parameter, returns a credential string unless storage filepath is provided
  • YTMusic() now accepts either a filepath or a JSON string: youtube_auth = YTMusic("<json_string>")

v0.5.2

12 Apr 18:48
Compare
Choose a tag to compare

Changes

  • Fix upload metadata and file types (fixes #1) - now metadata of uploaded files will be recognized by Google (picture, artist, etc). Additionally, flac, ogg and all other file types for Google should work
  • Fix setup header length check (setup should not return an error anymore)
  • Search edge case: sometimes contents is missing from API response (this is an issue on the YT Music side - now handled correctly by the API)

v0.5.1

27 Mar 11:42
Compare
Choose a tag to compare

Changes

  • Add authentication check to validate provided credentials
  • Remove need for X-Youtube-Identity-Token in credentials
  • Fix upload
  • Update docs

v0.5.0

23 Mar 18:55
Compare
Choose a tag to compare

Changes

  • New features: Add upload_song, get_uploaded_songs, delete_uploaded_song
  • Simplified setup with CLI tool to create headers_auth file
  • Moved tests to unittest
  • Removed print output for continuations in get_playlist_items
  • Fixed unplayable playlist item parsing

v0.4.3

09 Mar 14:24
Compare
Choose a tag to compare
  • Unplayable songs in playlists now correctly return videoId and setVideoId
  • Search is now compatible with accounts that have uploads

v0.4.2

29 Feb 22:50
Compare
Choose a tag to compare

Update docs