mirror of
https://github.com/sigma67/ytmusicapi.git
synced 2026-04-24 23:06:13 +03:00
[PR #878] fix: handle singleColumnBrowseResultsRenderer in addition to twoColumnBrowseResultsRenderer #784
Labels
No labels
a/b
bug
documentation
enhancement
good first issue
help wanted
invalid
pull-request
question
wontfix
yt-error
yt-update
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ytmusicapi#784
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/sigma67/ytmusicapi/pull/878
Author: @ethanmlam
Created: 2/22/2026
Status: 🔄 Open
Base:
main← Head:fix/handle-singlecolumn-renderer📝 Commits (1)
6cd51befix: handle singleColumnBrowseResultsRenderer in addition to twoColumnBrowseResultsRenderer📊 Changes
6 files changed (+88 additions, -15 deletions)
View changed files
📝
ytmusicapi/mixins/browsing.py(+13 -4)📝
ytmusicapi/mixins/playlists.py(+27 -5)📝
ytmusicapi/mixins/podcasts.py(+18 -3)📝
ytmusicapi/navigation.py(+14 -0)📝
ytmusicapi/parsers/albums.py(+4 -1)📝
ytmusicapi/parsers/playlists.py(+12 -2)📄 Description
YouTube Music now returns
singleColumnBrowseResultsRendererinstead oftwoColumnBrowseResultsRendererfor some users/endpoints (likely A/B testing).This causedKeyErrorexceptions inget_playlist(),get_liked_songs(),get_album(), and podcast-related functions.## Changes- navigation.py: Addedget_browse_renderer()helper function- mixins/playlists.py: Updatedget_playlist()to handle both formats- parsers/playlists.py: Updatedparse_playlist_header()andparse_audio_playlist()- parsers/albums.py: Updatedparse_album_header_2024()- mixins/browsing.py: Updatedget_album()- mixins/podcasts.py: Updatedget_podcast(),get_episode(), andget_episodes_playlist()## FixThe fix adds fallback logic to trytwoColumnBrowseResultsRendererfirst, thensingleColumnBrowseResultsRendererif the former is not present in the API response.Closes #616🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.