Skip to content

Playlist abstract#79

Merged
pSpitzner merged 36 commits intomainfrom
playlist_abstract
Apr 8, 2026
Merged

Playlist abstract#79
pSpitzner merged 36 commits intomainfrom
playlist_abstract

Conversation

@semohr
Copy link
Copy Markdown
Contributor

@semohr semohr commented Apr 3, 2026

Refactor the playlist class hierarchy by renaming PlaylistCollection to Playlist and introducing dedicated abstractions for different playlist use cases (offline, remote-synced, multi-request remote).

Motivation
The previous PlaylistCollection class had grown to handle too many responsibilities:

  • Minimal playlist protocol (info, tracks, ids)
  • In-memory/offline playlists
  • Remote synchronization lifecycle
  • Multi-request API operations
    This refactoring separates these concerns into distinct classes with clearer roles.

New hierachy

TODOs:

  • Fix TODO comments in core/playlist.py
  • Migrate services to new format
  • Migrate examples
  • Migrate notebooks

closes #78
closes #62

@semohr semohr had a problem deploying to integration_tests April 3, 2026 15:08 — with GitHub Actions Failure
@semohr semohr had a problem deploying to integration_tests April 3, 2026 15:08 — with GitHub Actions Failure
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2026

Thank you for the PR! The changelog has not been updated, so here is a friendly reminder to check if you need to add an entry.

@semohr semohr had a problem deploying to integration_tests April 4, 2026 08:43 — with GitHub Actions Failure
@semohr semohr had a problem deploying to integration_tests April 4, 2026 08:43 — with GitHub Actions Failure
@semohr semohr force-pushed the playlist_abstract branch from 5ca7f5c to c22d921 Compare April 4, 2026 18:35
@semohr semohr had a problem deploying to integration_tests April 4, 2026 18:35 — with GitHub Actions Failure
@semohr semohr had a problem deploying to integration_tests April 4, 2026 18:35 — with GitHub Actions Failure
@semohr semohr force-pushed the playlist_abstract branch from c22d921 to f8ca416 Compare April 4, 2026 18:37
@semohr semohr had a problem deploying to integration_tests April 4, 2026 18:37 — with GitHub Actions Failure
@semohr semohr had a problem deploying to integration_tests April 4, 2026 18:37 — with GitHub Actions Failure
@semohr

This comment was marked as outdated.

@pSpitzner pSpitzner temporarily deployed to integration_tests April 7, 2026 20:32 — with GitHub Actions Inactive
@pSpitzner pSpitzner temporarily deployed to integration_tests April 7, 2026 20:35 — with GitHub Actions Inactive
@semohr semohr temporarily deployed to integration_tests April 8, 2026 08:21 — with GitHub Actions Inactive
@semohr semohr had a problem deploying to integration_tests April 8, 2026 08:21 — with GitHub Actions Failure
@semohr semohr marked this pull request as ready for review April 8, 2026 08:23
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

Thank you for the PR! The changelog has not been updated, so here is a friendly reminder to check if you need to add an entry.

@semohr semohr temporarily deployed to integration_tests April 8, 2026 08:29 — with GitHub Actions Inactive
@semohr semohr temporarily deployed to integration_tests April 8, 2026 08:29 — with GitHub Actions Inactive
@pSpitzner pSpitzner temporarily deployed to integration_tests April 8, 2026 17:02 — with GitHub Actions Inactive
@pSpitzner pSpitzner temporarily deployed to integration_tests April 8, 2026 17:02 — with GitHub Actions Inactive
@pSpitzner pSpitzner temporarily deployed to integration_tests April 8, 2026 17:07 — with GitHub Actions Inactive
@pSpitzner pSpitzner temporarily deployed to integration_tests April 8, 2026 17:23 — with GitHub Actions Inactive
@pSpitzner pSpitzner merged commit 37743e0 into main Apr 8, 2026
15 of 16 checks passed
@pSpitzner pSpitzner deleted the playlist_abstract branch April 8, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaylistAbstraction Rework Implement remote_upsert

2 participants