Releases: sigma67/ytmusicapi
v0.8.0
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 todelete_upload_entity
to reflect new behavior get_uploaded_songs
now returns ids for uploaded song artist/album, orNone
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 parameterheaders_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
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 parametersedit_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 songsget_playlist
no longer throws an error if playlist has no description (thanks @hematogender )
v0.7.0
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
andget_album
:album
dictionary keys are now a dictionary withname
andid
. Previously the keys only contained the name stringartists
dictionary keys now contain a list of artist dictionaries, each with the artist's name and id. Previously theartist
key only contained the name string of the first artist
-
BREAKING
get_uploaded_songs
renamed toget_library_upload_songs
-
BREAKING
get_playlist_items
renamed toget_playlist
, now also returns playlist metadata (id, privacy, title, description, track count) -
BREAKING
get_playlists
renamed toget_library_playlists
to be consistent with our library calls, and to avoid confusion withget_playlist
-
get_album
also returns the associated playlistId, durationMs, trackCount -
default limits for
get_playlist_items
andget_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
v0.6.0
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
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
v0.5.0
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