betty.extension package

Module contents

Provide Betty’s extension API.

class betty.extension.Extension

Bases: ManagedLifeCycle, Plugin[ExtensionDefinition]

Integrate custom services with a service level.

final class betty.extension.ExtensionDefinition

Bases: HumanFacingDefinition, PluginClsDefinition[Extension]

The extension plugin type.

Plugin type ID

extension

Definition

@ExtensionDefinition(...)

Built-in extensions:

http-api-doc (HttpApiDoc)
HTTP API Documentation: Display the HTTP API documentation in a user-friendly way using Swagger UI.
maps (Maps)
Maps: Display interactive maps
raspberry-mint (RaspberryMint)
Raspberry Mint
spdx (Spdx)
SPDX licenses: Provide license plugins from the SPDX License List (https://spdx.org/licenses/)
trees (Trees)
Trees: Display interactive family trees using Cytoscape.
webpack (Webpack)
Webpack
wiki (Wiki)
Wiki

Betty’s functionality can be altered using extensions. An extension can do many things, such as loading new or expanding existing ancestry data, or generating additional content for your site.

Some extensions are configurable. That means that other than enabling them, you can set the configuration options that determine how the extension should work. This can be done in your project’s configuration.

__init__(plugin_id: ResolvableMachineName, *, label: ResolvableLocalizable, auto: bool = False, description: ResolvableLocalizable | None = None, requires: Requires = ())
static type() PluginTypeDefinition[Self]

The plugin type definition.

final class betty.extension.ExtensionManufacturer

Bases: PluginManufacturer[ExtensionDefinition, Extension]

The extension manufacturer.