betty.plugin.config module

Provide plugin configuration.

class betty.plugin.config.PluginConfiguration[source]

Bases: Configuration

Configure a single plugin.

__init__(plugin_id: MachineName, label: ShorthandStaticTranslations, *, description: ShorthandStaticTranslations | None = None)[source]
description

An instance attribute that contains betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration.

dump() DumpMapping[Dump][source]

Produce a serialized data dump of self.

property id: str

The configured plugin ID.

label

An instance attribute that contains betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration.

load(dump: Dump) None[source]

Load a serialized data dump into self.

Raises:

betty.assertion.error.AssertionFailed – Raised if the dump is invalid.

class betty.plugin.config.PluginConfigurationMapping[source]

Bases: ConfigurationMapping[str, _PluginConfigurationT], Generic[_PluginCoT, _PluginConfigurationT]

Configure a collection of plugins.

new_plugins() Sequence[type[_PluginCoT]][source]

Create the plugins for this configuration.

You SHOULD NOT cache the value anywhere, as it will change when this configuration changes.

class betty.plugin.config.PluginConfigurationPluginConfigurationMapping[source]

Bases: PluginConfigurationMapping[_PluginCoT, PluginConfiguration], Generic[_PluginCoT]

Configure a collection of plugins using betty.plugin.config.PluginConfiguration.

class betty.plugin.config.PluginIdentifierKeyConfigurationMapping[source]

Bases: ConfigurationMapping[str, _ConfigurationT], Generic[_PluginT, _ConfigurationT]

A mapping of configuration, keyed by a plugin identifier.

class betty.plugin.config.PluginInstanceConfiguration[source]

Bases: Configuration

Configure a single plugin instance.

Plugins that extend betty.config.DefaultConfigurable may receive their configuration from betty.plugin.config.PluginInstanceConfiguration.configuration / the “configuration” dump key.

__init__(plugin_id: type[Plugin] | MachineName, *, configuration: Voidable[Configuration | Dump] = <class 'betty.typing.Void'>)[source]
property configuration: Voidable[Dump]

Get the plugin’s own configuration.

dump() Dump[source]

Produce a serialized data dump of self.

property id: str

The plugin ID.

load(dump: Dump) None[source]

Load a serialized data dump into self.

Raises:

betty.assertion.error.AssertionFailed – Raised if the dump is invalid.

async new_plugin_instance(repository: PluginRepository[_PluginT]) _PluginT[source]

Create a new plugin instance.

class betty.plugin.config.PluginInstanceConfigurationMapping[source]

Bases: PluginIdentifierKeyConfigurationMapping[_PluginT, PluginInstanceConfiguration], Generic[_PluginT]

Configure plugin instances, keyed by their plugin IDs.

__init__(configurations: Iterable[PluginInstanceConfiguration] | None = None)[source]