Skip to main content

gedcomkit (Python)

Python bindings for gedcomkit, an archival-grade GEDCOM library written in Rust: byte-preserving round-trip, encoding detection and reporting, GEDCOM 5.5 through 7.x. A node no caller touched is written back byte for byte; nothing is dropped for being unrecognized; hostile input is bounded.

import gedcomkit

doc = gedcomkit.Gedcom.parse(open("family.ged", "rb").read())
print(doc.encoding)          # "Read as ANSEL, declared ANSEL"
print(len(doc), doc.version)

for person in doc.individuals():
    print(person["names"], person["events"])

for finding in doc.validate():
    print(finding["severity"], finding["message"])

# The family graph reads both directions of the link, so a one-sided
# file (FAMC only, no CHIL) still answers.
print(doc.parents_of("@I3@"))

# Edit one structure by the path its view carries; every untouched
# line still writes back byte for byte.
doc.set_logical_value("@I1@", [0], "Ada /Lovelace/")
open("family.ged", "wb").write(doc.to_bytes())

Build from this directory with maturin:

maturin develop          # into the active virtualenv
maturin build --release  # a wheel

The Rust core lives at the root of the same repository; this crate is a thin PyO3 layer over its public API.

License: AGPL-3.0-or-later, the same as the core (see LICENSE).

Release files for gedcomkit 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gedcomkit 0.1.5
File Size Uploaded
gedcomkit-0.1.5.tar.gz 232.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gedcomkit 0.1.5
File Interpreter ABI Platform
gedcomkit-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details

Total release size: 726.0 kB

Release files / gedcomkit-0.1.5.tar.gz

Download URL gedcomkit-0.1.5.tar.gz
Size 232.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c3ca710ce19669a4bdb47147fc4ce9c7cd9a8c2780b950731d2bb533ac2d8953
BLAKE2b-256 checksum
How to use checksums
53b66950699c7aff1745f6b424d056e6adbcc9d55ec655e4c67345006474e0ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / gedcomkit-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gedcomkit-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 493.8 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
285853b2d09421e75f1662df09adf73c6b3a4965290dffcc16195f971ce2ea35
BLAKE2b-256 checksum
How to use checksums
5446dd5d500e89813205504d4754178bc2055c7ac6847d6993ee01b651651b6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.1.6

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page