betty.app module

Define Betty’s core application functionality.

final class betty.app.App[source]

Bases: Configurable[AppConfiguration], CoreComponent

The Betty application.

Parameters:
__init__(configuration: betty.app.AppConfiguration, cache_directory_path: pathlib.Path, *, cache_factory: collections.abc.Callable[[Self], betty.cache.Cache[Any]])[source]
Parameters:
property assets: AssetRepository

The assets file system.

property binary_file_cache: BinaryFileCache

The binary file cache.

property cache: Cache[Any]

The cache.

property fetcher: Fetcher

The fetcher.

property http_client: ClientSession

The HTTP client.

property localizer: Localizer

Get the application’s localizer.

property localizers: LocalizerRepository

The available localizers.

classmethod new_from_environment(cls) collections.abc.AsyncIterator[Self][source]

Create a new application from the environment.

Return type:

collections.abc.AsyncIterator[typing.Self]

classmethod new_temporary(cls) collections.abc.AsyncIterator[Self][source]

Creat a new, temporary, isolated application.

The application will not use any persistent caches, or leave any traces on the system.

Return type:

collections.abc.AsyncIterator[typing.Self]

property process_pool: Executor

The shared process pool.

Use this to run CPU/computationally-heavy tasks in other processes.

class betty.app.AppConfiguration[source]

Bases: FileBasedConfiguration

Provide configuration for betty.app.App.

Parameters:
__init__(configuration_file_path: pathlib.Path, *, locale: str | None = None)[source]
Parameters:
property configuration_file_path: Path

The path to the configuration’s file.

dump() bool | int | float | str | None | Sequence[bool | int | float | str | None | Sequence[Dump] | Mapping[str, Dump]] | Mapping[str, bool | int | float | str | None | Sequence[Dump] | Mapping[str, Dump]] | type[betty.typing.Void][source]

Dump this instance to a portable format.

Return type:

typing.Union[bool, int, float, str, None, typing.Sequence[typing.Union[bool, int, float, str, None, typing.Sequence[Dump], typing.Mapping[str, Dump]]], typing.Mapping[str, typing.Union[bool, int, float, str, None, typing.Sequence[Dump], typing.Mapping[str, Dump]]], type[betty.typing.Void]]

load(dump: bool | int | float | str | None | Sequence[Dump] | Mapping[str, Dump]) None[source]

Load dumped configuration.

Parameters:

dump (typing.Union[bool, int, float, str, None, typing.Sequence[Dump], typing.Mapping[str, Dump]])

Return type:

None

property locale: str | None

The application locale.

update(other: Self) None[source]

Update this configuration with the values from other.

Parameters:

other (typing.Self)

Return type:

None