betty.plugin package#
Submodules#
Module contents#
The Plugin API.
Plugins allow third-party code (e.g. your own Python package) to add functionality to Betty.
- class betty.plugin.PluginDefinition#
Bases:
objectA plugin definition.
- __init__(plugin_id: ResolvableMachineName, *args: Any, auto: bool = False, requires: Requires = (), **kwargs: Any)#
- auto: Final[bool]#
Whether to enable this plugin automatically when its plugin type is used for a plugi. service.
- id: Final[MachineName]#
The plugin ID.
IDs are unique per plugin type:
A plugin repository MUST at most have a single plugin for any ID.
Different plugin repositories MAY each have a plugin with the same ID.
- requires: Final[Iterable[Requirement]]#
The plugin’s requirements.
- classmethod type() PluginTypeDefinition[Self]#
The plugin type definition.
- final class betty.plugin.PluginTypeDefinition#
Bases:
CountableHumanFacingDefinition,ClsDefinition,GenericA plugin type definition.
- __init__(plugin_type_id: ResolvableMachineName, *, label: ResolvableLocalizable, label_plural: ResolvableLocalizable, label_countable: CountableLocalizable, description: ResolvableLocalizable | None = None)#
- id: Final[MachineName]#
The plugin type ID.