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

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.1
File Size Uploaded
gedcomkit-0.1.1.tar.gz 213.7 kB Details

Built distribution (wheel)

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

Release files / gedcomkit-0.1.1.tar.gz

Download URL gedcomkit-0.1.1.tar.gz
Size 213.7 kB
Tags Source
SHA-256 checksum
How to use checksums
71277c151d72f7791a29c5a5666b39a5fbf40d3dfe1cc046da5e2cdec3e76134
BLAKE2b-256 checksum
How to use checksums
32012575a71e0f3f915a40f5e976dc36f5b6d2bb737d793e345ae1077541f893
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.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gedcomkit-0.1.1-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
7d87594ab374a4a214289ed4dc9957995b27234c96ef7ced0a7d556a766b8bae
BLAKE2b-256 checksum
How to use checksums
fe3056b14456160925809b025856f614fd808814903a62071b3a68e468c61920
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

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

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