plugins/examples/coverartarchive-py/README.md
A Python example plugin that fetches album cover images from the Cover Art Archive API using the MusicBrainz Release MBID.
nd_get_album_images method of the MetadataAgent plugin interfacenot found if no MBID is provided or no images are foundcurl -Ls https://raw.githubusercontent.com/extism/python-pdk/main/install.sh | bash
Note:
extism-pyrequires Binaryen (wasm-merge,wasm-opt) to be installed.
From the plugins/examples directory:
make coverartarchive-py.ndp
Or directly:
extism-py plugin/__init__.py -o plugin.wasm
zip -j coverartarchive-py.ndp manifest.json plugin.wasm
Copy coverartarchive-py.ndp to your Navidrome plugins folder
Enable plugins in navidrome.toml:
[Plugins]
Enabled = true
Folder = "/path/to/plugins"
Add to your agents list:
Agents = "coverartarchive-py,spotify,lastfm"
Extract the wasm file and test:
unzip -p coverartarchive-py.ndp plugin.wasm > coverartarchive-py.wasm
extism call coverartarchive-py.wasm nd_get_album_images --wasi \
--input '{"name":"Dummy","artist":"Portishead","mbid":"76df3287-6cda-33eb-8e9a-044b5e15ffdd"}' \
--allow-host "coverartarchive.org" --allow-host "archive.org"
Album Image Request (nd_get_album_images): Receives album metadata including the MusicBrainz Release MBID.
API Query: Fetches cover art metadata from https://coverartarchive.org/release/{mbid}.
Response: Returns the front cover image URL if found.