denote.registry

Backend discovery, registration, and lazy loading.

Functions

clear_registry()

Clear all registered backends.

get_backend(name)

Get a backend's config and lazily-loaded adapter.

get_config(name)

Get a backend's config without loading its adapter.

get_default_backend(task)

Return the default backend name for a given task.

list_backends([task])

List registered backends, optionally filtered by task.

register_backend(name, config[, adapter])

Register a backend (for third-party plugins).

denote.registry.clear_registry()[source]

Clear all registered backends. Useful for testing.

denote.registry.get_backend(name)[source]

Get a backend’s config and lazily-loaded adapter.

Return type:

dict

Returns:

Dict with ‘config’ and ‘adapter’ keys.

denote.registry.get_config(name)[source]

Get a backend’s config without loading its adapter.

Return type:

dict

denote.registry.get_default_backend(task)[source]

Return the default backend name for a given task.

Looks for backends with ‘default_for’ containing the task. Falls back to the first registered backend for that task.

Return type:

str

denote.registry.list_backends(task=None)[source]

List registered backends, optionally filtered by task.

Parameters:

task (Optional[str]) – If set, only return backends that support this task (‘transcribe’, ‘pitch’, ‘chords’, ‘beats’, ‘separate’).

Return type:

List[str]

Returns:

Sorted list of backend names.

denote.registry.register_backend(name, config, adapter=None)[source]

Register a backend (for third-party plugins).

Parameters:
  • name (str) – Unique backend identifier.

  • config (dict) – BACKEND_CONFIG dict with at minimum ‘name’ and ‘tasks’.

  • adapter (Any) – Optional pre-instantiated adapter. If None, will be loaded lazily from the module path if available.