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 the- frontendand- backendregistry 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: - ExtensionError- Returns: - 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 the- local:librarykey to allow other extensions to register library providers for- Mopidy-Localto use. Extensions should namespace custom keys with the extension’s- ext_name, e.g.- local:fooor- http:bar.