Skip to main content

A Python module for reading and extracting data from GEDCOM files.

Project description

Simple GEDCOM Parser

A simplified Python library for extracting genealogy data from GEDCOM files, focused on two primary use cases:

  1. Extract basic person data - Get a clean list of people with vital information and family relationships
  2. Extract person-source relationships - Map people to their documentary sources

Features

  • Parse GEDCOM 5.5 files
  • Extract person data: names, birth/death dates and places, parents
  • Extract source citations linked to individuals
  • Simple, clean API designed for data analysis and writing to csv files
  • Easy integration with pandas DataFrames

Quick Start

# Read a GEDCOM file and write lists to CSV files
from simple_gedcom import load_gedcom

gedcom = load_gedcom('data/tree.ged')

gedcom.save_person_list_to_csv()

gedcom.save_pedigree_to_csv()

gedcom.save_source_list_to_csv()

gedcom.save_person_source_list_to_csv()

# Use pandas to display lists
import pandas as pd

person_list = gedcom.get_person_list()
df_person_list = pd.DataFrame(person_list)
print(df_person_list.head())

sources = gedcom.get_source_list()
df_sources = pd.DataFrame(sources)
print(df_sources.head()) 

person_sources = gedcom.get_person_source_list()
df_person_sources = pd.DataFrame(person_sources)
print(df_person_sources.head())

pedigree = gedcom.get_pedigree()
df_pedigree = pd.DataFrame(pedigree)
print(df_pedigree.head())

# Search by name
found = gedcom.find_persons_by_name(first===_name="Theodore")
df_found = pd.DataFrame(found)
print(df_found.head())

# Show the pedigree for a specific person (by ID)
pedigree = gedcom.get_pedigree("@I162694122750@")
df_pedigree = pd.DataFrame(pedigree)
print(df_pedigree.head())

Requirements

  • Python 3.6+
  • No external dependencies for core functionality
  • pandas (optional, for DataFrame examples)

License

This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.

Attribution

This project is derived from python-gedcom by Nicklas Reincke and contributors. The original project provided the foundation for GEDCOM parsing, which has been simplified and focused for specific genealogy data extraction use cases.

Original Copyright (C) 2018-2019 Nicklas Reincke and contributors
Simplified version Copyright (C) 2025 [mcobtechnology]

Contributing

This is a simplified, focused library. If you need additional GEDCOM functionality, consider using the full-featured python-gedcom library.

For bug fixes and improvements to the core functionality, feel free to open issues or submit pull requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_gedcom-1.0.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_gedcom-1.0.4-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file simple_gedcom-1.0.4.tar.gz.

File metadata

  • Download URL: simple_gedcom-1.0.4.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for simple_gedcom-1.0.4.tar.gz
Algorithm Hash digest
SHA256 082538108a973473d0fcb46d9665aa51a7c3263848c085d2751687ec957aed17
MD5 60043a942ed3e42789b8ad73a6d91ae3
BLAKE2b-256 04f80130ad06b7df772767c194f6e80499a65fb4b59da5a7072a309f7fd0758d

See more details on using hashes here.

File details

Details for the file simple_gedcom-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: simple_gedcom-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for simple_gedcom-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dc73f54c25d5fce8612c6098e8f344df26f06bda7547603b08164d89bec7c403
MD5 ba73897b5a95edde471e786265e221ba
BLAKE2b-256 4840466f588aa323aca1a0cf56d08e97371814f135438421932d6fd1fdeb2be6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page