betty.plugin.discovery module#

Plugin discovery.

final class betty.plugin.discovery.PluginDiscoverer#

Bases: Generic

Discover plugin definitions of a specific plugin type.

__init__(services: ServiceLevel, plugin_type: builtins.type[PluginDefinitionT], plugin_overrides: Iterable[ResolvableDiscovery[PluginDefinition]] | None = None, /)#
async get(key: ResolvablePluginId) PluginDefinitionT#

Get a plugin by its ID.

async ids() Iterable[MachineName]#

Iterate over the IDs of the available plugins.

type: Final[type[PluginDefinitionT]]#

The plugin type.

async betty.plugin.discovery.discover(services: ServiceLevel, *discoveries: ResolvableDiscovery) Iterable#

Discover plugins definitions.