plyr.PROVIDERS contains a nested dict modelling all compiled in fetchers and providers.
'albumlist': { # The name of this fetcher
'required' : ('artist'), # A list of required properties
'optional' : (), # A list of properties that are optional
'provider' : [{ # A list of providers this fetcher can use
'key' : 'm', # one-char identifier of this provider (rarely used)
'name' : 'musicbrainz', # Full name of this provider
'quality' : 95, # subjective quality (0/100)
'speed' : 95 # subjective speed (0/100)
},
{
... next_provider ...
}]
},
'lyrics': {
... next_fetcher ...
}
You can use this for example to get a list of all fetchers:
list(plyr.PROVIDERS.keys())
You get the idea. Use itertools and friends to get the data you want in a oneliner.
Note
This dictionary gets built on import. Different version of libglyr may deliver different providers.