betty.app.extension package¶
Submodules¶
Module contents¶
Provide Betty’s extension API.
- class betty.app.extension.ConfigurableExtension(*args, configuration=None, **kwargs)[source]¶
Bases:
Extension,Generic[ConfigurationT],Configurable[ConfigurationT]- classmethod default_configuration()[source]¶
- Return type:¶
typing.TypeVar(ConfigurationT, bound=betty.config.Configuration)
- exception betty.app.extension.CyclicDependencyError(extension_types)[source]¶
Bases:
ExtensionError,RuntimeError
- class betty.app.extension.Dependencies(dependent_type)[source]¶
Bases:
AllRequirements- classmethod for_dependent(dependent_type)[source]¶
- class betty.app.extension.Dependents(dependency, dependents)[source]¶
Bases:
Requirement
- class betty.app.extension.Extension(app, *args, **kwargs)[source]¶
Bases:
objectIntegrate optional functionality with the Betty app.
- classmethod assets_directory_path()[source]¶
Return the path on disk where the extension’s assets are located.
This may be anywhere in your Python package.
- Return type:¶
pathlib.Path|None
- classmethod comes_after()[source]¶
- Return type:¶
set[type[betty.app.extension.Extension]]
- classmethod comes_before()[source]¶
- Return type:¶
set[type[betty.app.extension.Extension]]
- classmethod depends_on()[source]¶
- Return type:¶
set[type[betty.app.extension.Extension]]
- disable_requirement()[source]¶
Define the requirement for this extension to be disabled.
This defaults to the extension’s dependents.
- Return type:¶
- class betty.app.extension.ExtensionDispatcher(extensions)[source]¶
Bases:
Dispatcher
- exception betty.app.extension.ExtensionTypeError[source]¶
Bases:
ExtensionError,ValueError
- exception betty.app.extension.ExtensionTypeImportError(extension_type_name)[source]¶
Bases:
ExtensionTypeError,ImportErrorRaised when an alleged extension type cannot be imported.
- exception betty.app.extension.ExtensionTypeInvalidError(extension_type)[source]¶
Bases:
ExtensionTypeError,ImportErrorRaised for types that are not valid extension types.
- class betty.app.extension.Extensions[source]¶
Bases:
object- flatten()[source]¶
- Return type:¶
typing.Iterator[betty.app.extension.Extension]
- class betty.app.extension.ListExtensions(extensions)[source]¶
Bases:
Extensions- flatten()[source]¶
- Return type:¶
typing.Iterator[betty.app.extension.Extension]
- class betty.app.extension.UserFacingExtension(app, *args, **kwargs)[source]¶
Bases:
Extension
- betty.app.extension.build_extension_type_graph(extension_types)[source]¶
Build a dependency graph of the given extension types.
- Parameters:¶
- extension_types¶
- Return type:¶
dict[type[betty.app.extension.Extension],set[type[betty.app.extension.Extension]]]
- betty.app.extension.discover_extension_types()[source]¶
Gather the available extension types.
- Return type:¶
set[type[betty.app.extension.Extension]]
- betty.app.extension.format_extension_type(extension_type)[source]¶
Format an extension type to a human-readable label.
- betty.app.extension.get_extension_type(extension_type_definition)[source]¶
Get the extension type for an extension, extension type, or extension type name.
- betty.app.extension.get_extension_type_by_extension(extension)[source]¶
Get the extension type for an extension.
- betty.app.extension.get_extension_type_by_name(extension_type_name)[source]¶
Get the extension type for an extension type name.