calliope.musicbrainz
¶
Access data from Musicbrainz.
See also: cpe musicbrainz command.
This module wraps the musicbrainzngs library.
Authentication¶
Musicbrainz access requires that you set a User Agent string. A default is set
by the MusicbrainzContext
object which can be overridden using its
config.
Caching¶
Caching of data is handled using the calliope.cache
module.
Submodules¶
Package Contents¶
Classes¶
Configuration for Musicbrainz APIs. |
Functions¶
|
Annotate each item in a playlist with metadata from Musicbrainz. |
|
Resolve a cover image using the Cover Art API. |
Attributes¶
- calliope.musicbrainz.PlaylistItem¶
- class calliope.musicbrainz.MusicbrainzContext(app=None, version=None, contact=None)¶
Configuration for Musicbrainz APIs.
- Parameters:
app (*) – App name
version (*) – API version
contact (*) – Contact URL
These are passed as the user agent to the musicbrainz API.
- calliope.musicbrainz.annotate(context, playlist, include_patterns, select_fun=None, update=False)¶
Annotate each item in a playlist with metadata from Musicbrainz.
The
include_patterns
parameter controls what subqueries are run, via the MusicBrainz include query parameter.This parameter takes keys like areas or url-rels which cause more data to be fetched. MusicBrainz has different resource types, while in Calliope everything is a
playlist item
, so within Calliope we specify keys astypename.key
. These are examples of different include key fullnames:artist.areas
artist.url-rels
recording.url-rels
In
include_patterns
you can pass literal key names, and you can use*
as a wildcard. For example, you can get allurl-rels
information with*.url-rels
, and all info about an artist withartist.*
.For reference documentation of the include parameter, see: <https://musicbrainz.org/doc/MusicBrainz_API#Subqueries>.
Use
calliope.includes.all_include_key_fullnames()
to retrieve the full list of include keys.- Parameters:
context (context.MusicbrainzContext) –
playlist (calliope.playlist.Playlist) –
include_patterns ([str]) –
- calliope.musicbrainz.resolve_image(context, playlist, max_size=250)¶
Resolve a cover image using the Cover Art API.
See https://musicbrainz.org/doc/Cover_Art_Archive/API for more info.
- Parameters:
context (context.MusicbrainzContext) –
playlist (calliope.playlist.Playlist) –
max_size (int) –