Plex: Add extended recommendations with "Mixes For You" support#3736
Conversation
|
I will have a look at this PR later this week. Have you had a chance to test the performance of this feature @ajacobson ? |
82708d4 to
6effda2
Compare
|
@anatosun Any update on this one? |
|
It looks good and seems to work on my side. The only thing that makes me a bit hesitant is the raw JSON request + manual parsing for the Mixes. I'm wondering why plexapi doesn't handle music.mixes items properly. Have you (or anyone) opened an issue upstream about this? It might be worth a quick upstream improvement so we don't have to maintain this workaround long-term. |
|
@ajacobson Can you answer the question above? |
|
I agree an upstream plexapi improvement would be the right long-term fix. I looked into this while building the PR, but the scope was larger than I wanted to take on here. plexapi’s hub parser currently materializes hub items through its registered object factory, and the "Mixes For You" hub returns |
|
@anatosun What are your thoughts now on this one? |
|
I'll take a look at making the upstream changes to plexapi. |
|
I've opened the upstream plexapi PR: pushingkarmaorg/python-plexapi#1621 It adds the two pieces plexapi was missing for these items:
Validated against a live PMS (mixes parse natively as Once that's merged and released, the manual parsing here collapses to |
4966456 to
688044c
Compare
|
The raw-JSON workaround is gone as of 688044c — mixes now parse through plexapi's normal Remaining work, planned as a small follow-up PR rather than here:
|
|
Solid work! Thanks for implementing this upstream :) |
@anatosun The code looks good, is this good to merge? |
MarvinSchenkel
left a comment
There was a problem hiding this comment.
Thanks @ajacobson , looks good 👍
|
@ajacobson can you also raise a PR against the BETA branch of the docs with any changes needed for the Plex page |
|
Docs PR is up against |

I'm a heavy user of Plexamp and using the Music Assistant Plex integration I noticed that a lot of the default recommendations are not available in Music Assistant. Specifically this adds Mixes For You (personalized mixes Plex generates from your listening history), "On This Day" anniversary releases, and shortcuts to library playlists — matching the hub set the official Plex clients show on their home screens.
Summary
mix:item prefix distinguishes mix playlists from regular ones, following the existingcollection:convention.Notes
This feature is default-enabled, but the toggle lives in advanced config for anyone who wants the narrower, pre-existing hub set.
Why the raw JSON fetch for mixes?
plexapi can't currently materialize Mixes For You hub items — the
<Metadata>type isn't in itsPLEXOBJECTSregistry, so_buildItem()silently drops them andserver.hubs(...)returns an empty hub.The provider issues one JSON
GETagainst/hubs/sections/<key>for this hub and parses the response directly, routing token refresh through the existing helper. Registering the mix type upstream in plexapi is the right long-term fix but is out of scope here — once that lands, the raw fetch can be replaced with a plainserver.hubs()call.