gedcom-reports
Genealogy reports built on top of gedcom-lite.
This package provides higher-level report generators for GEDCOM files. Where
gedcom-lite answers questions like "who are this person's ancestors?",
gedcom-reports produces a complete document — "a 10-generation
Sosa-numbered ancestor report with categorized immigrant tables and a
colonial-ancestors section, in markdown."
The tools in this package make editorial choices about how family history should be presented. Those choices (region taxonomies, era boundaries, numbering schemes) live in package-level config files that can be overridden on the command line.
Install
pip install gedcom-reports
Or run without installing:
uvx --from gedcom-reports gedcom-ancestor-report --help
Tools
gedcom-ancestor-report
Generates a markdown report of a person's direct ancestors. Sosa-Stradonitz numbered. Categorizes ancestors into immigrant tables by region of birth and into a colonial-ancestors section by birth/death era.
gedcom-ancestor-report tree.ged --root @I1@ --depth 7 --output report.md
Sections produced:
- Per-generation listing of every ancestor, numbered using the Ahnentafel system (#1 = subject, father = 2N, mother = 2N+1).
- Alternate Family Tree sections for each FAMC entry the user did not
pick (only when
--alternateis passed for that child). - Optional FAMC Conflicts list (with
--show-conflicts). - Immigrants section with subsections per region (German and Scandinavian, Dutch, French, Spanish and Portuguese, Italian, Irish, Scottish, Welsh, English by default — fully configurable).
- Colonial Ancestors section — colonial immigrants, ancestors born in the colonies, and early US immigrants.
Flags
--root @I1@ Root individual xref. (required)
--depth N Generations to walk (default: 7).
--override "@C@=@F@,@M@" Pick parents @F@ and @M@ for child @C@.
Repeatable. Either parent may be empty.
--alternate @C@ Render an Alternate Family Tree section for
child @C@ from any FAMC entries that weren't
chosen. Repeatable.
--regions PATH Path to regions.yaml or regions.json
(default: bundled).
--alt-depth N Cap depth of alternate family trees
(default: --depth).
--show-conflicts Include a FAMC Conflicts section before the
tables.
--colonial / --no-colonial Include or suppress the Colonial Ancestors
section (default: included). Pass
--no-colonial for non-US-focused reports.
--output PATH Write to a file (default: stdout).
FAMC default behavior
By default, the tool follows only the first FAMC of each individual.
This keeps the main tree unambiguous. To choose a different FAMC for an
individual, use --override. Overrides are silent — the un-chosen parent
set is dropped — unless you also pass --alternate @C@, which surfaces it
as a separate Alternate Family Tree section.
This split lets you handle two distinct cases cleanly:
- Reconciling a data-entry error (a person whose mother and father were
entered as two separate FAMC families that should have been one) — use
--overridealone to merge them silently. - Documenting an unresolved parentage question (sources disagree on
someone's biological parents) — use
--overrideand--alternateso both the chosen and rejected parent sets are visible in the report.
If you want to see which ancestors have multiple FAMC entries before
deciding on overrides, use --show-conflicts.
Region classification
A YAML/JSON config file controls how birth places are bucketed. The default config ships with the package and includes Germanic, Scandinavian, Dutch, French, Iberian, Italian, Irish, Scottish, Welsh, and English buckets.
The classification is two-pass: any US/colonies keyword in the place string classifies the place as US (excluded from immigrant tables); otherwise regions are tested in config order, first match wins.
To customize, copy the bundled regions.yaml (location reported by
gedcom-ancestor-report --print-default-regions) and pass --regions PATH.
Relationship to gedcom-lite
gedcom-lite is the parser and low-level query layer. gedcom-reports
sits on top, depends on gedcom-lite, and produces complete documents.
This separation keeps the parser free of editorial choices and lets new
report types be added here without growing the parser's scope.
License
MIT.
Metadata
Release files for gedcom-reports 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gedcom_reports-0.1.0.tar.gz | 16.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gedcom_reports-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.8 kB
Release files / gedcom_reports-0.1.0.tar.gz
| Download URL | gedcom_reports-0.1.0.tar.gz |
|---|---|
| Size | 16.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ecbe646e493c8f9ed478e88fa764dcc4cdb0f0ac54df1e8e01fc24ac718bee2f
|
|
BLAKE2b-256 checksum How to use checksums |
8b6902e613397d0f72121566b9801510e84584228b131ed2be5780f18822ef4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 7, 2026.
Transparency logRelease files / gedcom_reports-0.1.0-py3-none-any.whl
| Download URL | gedcom_reports-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
09c5adf84eff47e2450cec8a276dbd572a8ac5a6ae1af61fc0702c10f50e2607
|
|
BLAKE2b-256 checksum How to use checksums |
7ba441fc96cdbabbc196f34e42b8a2b1696ee3fa24889f370864db0218d8850e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 7, 2026.
Transparency log