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

Metadata

Release files for gedcomkit 0.1.7

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.7
File Size Uploaded
gedcomkit-0.1.7.tar.gz 253.3 kB Details

Built distribution (wheel)

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

Release files / gedcomkit-0.1.7.tar.gz

Download URL gedcomkit-0.1.7.tar.gz
Size 253.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ccdb44b43dbd332e2f72ab7734fd6b86584cc43a3e5124f6de7a8ba10de91b55
BLAKE2b-256 checksum
How to use checksums
5ce99747d39db4bc8d542d06aadbf9b7f72cba87dfeec2361340342c29358c28
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.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gedcomkit-0.1.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 602.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
f1d8547d357707c7b6027aadd98b6e8ce1f45d8d334e7c11e69b8bd2f0c0fbe6
BLAKE2b-256 checksum
How to use checksums
74393958a47d4298baa9d70360b88793715d4cd43680d6415b6a67fc49152fce
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.16

5 release files

0.1.15

5 release files

0.1.14

5 release files

0.1.12

5 release files

0.1.11

5 release files

0.1.10

5 release files

0.1.9

5 release files

0.1.8

5 release files

This release

0.1.7 This release

2 release files

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

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