mopidy.ext – Extension API¶
If you want to learn how to make Mopidy extensions, read Extension development.
-
class
mopidy.ext.Extension[source]¶ Base class for Mopidy extensions
-
dist_name= None¶ The extension’s distribution name, as registered on PyPI
Example:
Mopidy-Soundspot
-
ext_name= None¶ The extension’s short name, as used in setup.py and as config section name
Example:
soundspot
-
classmethod
get_cache_dir(config)[source]¶ Get or create cache directory for the extension.
Use this directory to cache data that can safely be thrown away.
Parameters: config – the Mopidy config object Returns: string
-
get_command()[source]¶ Command to expose to command line users running
mopidy.Returns: Instance of a Commandclass.
-
classmethod
get_config_dir(config)[source]¶ Get or create configuration directory for the extension.
Parameters: config – the Mopidy config object Returns: string
-
get_config_schema()[source]¶ The extension’s config validation schema
Returns: ConfigSchema
-
classmethod
get_data_dir(config)[source]¶ Get or create data directory for the extension.
Use this directory to store data that should be persistent.
Parameters: config – the Mopidy config object Returns: string
-
get_default_config()[source]¶ The extension’s default config as a bytestring
Returns: bytes or unicode
-
setup(registry)[source]¶ Register the extension’s components in the extension
Registry.For example, to register a backend:
def setup(self, registry): from .backend import SoundspotBackend registry.add('backend', SoundspotBackend)
See
Registryfor a list of registry keys with a special meaning. Mopidy will instantiate and start any classes registered under thefrontendandbackendregistry keys.This method can also be used for other setup tasks not involving the extension registry.
Parameters: registry ( Registry) – the extension registry
-
validate_environment()[source]¶ Checks if the extension can run in the current environment.
Dependencies described by
setup.pyare checked by Mopidy, so you should not check their presence here.If a problem is found, raise
ExtensionErrorwith a message explaining the issue.Raises: ExtensionErrorReturns: None
-
version= None¶ The extension’s version
Should match the
__version__attribute on the extension’s main Python module and the version registered on PyPI.
-
-
class
mopidy.ext.ExtensionData(extension, entry_point, config_schema, config_defaults, command)¶ -
command¶ Alias for field number 4
-
config_defaults¶ Alias for field number 3
-
config_schema¶ Alias for field number 2
-
entry_point¶ Alias for field number 1
-
extension¶ Alias for field number 0
-
-
class
mopidy.ext.Registry[source]¶ Registry of components provided by Mopidy extensions.
Passed to the
setup()method of all extensions. The registry can be used like a dict of string keys and lists.Some keys have a special meaning, including, but not limited to:
backendis used for Mopidy backend classes.frontendis used for Mopidy frontend classes.local:libraryis used for Mopidy-Local libraries.
Extensions can use the registry for allow other to extend the extension itself. For example the
Mopidy-Localuse thelocal:librarykey to allow other extensions to register library providers forMopidy-Localto use. Extensions should namespace custom keys with the extension’sext_name, e.g.local:fooorhttp:bar.