Extensions

class subliminal.extensions.RegistrableExtensionManager(namespace, internal_extensions, **kwargs)[source]

:class:~stevedore.extensions.ExtensionManager` with support for registration.

It allows loading of internal extensions without setup and registering/unregistering additional extensions.

Loading is done in this order:

  • Entry point extensions
  • Internal extensions
  • Registered extensions
Parameters:
  • namespace (str) – namespace argument for :class:~stevedore.extensions.ExtensionManager`.
  • internal_extensions (list) – internal extensions to use with entry point syntax.
  • **kwargs – additional parameters for the :class:~stevedore.extensions.ExtensionManager` constructor.
registered_extensions = None

Registered extensions with entry point syntax

internal_extensions = None

Internal extensions with entry point syntax

list_entry_points()[source]

Return the list of entry points for this namespace.

The entry points are not actually loaded, their list is just read and returned.

register(entry_point)[source]

Register an extension

Parameters:entry_point (str) – extension to register (entry point syntax).
Raise:ValueError if already registered.
unregister(entry_point)[source]

Unregister a provider

Parameters:entry_point (str) – provider to unregister (entry point syntax).
subliminal.extensions.provider_manager = <subliminal.extensions.RegistrableExtensionManager object>

Provider manager

subliminal.extensions.refiner_manager = <subliminal.extensions.RegistrableExtensionManager object>

Refiner manager