betty.project.config module¶
Provide project configuration.
- class betty.project.config.CopyrightNoticeConfiguration[source]¶
Bases:
PluginConfiguration
Configuration to define
betty.copyright_notice.CopyrightNotice
plugins.- __init__(plugin_id: str, label: Mapping[str, str] | str, *, summary: Mapping[str, str] | str, text: Mapping[str, str] | str, description: Mapping[str, str] | str | None = None)[source]¶
- load(dump: Dump) None [source]¶
Load a serialized data dump into
self
.- Raises:
betty.assertion.error.AssertionFailed – Raised if the dump is invalid.
- summary¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- text¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- class betty.project.config.CopyrightNoticeConfigurationMapping[source]¶
Bases:
PluginConfigurationMapping
[CopyrightNotice
,CopyrightNoticeConfiguration
]A configuration mapping for copyright notices.
- betty.project.config.DEFAULT_LIFETIME_THRESHOLD = 123¶
The default age by which people are presumed dead. This is based on Jeanne Louise Calment who is the oldest verified person to ever have lived.
- final class betty.project.config.EntityTypeConfiguration[source]¶
Bases:
Configuration
Configure a single entity type for a project.
- load(dump: Dump) None [source]¶
Load a serialized data dump into
self
.- Raises:
betty.assertion.error.AssertionFailed – Raised if the dump is invalid.
- async validate(entity_type_repository: PluginRepository[Entity]) None [source]¶
Validate the configuration.
- final class betty.project.config.EntityTypeConfigurationMapping[source]¶
Bases:
PluginIdentifierKeyConfigurationMapping
[Entity
,EntityTypeConfiguration
]Configure the entity types for a project.
- async validate(entity_type_repository: PluginRepository[Entity]) None [source]¶
Validate the configuration.
- class betty.project.config.EventTypeConfigurationMapping[source]¶
Bases:
PluginConfigurationPluginConfigurationMapping
[EventType
]A configuration mapping for event types.
- final class betty.project.config.ExtensionInstanceConfigurationMapping[source]¶
Bases:
PluginInstanceConfigurationMapping
[Extension
]Configure a project’s enabled extensions.
- class betty.project.config.GenderConfigurationMapping[source]¶
Bases:
PluginConfigurationPluginConfigurationMapping
[Gender
]A configuration mapping for genders.
- class betty.project.config.LicenseConfiguration[source]¶
Bases:
PluginConfiguration
Configuration to define
betty.license.License
plugins.- __init__(plugin_id: str, label: Mapping[str, str] | str, *, summary: Mapping[str, str] | str, text: Mapping[str, str] | str, description: Mapping[str, str] | str | None = None)[source]¶
- load(dump: Dump) None [source]¶
Load a serialized data dump into
self
.- Raises:
betty.assertion.error.AssertionFailed – Raised if the dump is invalid.
- summary¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- text¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- class betty.project.config.LicenseConfigurationMapping[source]¶
Bases:
PluginConfigurationMapping
[License
,LicenseConfiguration
]A configuration mapping for licenses.
- final class betty.project.config.LocaleConfiguration[source]¶
Bases:
Configuration
Configure a single project locale.
- property alias: str¶
A shorthand alias to use instead of the full language tag, such as when rendering URLs.
- load(dump: Dump) None [source]¶
Load a serialized data dump into
self
.- Raises:
betty.assertion.error.AssertionFailed – Raised if the dump is invalid.
- property locale: str¶
An IETF BCP 47 language tag.
- final class betty.project.config.LocaleConfigurationMapping[source]¶
Bases:
OrderedConfigurationMapping
[str
,LocaleConfiguration
]Configure a project’s locales.
- __init__(configurations: Iterable[LocaleConfiguration] | None = None)[source]¶
- property default: LocaleConfiguration¶
The default language.
- replace(*configurations: LocaleConfiguration) None [source]¶
Replace any existing values with the given ones.
- class betty.project.config.PlaceTypeConfigurationMapping[source]¶
Bases:
PluginConfigurationPluginConfigurationMapping
[PlaceType
]A configuration mapping for place types.
- class betty.project.config.PresenceRoleConfigurationMapping[source]¶
Bases:
PluginConfigurationPluginConfigurationMapping
[PresenceRole
]A configuration mapping for presence roles.
- final class betty.project.config.ProjectConfiguration[source]¶
Bases:
Configuration
Provide the configuration for a
betty.project.Project
.- __init__(configuration_file_path: Path, *, available_formats: Sequence[type[Format]], url: str = 'https://example.com', clean_urls: bool = False, title: ShorthandStaticTranslations = 'Betty', author: ShorthandStaticTranslations | None = None, entity_types: Iterable[EntityTypeConfiguration] | None = None, event_types: Iterable[PluginConfiguration] | None = None, place_types: Iterable[PluginConfiguration] | None = None, presence_roles: Iterable[PluginConfiguration] | None = None, copyright_notice: PluginInstanceConfiguration | None = None, copyright_notices: Iterable[CopyrightNoticeConfiguration] | None = None, license: PluginInstanceConfiguration | None = None, licenses: Iterable[LicenseConfiguration] | None = None, genders: Iterable[PluginConfiguration] | None = None, extensions: Iterable[PluginInstanceConfiguration] | None = None, debug: bool = False, locales: Iterable[LocaleConfiguration] | None = None, lifetime_threshold: int = 123, name: MachineName | None = None, logo: Path | None = None)[source]¶
- property assets_directory_path: Path¶
- author¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- property base_url: str¶
The project’s public URL’s base URL.
If the public URL is
https://example.com
, the base URL ishttps://example.com
. If the public URL ishttps://example.com/my-ancestry-site
, the base URL ishttps://example.com
. If the public URL ishttps://my-ancestry-site.example.com
, the base URL ishttps://my-ancestry-site.example.com
.
- property clean_urls: bool¶
Whether to generate clean URLs such as
/person/first-person
instead of/person/first-person/index.html
.Generated artifacts will require web server that supports this.
- property configuration_file_path: Path¶
The path to the configuration’s file.
- copyright_notice: PluginInstanceConfiguration¶
The project-wide
betty.copyright_notice.CopyrightNotice
plugin to use.
- property copyright_notices: PluginConfigurationMapping[CopyrightNotice, CopyrightNoticeConfiguration]¶
The
betty.copyright_notice.CopyrightNotice
plugins created by this project.
- property debug: bool¶
Whether to enable debugging for project jobs.
This setting is disabled by default.
Enabling this generally results in:
More verbose logging output
job artifacts (e.g. generated sites)
- property entity_types: EntityTypeConfigurationMapping¶
The available entity types.
- property event_types: PluginConfigurationMapping[EventType, PluginConfiguration]¶
The event type plugins created by this project.
- property extensions: ExtensionInstanceConfigurationMapping¶
Then extensions running within this application.
- property genders: PluginConfigurationMapping[Gender, PluginConfiguration]¶
The gender plugins created by this project.
- license: PluginInstanceConfiguration¶
The project-wide
betty.license.License
plugin to use.
- property licenses: PluginConfigurationMapping[License, LicenseConfiguration]¶
The
betty.license.License
plugins created by this project.
- property lifetime_threshold: int¶
The lifetime threshold indicates when people are considered dead.
This setting defaults to
betty.project.config.DEFAULT_LIFETIME_THRESHOLD
.The value is an integer expressing the age in years over which people are presumed to have died.
- load(dump: Dump) None [source]¶
Load a serialized data dump into
self
.- Raises:
betty.assertion.error.AssertionFailed – Raised if the dump is invalid.
- property locales: LocaleConfigurationMapping¶
The available locales.
- async classmethod new(configuration_file_path: Path, *, url: str = 'https://example.com', clean_urls: bool = False, title: ShorthandStaticTranslations = 'Betty', author: ShorthandStaticTranslations | None = None, entity_types: Iterable[EntityTypeConfiguration] | None = None, event_types: Iterable[PluginConfiguration] | None = None, place_types: Iterable[PluginConfiguration] | None = None, presence_roles: Iterable[PluginConfiguration] | None = None, copyright_notice: PluginInstanceConfiguration | None = None, copyright_notices: Iterable[CopyrightNoticeConfiguration] | None = None, license: PluginInstanceConfiguration | None = None, licenses: Iterable[LicenseConfiguration] | None = None, genders: Iterable[PluginConfiguration] | None = None, extensions: Iterable[PluginInstanceConfiguration] | None = None, debug: bool = False, locales: Iterable[LocaleConfiguration] | None = None, lifetime_threshold: int = 123, name: MachineName | None = None, logo: Path | None = None) Self [source]¶
Create a new instance.
- property output_directory_path: Path¶
The output directory path.
- property place_types: PluginConfigurationMapping[PlaceType, PluginConfiguration]¶
The place type plugins created by this project.
- property presence_roles: PluginConfigurationMapping[PresenceRole, PluginConfiguration]¶
The presence role plugins created by this project.
- property project_directory_path: Path¶
The project directory path.
Betty will look for resources in this directory, and place generated artifacts there. It is expected that no other applications or projects share this same directory.
- property root_path: str¶
The project’s public URL’s root path.
If the public URL is
https://example.com
, the root path is an empty string. If the public URL ishttps://example.com/my-ancestry-site
, the root path is/my-ancestry-site
.
- title¶
An instance attribute that contains
betty.locale.localizable.config.StaticTranslationsLocalizableConfiguration
.
- property www_directory_path: Path¶
The WWW directory path.