Betty Betty Betty
/
  • Installation
  • Usage
    • Ancestry
      • Dates
      • Media Type
      • Privacy
      • Static translations
    • Asset Management
    • Application configuration
    • Console
    • Environment variables
    • GEDCOM
    • Plugins
    • Projects
    • Templating
      • Globals
    • Translations
    • Generating URLs
  • Development
    • Developing Betty itself
      • Helpful commands
      • Installing a development environment
      • Localization
      • Testing Betty’s source code
    • Testing your source code
  • Glossary
  • About
    • Contributing to Betty
      • Code of Conduct
    • Copyright & license
    • Sponsors
    • Versions
  • API Documentation
    • betty package
      • betty.assertions package
        • betty.assertions.bool module
        • betty.assertions.directory module
        • betty.assertions.enum module
        • betty.assertions.file module
        • betty.assertions.float module
        • betty.assertions.if_else module
        • betty.assertions.int module
        • betty.assertions.isinstance module
        • betty.assertions.len module
        • betty.assertions.locale module
        • betty.assertions.mapping module
        • betty.assertions.none module
        • betty.assertions.number module
        • betty.assertions.path module
        • betty.assertions.plugin module
        • betty.assertions.record module
        • betty.assertions.sequence module
        • betty.assertions.str module
        • betty.assertions.type module
        • betty.assertions.url module
      • betty.asset_directories package
        • betty.asset_directories.builtin module
        • betty.asset_directories.http_api_doc module
        • betty.asset_directories.maps module
        • betty.asset_directories.project module
        • betty.asset_directories.raspberry_mint module
        • betty.asset_directories.trees module
        • betty.asset_directories.webpack module
        • betty.asset_directories.wiki module
      • betty.associations package
        • betty.associations.has_citations module
        • betty.associations.has_file_references module
        • betty.associations.has_links module
        • betty.associations.has_notes module
        • betty.associations.optional_to_one module
        • betty.associations.proxy module
        • betty.associations.to_many module
        • betty.associations.to_one module
      • betty.attrs package
        • betty.attrs.common module
        • betty.attrs.countable_localizable module
        • betty.attrs.date module
        • betty.attrs.default module
        • betty.attrs.description module
        • betty.attrs.locale module
        • betty.attrs.localizable module
        • betty.attrs.machine_name module
        • betty.attrs.media_type module
        • betty.attrs.optional module
        • betty.attrs.owner module
        • betty.attrs.path module
        • betty.attrs.plugin_definitions module
        • betty.attrs.plugin_manufacturer_sequence module
        • betty.attrs.privacy module
        • betty.attrs.proxy module
      • betty.collection package
        • betty.collection.keyed module
        • betty.collection.mapping module
        • betty.collection.sequence module
      • betty.collections package
        • betty.collections.keyed package
        • betty.collections.mapping package
        • betty.collections.plugin package
        • betty.collections.sequence package
        • betty.collections.to_many module
      • betty.commands package
        • betty.commands.about module
        • betty.commands.clear_caches module
        • betty.commands.config module
        • betty.commands.demo module
        • betty.commands.dev_profile_demo module
        • betty.commands.dev_update_translations module
        • betty.commands.docs module
        • betty.commands.generate module
        • betty.commands.new module
        • betty.commands.new_translation module
        • betty.commands.serve module
        • betty.commands.update_translations module
      • betty.console package
        • betty.console.command module
        • betty.console.project module
      • betty.content_builders package
        • betty.content_builders.box module
        • betty.content_builders.map module
        • betty.content_builders.map_attribution module
        • betty.content_builders.notes module
        • betty.content_builders.raspberry_mint_citations module
        • betty.content_builders.raspberry_mint_color_style module
        • betty.content_builders.raspberry_mint_columns module
        • betty.content_builders.raspberry_mint_enclosees module
        • betty.content_builders.raspberry_mint_entity_card module
        • betty.content_builders.raspberry_mint_external_links module
        • betty.content_builders.raspberry_mint_facts module
        • betty.content_builders.raspberry_mint_families module
        • betty.content_builders.raspberry_mint_file_referees module
        • betty.content_builders.raspberry_mint_incomplete_translation_warning module
        • betty.content_builders.raspberry_mint_media module
        • betty.content_builders.raspberry_mint_media_gallery module
        • betty.content_builders.raspberry_mint_presences module
        • betty.content_builders.raspberry_mint_section module
        • betty.content_builders.raspberry_mint_timeline module
        • betty.content_builders.render module
        • betty.content_builders.static module
        • betty.content_builders.template module
        • betty.content_builders.tree module
        • betty.content_builders.wikipedia_summary module
      • betty.copyright_notices package
        • betty.copyright_notices.project_author module
        • betty.copyright_notices.public_domain module
        • betty.copyright_notices.streetmix module
        • betty.copyright_notices.wikipedia_contributors module
      • betty.css_resources package
        • betty.css_resources.webpack module
      • betty.datas package
        • betty.datas.aggregate package
        • betty.datas.plugin package
        • betty.datas.bool module
        • betty.datas.color module
        • betty.datas.date module
        • betty.datas.entity_as_reference module
        • betty.datas.entity_reference module
        • betty.datas.enum module
        • betty.datas.int module
        • betty.datas.locale module
        • betty.datas.localizable module
        • betty.datas.optional module
        • betty.datas.path module
        • betty.datas.str module
      • betty.definition package
        • betty.definition.cls module
        • betty.definition.human_facing module
      • betty.demo package
        • betty.demo.generate module
        • betty.demo.project module
      • betty.document_providers package
        • betty.document_providers.webpack module
      • betty.enrichers package
        • betty.enrichers.deriver module
        • betty.enrichers.populate_links module
        • betty.enrichers.privatizer module
        • betty.enrichers.wiki module
      • betty.entities package
        • betty.entities.citation module
        • betty.entities.enclosure module
        • betty.entities.event module
        • betty.entities.file module
        • betty.entities.file_reference module
        • betty.entities.link module
        • betty.entities.note module
        • betty.entities.person module
        • betty.entities.person_name module
        • betty.entities.place module
        • betty.entities.place_name module
        • betty.entities.presence module
        • betty.entities.source module
      • betty.entity package
        • betty.entity.collection package
      • betty.event_types package
        • betty.event_types.adoption module
        • betty.event_types.baptism module
        • betty.event_types.bar_mitzvah module
        • betty.event_types.bat_mitzvah module
        • betty.event_types.birth module
        • betty.event_types.burial module
        • betty.event_types.conference module
        • betty.event_types.confirmation module
        • betty.event_types.correspondence module
        • betty.event_types.cremation module
        • betty.event_types.death module
        • betty.event_types.divorce module
        • betty.event_types.divorce_announcement module
        • betty.event_types.emigration module
        • betty.event_types.engagement module
        • betty.event_types.funeral module
        • betty.event_types.immigration module
        • betty.event_types.marriage module
        • betty.event_types.marriage_announcement module
        • betty.event_types.missing module
        • betty.event_types.occupation module
        • betty.event_types.residence module
        • betty.event_types.retirement module
        • betty.event_types.unknown module
        • betty.event_types.will module
      • betty.extensions package
        • betty.extensions.raspberry_mint package
        • betty.extensions.webpack package
        • betty.extensions.http_api_doc module
        • betty.extensions.maps module
        • betty.extensions.spdx module
        • betty.extensions.trees module
        • betty.extensions.wiki module
      • betty.genders package
        • betty.genders.man module
        • betty.genders.non_binary module
        • betty.genders.unknown module
        • betty.genders.woman module
      • betty.html package
        • betty.html.attributes module
        • betty.html.css module
        • betty.html.js module
        • betty.html.url module
      • betty.http_client package
        • betty.http_client.rate_limits package
        • betty.http_client.rate_limit module
      • betty.indicator package
        • betty.indicator.selector module
      • betty.jinja package
        • betty.jinja.filter module
        • betty.jinja.test module
      • betty.jinja_filters package
        • betty.jinja_filters.build_content module
        • betty.jinja_filters.file module
        • betty.jinja_filters.format_datetime_datetime module
        • betty.jinja_filters.format_degrees module
        • betty.jinja_filters.html_lang module
        • betty.jinja_filters.image_resize_cover module
        • betty.jinja_filters.json_dump module
        • betty.jinja_filters.json_load module
        • betty.jinja_filters.localize module
        • betty.jinja_filters.negotiate_has_dates module
        • betty.jinja_filters.select_has_dates module
        • betty.jinja_filters.to_language_tag module
        • betty.jinja_filters.unique module
        • betty.jinja_filters.url module
        • betty.jinja_filters.webpack_entry_point_js module
      • betty.jinja_tests package
        • betty.jinja_tests.has_file_references module
        • betty.jinja_tests.image_media_type_supported module
        • betty.jinja_tests.linked_data_dumpable module
        • betty.jinja_tests.plugin module
      • betty.job package
        • betty.job.executor package
        • betty.job.scheduler package
      • betty.jobs package
        • betty.jobs.derive_ancestry module
        • betty.jobs.generate_entities_html module
        • betty.jobs.generate_entities_json module
        • betty.jobs.generate_entity_types_html module
        • betty.jobs.generate_entity_types_json module
        • betty.jobs.generate_favicon module
        • betty.jobs.generate_json_error_responses module
        • betty.jobs.generate_json_schema module
        • betty.jobs.generate_localized_public_assets module
        • betty.jobs.generate_logo module
        • betty.jobs.generate_openapi module
        • betty.jobs.generate_robots_txt module
        • betty.jobs.generate_sitemap module
        • betty.jobs.generate_static_public_assets module
        • betty.jobs.load_demo_ancestry module
        • betty.jobs.load_gramps_ancestry module
        • betty.jobs.no_op module
        • betty.jobs.populate_link module
        • betty.jobs.populate_wiki_entity module
        • betty.jobs.privatize_ancestry module
        • betty.jobs.raise_exception module
        • betty.jobs.sleep module
      • betty.js_resources package
        • betty.js_resources.webpack_entry_point_loader module
      • betty.json_schemas package
        • betty.json_schemas.date module
        • betty.json_schemas.json_ld module
        • betty.json_schemas.json_schema module
        • betty.json_schemas.locale module
        • betty.json_schemas.media_type module
        • betty.json_schemas.openapi module
        • betty.json_schemas.plugin_id module
        • betty.json_schemas.privacy module
        • betty.json_schemas.project module
        • betty.json_schemas.static_translations module
      • betty.licenses package
        • betty.licenses.all_rights_reserved module
        • betty.licenses.public_domain module
        • betty.licenses.spdx module
      • betty.life_cycle package
        • betty.life_cycle.manage module
      • betty.links package
        • betty.links.betty_documentation module
        • betty.links.betty_github module
        • betty.links.http_api_doc module
      • betty.loaders package
        • betty.loaders.demo module
        • betty.loaders.gramps module
      • betty.locale package
        • betty.locale.error module
      • betty.localizable package
        • betty.localizable.linked_data module
      • betty.localizables package
        • betty.localizables.gettext module
        • betty.localizables.markup module
        • betty.localizables.plain module
        • betty.localizables.static module
      • betty.media_types package
        • betty.media_types.html module
        • betty.media_types.jinja module
        • betty.media_types.json module
        • betty.media_types.json_ld module
        • betty.media_types.pdf module
        • betty.media_types.plain_text module
        • betty.media_types.svg module
        • betty.media_types.yaml module
      • betty.place_types package
        • betty.place_types.borough module
        • betty.place_types.building module
        • betty.place_types.cemetery module
        • betty.place_types.city module
        • betty.place_types.country module
        • betty.place_types.county module
        • betty.place_types.department module
        • betty.place_types.district module
        • betty.place_types.farm module
        • betty.place_types.hamlet module
        • betty.place_types.locality module
        • betty.place_types.municipality module
        • betty.place_types.neighborhood module
        • betty.place_types.number module
        • betty.place_types.parish module
        • betty.place_types.province module
        • betty.place_types.region module
        • betty.place_types.state module
        • betty.place_types.street module
        • betty.place_types.town module
        • betty.place_types.unknown module
        • betty.place_types.village module
      • betty.plugin package
        • betty.plugin.cls module
        • betty.plugin.data module
        • betty.plugin.discovery module
        • betty.plugin.error module
        • betty.plugin.factory module
        • betty.plugin.ordered module
        • betty.plugin.resolve module
      • betty.portable package
        • betty.portable.error module
        • betty.portable.file module
      • betty.porters package
        • betty.porters.callback module
        • betty.porters.date module
        • betty.porters.entity_as_reference module
        • betty.porters.optional module
        • betty.porters.portable module
        • betty.porters.portable_record module
        • betty.porters.record_mapping module
      • betty.privacy package
        • betty.privacy.privatizer module
        • betty.privacy.resolve module
      • betty.progresses package
        • betty.progresses.no_op module
        • betty.progresses.rich module
      • betty.project package
        • betty.project.generate module
        • betty.project.new module
      • betty.props package
        • betty.props.proxy module
        • betty.props.setter module
      • betty.renderers package
        • betty.renderers.html module
        • betty.renderers.plain_text module
      • betty.requirements package
        • betty.requirements.plugin_service module
        • betty.requirements.service module
        • betty.requirements.service_level module
      • betty.rich package
        • betty.rich.user module
      • betty.roles package
        • betty.roles.attendee module
        • betty.roles.beneficiary module
        • betty.roles.celebrant module
        • betty.roles.informant module
        • betty.roles.organizer module
        • betty.roles.speaker module
        • betty.roles.subject module
        • betty.roles.unknown module
        • betty.roles.witness module
      • betty.serializers package
        • betty.serializers.json module
        • betty.serializers.yaml module
      • betty.servers package
        • betty.servers.builtin module
        • betty.servers.demo module
        • betty.servers.documentation module
        • betty.servers.no_op module
        • betty.servers.project_builtin module
      • betty.services package
        • betty.services.plugin package
        • betty.services.simple package
        • betty.services.asset module
      • betty.sphinx package
        • betty.sphinx.extension package
      • betty.stores package
        • betty.stores.file module
        • betty.stores.memory module
        • betty.stores.no_op module
      • betty.test_utils package
        • betty.test_utils.entity package
        • betty.test_utils.extensions package
        • betty.test_utils.job package
        • betty.test_utils.locale package
        • betty.test_utils.concurrent module
        • betty.test_utils.conftest module
        • betty.test_utils.console module
        • betty.test_utils.copyright_notice module
        • betty.test_utils.data module
        • betty.test_utils.documentation module
        • betty.test_utils.jinja module
        • betty.test_utils.json_schema module
        • betty.test_utils.license module
        • betty.test_utils.machine_name module
        • betty.test_utils.plugin module
        • betty.test_utils.privacy module
        • betty.test_utils.serialize module
        • betty.test_utils.store module
        • betty.test_utils.user module
      • betty.url_generators package
        • betty.url_generators.dispatcher module
        • betty.url_generators.entity module
        • betty.url_generators.entity_type module
        • betty.url_generators.entity_url module
        • betty.url_generators.localized_path_url module
        • betty.url_generators.passthrough module
        • betty.url_generators.path module
        • betty.url_generators.static_path_url module
      • betty.user package
        • betty.user.logging module
        • betty.user.no_op module
      • betty.wiki package
        • betty.wiki.client module
        • betty.wiki.populator module
      • betty.about module
      • betty.app module
      • betty.argparse module
      • betty.asset module
      • betty.association module
      • betty.asyncio module
      • betty.attr module
      • betty.babel module
      • betty.classtools module
      • betty.concurrent module
      • betty.content_builder module
      • betty.copyright_notice module
      • betty.data module
      • betty.date module
      • betty.deriver module
      • betty.dirs module
      • betty.docstring module
      • betty.document module
      • betty.documentation module
      • betty.error module
      • betty.event_type module
      • betty.exception module
      • betty.extension module
      • betty.factory module
      • betty.file module
      • betty.functools module
      • betty.gender module
      • betty.gettext module
      • betty.gramps module
      • betty.hashid module
      • betty.image module
      • betty.importlib module
      • betty.json_schema module
      • betty.license module
      • betty.link module
      • betty.linked_data module
      • betty.load module
      • betty.localized module
      • betty.localizer module
      • betty.machine_name module
      • betty.media_type module
      • betty.multiprocessing module
      • betty.npm module
      • betty.openapi module
      • betty.os module
      • betty.pathlib module
      • betty.place_type module
      • betty.progress module
      • betty.prop module
      • betty.render module
      • betty.requirement module
      • betty.role module
      • betty.sample module
      • betty.serialize module
      • betty.server module
      • betty.service module
      • betty.service_level module
      • betty.store module
      • betty.string module
      • betty.subprocess module
      • betty.typing module
      • betty.url_generator module
      • betty.warnings module
    • betty
      • betty package
        • betty.assertions package
        • betty.asset_directories package
        • betty.associations package
        • betty.attrs package
        • betty.collection package
        • betty.collections package
        • betty.commands package
        • betty.console package
        • betty.content_builders package
        • betty.copyright_notices package
        • betty.css_resources package
        • betty.datas package
        • betty.definition package
        • betty.demo package
        • betty.document_providers package
        • betty.enrichers package
        • betty.entities package
        • betty.entity package
        • betty.event_types package
        • betty.extensions package
        • betty.genders package
        • betty.html package
        • betty.http_client package
        • betty.indicator package
        • betty.jinja package
        • betty.jinja_filters package
        • betty.jinja_tests package
        • betty.job package
        • betty.jobs package
        • betty.js_resources package
        • betty.json_schemas package
        • betty.licenses package
        • betty.life_cycle package
        • betty.links package
        • betty.loaders package
        • betty.locale package
        • betty.localizable package
        • betty.localizables package
        • betty.media_types package
        • betty.place_types package
        • betty.plugin package
        • betty.portable package
        • betty.porters package
        • betty.privacy package
        • betty.progresses package
        • betty.project package
        • betty.props package
        • betty.renderers package
        • betty.requirements package
        • betty.rich package
        • betty.roles package
        • betty.serializers package
        • betty.servers package
        • betty.services package
        • betty.sphinx package
        • betty.stores package
        • betty.test_utils package
        • betty.url_generators package
        • betty.user package
        • betty.wiki package
        • betty.about module
        • betty.app module
        • betty.argparse module
        • betty.asset module
        • betty.association module
        • betty.asyncio module
        • betty.attr module
        • betty.babel module
        • betty.classtools module
        • betty.concurrent module
        • betty.content_builder module
        • betty.copyright_notice module
        • betty.data module
        • betty.date module
        • betty.deriver module
        • betty.dirs module
        • betty.docstring module
        • betty.document module
        • betty.documentation module
        • betty.error module
        • betty.event_type module
        • betty.exception module
        • betty.extension module
        • betty.factory module
        • betty.file module
        • betty.functools module
        • betty.gender module
        • betty.gettext module
        • betty.gramps module
        • betty.hashid module
        • betty.image module
        • betty.importlib module
        • betty.json_schema module
        • betty.license module
        • betty.link module
        • betty.linked_data module
        • betty.load module
        • betty.localized module
        • betty.localizer module
        • betty.machine_name module
        • betty.media_type module
        • betty.multiprocessing module
        • betty.npm module
        • betty.openapi module
        • betty.os module
        • betty.pathlib module
        • betty.place_type module
        • betty.progress module
        • betty.prop module
        • betty.render module
        • betty.requirement module
        • betty.role module
        • betty.sample module
        • betty.serialize module
        • betty.server module
        • betty.service module
        • betty.service_level module
        • betty.store module
        • betty.string module
        • betty.subprocess module
        • betty.typing module
        • betty.url_generator module
        • betty.warnings module

On this page

  • In this section
betty 0 0
Edit this page
  1. Betty /
  2. Development /
  3. Developing Betty itself
View Source Open in ChatGPT Open in Claude

Developing Betty itself¶

This section covers how to develop Betty itself.

See also

Read Contributing to Betty before sharing your improvements to Betty with the wider community.

In this section¶

  • Install a Betty development environment.

  • Testing Betty’s source code

  • Localization

  • Helpful commands

Previous
Development
Next
Helpful commands

Bart Feenstra and contributors

Made with Sphinx and Shibuya theme.