betty.project.extension package¶
Submodules¶
Module contents¶
Provide Betty’s extension API.
- class betty.project.extension.ConfigurableExtension[source]¶
Bases:
Extension
,Generic
[_ConfigurationT
],Configurable
[_ConfigurationT
]A configurable extension.
- exception betty.project.extension.CyclicDependencyError[source]¶
Bases:
ExtensionError
,RuntimeError
Raised when extensions define a cyclic dependency, e.g. two extensions depend on each other.
- betty.project.extension.EXTENSION_REPOSITORY: PluginRepository[Extension] = <betty.plugin.entry_point.EntryPointPluginRepository object>¶
The project extension plugin repository.
- class betty.project.extension.Extension[source]¶
Bases:
Plugin
,CoreComponent
,ProjectDependentFactory
Integrate optional functionality with Betty :py:class:`betty.project.Project`s.
- classmethod assets_directory_path() Path | None [source]¶
Return the path on disk where the extension’s assets are located.
This may be anywhere in your Python package.
- classmethod comes_after() set[str] [source]¶
The extensions that this one comes after.
The other extensions may or may not be enabled.
- classmethod comes_before() set[str] [source]¶
The extensions that this one comes before.
The other extensions may or may not be enabled.
- disable_requirement() Requirement [source]¶
Define the requirement for this extension to be disabled.
This defaults to the extension’s dependents.
- classmethod enable_requirement() Requirement [source]¶
Define the requirement for this extension to be enabled.
This defaults to the extension’s dependencies.
- register_event_handlers(registry: EventHandlerRegistry) None [source]¶
Register event handlers with the project.
- exception betty.project.extension.ExtensionError[source]¶
Bases:
BaseException
A generic extension API error.