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

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.2
File Size Uploaded
gedcomkit-0.1.2.tar.gz 214.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gedcomkit 0.1.2
File Interpreter ABI Platform
gedcomkit-0.1.2-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.1 kB

Release files / gedcomkit-0.1.2.tar.gz

Download URL gedcomkit-0.1.2.tar.gz
Size 214.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c992cb5732897a1e0b6c051d0919bcd468762e00783bb051edfe4bb561fc9cbd
BLAKE2b-256 checksum
How to use checksums
2e7502e2907d6550cba40228da9b7dda20a1a0ae0ad7849dd9aa5f375d56879c
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.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gedcomkit-0.1.2-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
906aac301d690a78b89da96ade7007afb31cc9e72292430ad33a9c65e873ab97
BLAKE2b-256 checksum
How to use checksums
48706f6c85f6d7395157700d30da7bc76d5f17e621ee29ae61dd6926c9478612
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

This release

0.1.2 This release

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