/GEDCOM

Primary LanguagePythonApache License 2.0Apache-2.0

FamilySearch GEDCOM

The official FamilySearch GEDCOM specification for exchanging genealogical data.

This repository is for the collaborative development of the FamilySearch GEDCOM specification. If you are looking for the specification itself, see https://gedcom.io.

If you are looking for FamilySearch's GEDCOM 5.5.1 Java parser, which previously had this same repository name, see https://github.com/familysearch/gedcom5-java

Repository structure

  • changelog.md is a running log of major changes made to the specification.
  • exid-types.json is a JSON file containing registered EXID-TYPE values.
  • specification/ contains the FamilySearch GEDCOM specification:
    • specification/gedcom-number-title.md files are the source documents used to define the FamilySearch GEDCOM specification. It is written in pandoc-flavor markdown and is intended to be more easily written than read. It is splint into several files (ordered by the integer in their names) to facilitate comparing files.
    • In a local check-out, this is also where the build scripts place rendered files gedcom.html and gedcom.pdf; see releases for a pre-rendered copy of these.
    • specification/terms/
  • build/ contains files needed to render the specification
  • extracted-files/ contains digested information automatically extracted from the specification. All files in this directory are automatically generated by scripts in the build/ directory.
  • version-detection/ contains the FamilySearch GEDCOM version detection specification:
    • version-detection/version-detection.md describes how to detect the GEDCOM version of a file.

Branches

  • main contains the current release. Patch versions are generally pushed directly to main upon approval.

  • next-minor contains a working draft of the next minor release. Changes from main have been discussed and approved by the working group supervising the next minor release, but have not been fully vetted and approved for inclusion in the standard and may change at any time without notice.

  • next-major contains a working draft of the next major release. Changes from main have been discussed and approved by the working group supervising the next major release, but have not been fully vetted and approved for inclusion in the standard and may change at any time without notice.

  • All other branches are for conversation drafts that may or may not be incorporated into a future version of the specification.