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.3

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.3
File Size Uploaded
gedcomkit-0.1.3.tar.gz 214.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gedcomkit 0.1.3
File Interpreter ABI Platform
gedcomkit-0.1.3-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: 649.2 kB

Release files / gedcomkit-0.1.3.tar.gz

Download URL gedcomkit-0.1.3.tar.gz
Size 214.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f35a569a5d4d7d1e646b965e1d228bc6da0460b413e5de40e65a74e32251c20d
BLAKE2b-256 checksum
How to use checksums
393349240f972c3dda91570b14c5f1adb303d1432a42aec321b46fd50ae26ead
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.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gedcomkit-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 434.7 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
378a337af75c8b2856a120238fda628b923f812da4ba27c188ee25ca1aab22c6
BLAKE2b-256 checksum
How to use checksums
6c419c1fe0fc5ec8b8e3c178c3969a9c59627c293d3e2989d578e04d74efa7b4
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

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

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