betty.project package¶
Subpackages¶
Submodules¶
- betty.project.config module
DEFAULT_LIFETIME_THRESHOLDEntityReferenceEntityReferenceSequenceEntityTypeConfigurationEntityTypeConfigurationMappingEventTypeConfigurationMappingExtensionConfigurationExtensionConfigurationMappingLocaleConfigurationLocaleConfigurationMappingProjectConfigurationProjectConfiguration.__init__()ProjectConfiguration.assets_directory_pathProjectConfiguration.authorProjectConfiguration.base_urlProjectConfiguration.clean_urlsProjectConfiguration.configuration_file_pathProjectConfiguration.debugProjectConfiguration.dump()ProjectConfiguration.entity_typesProjectConfiguration.event_typesProjectConfiguration.extensionsProjectConfiguration.lifetime_thresholdProjectConfiguration.load()ProjectConfiguration.localesProjectConfiguration.localize_www_directory_path()ProjectConfiguration.logoProjectConfiguration.nameProjectConfiguration.output_directory_pathProjectConfiguration.project_directory_pathProjectConfiguration.root_pathProjectConfiguration.titleProjectConfiguration.update()ProjectConfiguration.urlProjectConfiguration.www_directory_path
- betty.project.factory module
Module contents¶
Provide the project API.
Projects are how people use Betty. A project is a workspace, starting out with the user’s configuration, and combining it with the resulting ancestry, allowing the user to perform tasks, such as generating a site from the entire project.
- final class betty.project.Project[source]¶
Bases:
Configurable[ProjectConfiguration],DependentFactory[Any],CoreComponentDefine a Betty project.
A project combines project configuration and the resulting ancestry.
- __init__(app: App, configuration: ProjectConfiguration, *, ancestry: Ancestry | None = None)[source]¶
- property assets: AssetRepository¶
The assets file system.
- property event_dispatcher: EventDispatcher¶
The event dispatcher.
- property event_types: PluginRepository[EventType]¶
The event types available to this project.
- property extensions: ProjectExtensions¶
The enabled extensions.
- property jinja2_environment: Environment¶
The Jinja2 environment.
- property localizers: LocalizerRepository¶
The available localizers.
- property name: str¶
The project name.
If no project name was configured, this defaults to the hash of the configuration file path.
- async new(cls: type[Any]) Any[source]¶
Create a new instance.
- Raises:
FactoryError – raised when the class could not be instantiated.
- classmethod new_temporary(app: App, *, ancestry: Ancestry | None = None) AsyncIterator[Self][source]¶
Creat a new, temporary, isolated project.
The project will not leave any traces on the system, except when it uses global Betty functionality such as caches.
- property static_url_generator: StaticUrlGenerator¶
The static URL generator.
- property url_generator: LocalizedUrlGenerator¶
The (localized) URL generator.
- class betty.project.ProjectEvent[source]¶
Bases:
EventAn event that is dispatched within the context of a
betty.project.Project.- __init__(job_context: ProjectContext)[source]¶
- property job_context: ProjectContext¶
The site generation job context.
- property project: Project¶
The
betty.project.Projectthis event is dispatched within.
- final class betty.project.ProjectExtensions[source]¶
Bases:
objectManage the extensions running within the
betty.project.Project.This is internal. It MAY be used anywhere in Betty’s source code, but MUST NOT be used by third-party code.