soulsync/api
Broque Thomas 5bc5fbb662 Add MusicBrainz as a metadata source
Register MusicBrainz as a first-class metadata source alongside Deezer, iTunes, Spotify, Discogs, and Hydrabase. Expose the shared client through metadata services, add the settings option, and expand the MusicBrainz search adapter with source-compatible artist, album, track, and detail methods.

Carry MusicBrainz IDs through similar-artist discovery, recommended artists, artist map serialization, and personalized playlist selection. Update DB migrations and lookup filters so similar_artist_musicbrainz_id is preserved on older schemas and used for source requirements and library exclusion.

Normalize MusicBrainz album adapter output for import context and add regression coverage for registry mapping, typed album conversion, and similar-artist filtering. Verified by user with 120 focused tests passing.
2026-05-18 18:47:13 -07:00
..
__init__.py fix: add periodic cleanup timer for api/request in-memory store 2026-04-19 15:22:25 -07:00
auth.py fix: throttle auth last_used_at config writes 2026-04-19 15:22:24 -07:00
cache.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
discover.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
downloads.py Cin-6: Rename soulseek_client global → download_orchestrator 2026-05-04 23:23:32 -07:00
helpers.py Enrich the SoulSync API 2026-03-04 13:19:39 -08:00
library.py fix: eliminate double-query in track search 2026-04-19 15:22:24 -07:00
listenbrainz.py Full automation engine expansion with scheduling, triggers, actions, and UI polish 2026-03-05 15:13:32 -08:00
playlists.py Fix ruff F541 and B007 lint errors 2026-04-21 11:18:40 -07:00
profiles.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
request.py Cin-6: Rename soulseek_client global → download_orchestrator 2026-05-04 23:23:32 -07:00
retag.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
search.py Add module logger + surface silent exceptions in 7 logger-less files — 12 sites 2026-05-07 10:27:04 -07:00
serializers.py Add MusicBrainz as a metadata source 2026-05-18 18:47:13 -07:00
settings.py Encrypt sensitive config values at rest with Fernet — transparent migration, zero breaking changes 2026-03-12 09:25:25 -07:00
system.py Add module logger + surface silent exceptions in 7 logger-less files — 12 sites 2026-05-07 10:27:04 -07:00
watchlist.py Enrich the SoulSync API 2026-03-04 13:19:39 -08:00
wishlist.py Make wishlist respect configured providers 2026-04-30 07:41:22 +03:00