betty.service.plugin package¶
Subpackages¶
Submodules¶
Module contents¶
Service plugin management.
- final class betty.service.plugin.PluginServiceInitializer¶
Bases:
ManagedLifeCycleThe plugin service initializer.
- __init__(services: ServiceLevel, service_provider: PluginServiceProvider, supported_plugins: SupportedPlugins = (), /)¶
- class betty.service.plugin.PluginServiceManager¶
Bases:
ServiceManager[ServiceProviderT,GetServiceT,GetServiceT,Callable,GetServiceT],GenericA plugin service manager.
- final add_init_plugins(service_provider: ServiceProviderT, /, *plugins: InitT | ResolvablePluginDefinition[PluginDefinitionT]) None¶
Add one or more plugins to initialize.
- final assert_plugins_initialized(service_provider: ServiceProviderT, /) None¶
Assert that the plugins have been initialized already for the given service provider.
- Raises:
- final assert_plugins_not_initialized(service_provider: ServiceProviderT, /) None¶
Assert that the plugins have not yet been initialized for the given service provider.
- Raises:
- property auto: bool¶
Whether to automatically initialize plugins that declare themselves able to be enabled automatically.
- final get_init_plugins(service_provider: ServiceProviderT, /) Iterable[InitT | ResolvablePluginDefinition[PluginDefinitionT]]¶
Get the initial plugins for the given service provider.
- final get_plugins(service_provider: ServiceProviderT, /) Sequence[InitT | ResolvablePluginDefinition[PluginDefinitionT]]¶
Get the initialized plugins.
- final async init_plugins(service_provider: ServiceProviderT, /, *plugins: InitT | ResolvablePluginDefinition[PluginDefinitionT]) None¶
Initialize the plugins.
- abstractmethod new_service(service_provider: ServiceProviderT, /) GetServiceT¶
Create the new service value for the given service provider.
- async prepare_plugins(service_provider: ServiceProviderT, /, *plugins: InitT | ResolvablePluginDefinition[PluginDefinitionT]) Iterable[InitT | ResolvablePluginDefinition[PluginDefinitionT]]¶
Prepare the init plugins before the service is initialized.
Perform actions such as validation or ordering here.
- require: Final[_PluginServiceRequirementGetter]¶
- resolve_init_plugin_id(plugin: InitT | ResolvablePluginDefinition[PluginDefinitionT], /) MachineName¶
Resolve a service plugin definition to its plugin ID.
- class betty.service.plugin.PluginServiceProvider¶
Bases:
ManagedLifeCycle,ServiceProviderA plugin service provider.
- __init__(*args: Any, services: ServiceLevel, supported_plugins: SupportedPlugins = (), **kwargs: Any)¶