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.attrs package
        • 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.settable module
        • betty.attrs.setter module
      • betty.caches package
        • betty.caches.file module
        • betty.caches.memory module
        • betty.caches.no_op module
      • betty.collection package
        • betty.collection.keyed package
        • betty.collection.mapping package
        • betty.collection.sequence package
      • 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.bool module
        • betty.datas.color module
        • betty.datas.copyright_notice_definition module
        • betty.datas.countable_human_facing_plugin_definition module
        • betty.datas.countable_localizable module
        • betty.datas.date module
        • betty.datas.enum module
        • betty.datas.event_type_definition module
        • betty.datas.gender_definition module
        • betty.datas.human_facing_plugin_definition module
        • betty.datas.int module
        • betty.datas.license_definition module
        • betty.datas.locale module
        • betty.datas.localizable module
        • betty.datas.optional module
        • betty.datas.ordered_plugin_definition module
        • betty.datas.path module
        • betty.datas.place_type_definition module
        • betty.datas.plugin_definition module
        • betty.datas.plugin_manufacturer_sequence module
        • betty.datas.role_definition module
        • betty.datas.str module
      • betty.date package
        • betty.date.linked_data module
        • betty.date.schema 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.demo.serve module
      • betty.document_providers package
        • betty.document_providers.webpack package
      • betty.enrichers package
        • betty.enrichers.deriver package
        • betty.enrichers.populate_links package
        • betty.enrichers.privatizer package
        • betty.enrichers.wiki package
      • 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.entity.association module
        • betty.entity.has_citations module
        • betty.entity.has_file_references module
        • betty.entity.has_links module
        • betty.entity.has_notes module
        • betty.entity.reference module
        • betty.entity.schema module
      • 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.extension package
      • betty.extensions package
        • betty.extensions.http_api_doc package
        • betty.extensions.maps package
        • betty.extensions.raspberry_mint package
        • betty.extensions.spdx package
        • betty.extensions.theme package
        • betty.extensions.trees package
        • betty.extensions.webpack package
        • betty.extensions.wiki package
      • betty.genders package
        • betty.genders.man module
        • betty.genders.non_binary module
        • betty.genders.unknown module
        • betty.genders.woman module
      • betty.gramps package
        • betty.gramps.error module
        • betty.gramps.loader 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.persistent_entity_id module
        • betty.jinja_tests.plugin module
        • betty.jinja_tests.public module
      • betty.job package
        • betty.job.executor package
        • betty.job.scheduler package
      • betty.js_resources package
        • betty.js_resources.webpack_entry_point_loader 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 package
        • betty.loaders.gramps package
      • betty.locale package
        • betty.locale.localizable package
        • betty.locale.localize package
        • betty.locale.babel module
        • betty.locale.error module
        • betty.locale.schema module
        • betty.locale.translation module
      • betty.media_type package
        • betty.media_type.schema 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.openapi package
        • betty.openapi.schema 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.discovery module
        • betty.plugin.error module
        • betty.plugin.factory module
        • betty.plugin.ordered module
        • betty.plugin.resolve module
        • betty.plugin.schema module
      • betty.portable package
        • betty.portable.error module
        • betty.portable.file module
      • betty.privacy package
        • betty.privacy.privatizer module
        • betty.privacy.resolve module
        • betty.privacy.schema module
      • betty.progresses package
        • betty.progresses.no_op module
        • betty.progresses.rich module
      • betty.project package
        • betty.project.generate package
        • betty.project.new module
        • betty.project.schema module
        • betty.project.url module
      • betty.renderers package
        • betty.renderers.html module
        • betty.renderers.plain_text 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.project_builtin module
      • betty.service package
        • betty.service.plugin package
        • betty.service.simple package
        • betty.service.requirement module
      • betty.service_level package
        • betty.service_level.requirement module
      • betty.sphinx package
        • betty.sphinx.extension package
      • betty.test_utils package
        • betty.test_utils.ancestry package
        • betty.test_utils.console package
        • betty.test_utils.entity package
        • betty.test_utils.extensions package
        • betty.test_utils.job package
        • betty.test_utils.locale package
        • betty.test_utils.plugin package
        • betty.test_utils.cache module
        • betty.test_utils.concurrent module
        • betty.test_utils.conftest 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.privacy module
        • betty.test_utils.serialize module
        • betty.test_utils.server module
        • betty.test_utils.user module
      • betty.url package
        • betty.url.proxy 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.asyncio module
      • betty.attr module
      • betty.cache module
      • betty.classtools module
      • betty.concurrent module
      • betty.content module
      • betty.copyright_notice module
      • betty.data 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.factory module
      • betty.file module
      • betty.functools module
      • betty.gender 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.machine_name module
      • betty.multiprocessing module
      • betty.npm 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.string module
      • betty.subprocess module
      • betty.typing module
      • betty.warnings module
    • betty
      • betty package
        • betty.assertions package
        • betty.asset_directories package
        • betty.attrs package
        • betty.caches package
        • betty.collection package
        • betty.commands package
        • betty.console package
        • betty.content_builders package
        • betty.copyright_notices package
        • betty.css_resources package
        • betty.datas package
        • betty.date 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.extension package
        • betty.extensions package
        • betty.genders package
        • betty.gramps 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.js_resources package
        • betty.licenses package
        • betty.life_cycle package
        • betty.links package
        • betty.loaders package
        • betty.locale package
        • betty.media_type package
        • betty.media_types package
        • betty.openapi package
        • betty.place_types package
        • betty.plugin package
        • betty.portable package
        • betty.privacy package
        • betty.progresses package
        • betty.project package
        • betty.renderers package
        • betty.rich package
        • betty.roles package
        • betty.serializers package
        • betty.servers package
        • betty.service package
        • betty.service_level package
        • betty.sphinx package
        • betty.test_utils package
        • betty.url package
        • betty.user package
        • betty.wiki package
        • betty.about module
        • betty.app module
        • betty.argparse module
        • betty.asset module
        • betty.asyncio module
        • betty.attr module
        • betty.cache module
        • betty.classtools module
        • betty.concurrent module
        • betty.content module
        • betty.copyright_notice module
        • betty.data 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.factory module
        • betty.file module
        • betty.functools module
        • betty.gender 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.machine_name module
        • betty.multiprocessing module
        • betty.npm 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.string module
        • betty.subprocess module
        • betty.typing 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.