PHPackages                             gedcomx/gedcomx-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gedcomx/gedcomx-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gedcomx/gedcomx-php
===================

PHP libraries for GEDCOM X.

3.1.2(9y ago)359.0k↓33.3%14[5 issues](https://github.com/FamilySearch/gedcomx-php/issues)[1 PRs](https://github.com/FamilySearch/gedcomx-php/pulls)2Apache-2.0PHP

Since Mar 18Pushed 9y ago28 watchersCompare

[ Source](https://github.com/FamilySearch/gedcomx-php)[ Packagist](https://packagist.org/packages/gedcomx/gedcomx-php)[ Docs](https://github.com/FamilySearch/gedcomx-php)[ RSS](/packages/gedcomx-gedcomx-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (24)Used By (2)

GedcomX - PHP SDK
=================

[](#gedcomx---php-sdk)

[![Packagist](https://camo.githubusercontent.com/7f57ca732e94d7b2774321e25b02dac409d7f5e5c874eb00028d3b715c226984/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f676564636f6d782f676564636f6d782d7068702e737667)](https://packagist.org/packages/gedcomx/gedcomx-php)[![Build Status](https://camo.githubusercontent.com/588884934733cfeac8173a11126953918f739eef9412df38b4482ecf0e50b567/68747470733a2f2f7472617669732d63692e6f72672f46616d696c795365617263682f676564636f6d782d7068702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/FamilySearch/gedcomx-php)[![Coverage Status](https://camo.githubusercontent.com/91fd2675f09c98030bcf7d3a0fae519430a5f05bae70f3cfb10d7b5c1cbc16fe/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f46616d696c795365617263682f676564636f6d782d7068702f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/FamilySearch/gedcomx-php?branch=master)[![Dependency Status](https://camo.githubusercontent.com/cb22960388babb5bdad3b6f980028ea70714c06925ffff794a449dd126773b84/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3536333363323332333664306162303031363030316630322f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/user/projects/5633c23236d0ab0016001f02)

The PHP implementation of [GEDCOM X](http://www.gedcomx.org), including GEDCOM X extension projects. The library only provides classes for serialization and deserialization of GEDCOM X data and FamilySearch extensions. See [gedcomx-php-client](https://github.com/FamilySearch/gedcomx-php-client)for the FamilySearch API PHP SDK.

Installation
------------

[](#installation)

### Prerequisites

[](#prerequisites)

Prior to installing the GedcomX PHP SDK you must install the following components.

- [Composer](https://getcomposer.org/doc/00-intro.md) (PHP Packages Manager)

    **Notes to Mac Developers:**

    - Mac developers might need to install the Xcode developer tools as part of this process.
    - Mac developers may need to set the `date.timezone` in /etc/php.ini to avoid seeing errors. See [PHP time zones](http://php.net/manual/en/timezones.php) to locate your time zone. For example,

    ```
      `date.timezone = "America/Denver"`

    ```

You can verify that each of the required components is installed by running the following commands one line at a time, at your command line or command prompt:

```
php -v
composer --version
git --version

```

### Installation Steps

[](#installation-steps)

**NOTE:** You only need to install the SDK one time for each PHP project you set up.

The GedcomX PHP SDK uses [composer](https://getcomposer.org) to manage dependencies. These instructions assume that you have installed [Composer globally](https://getcomposer.org/doc/00-intro.md#globally).

Do **one** of the following steps to activate Composer and install the gedcomx-php SDK library:

- Run the following command at a command prompt from the root of your project:

    ```
    composer require gedcomx/gedcomx-php

    ```
- Add the following configuration to your composer.json file then run the `composer install` command at your command prompt.

    ```
    {
        "require": {
        "gedcomx/gedcomx-php": "^1.1"
        }
    }
    ```

Features
--------

[](#features)

- **GEDCOM X Conceptual Model**

    Implementaton of the [GEDCOM X Conceptual Model](https://github.com/FamilySearch/gedcomx/blob/master/specifications/conceptual-model-specification.md) in a rich set of PHP Classes with getter and setter methods. Take a look at a [visual graph](https://github.com/FamilySearch/gedcomx/blob/master/specifications/support/conceptual-model-graph.pdf) of the GEDCOM X Conceptual Model.
- **GEDCOM X Serialization**

    XML and JSON serialization and deserialization of GEDCOM X. For more information, see the [examples](https://github.com/FamilySearch/gedcomx-php/wiki/GEDCOM-X-Serialization).

Changelog
---------

[](#changelog)

- v3.0.0

    - Split out the API networking code into [gedcomx-php-client](https://github.com/FamilySearch/gedcomx-php-client)
- v2.3.0

    - Add the `generateClientSecret()` method to `GedcomxApplicationState`.
- v2.2.0

    - Add `logout()` method to application states.
- v2.1.1

    - Support throttling. Enable in `FamilySearchClient` by setting the `throttling` option to `true`.
- v2.0.1

    - Fix `FamilySearchClient` so that it automatically follows redirects.
- v2.0.0

    - Upgrade to Guzzle 6 which makes PHP 5.5 the minimum supported version.
    - `$state->getRequest()` returns a `GuzzleHttp\Psr7\Request`
    - `$state->getResponse()` returns a `GuzzleHttp\Psr7\Response`
    - Add a new `httpExceptions` configuration parameter on `FamilySearchClient` that causes an exception to be thrown when a 4xx or 5xx response is received from the API.
- v1.2.0

    - Add a custom user agent string when using the FamilySearchClient.
    - Register a [PSR-3](http://www.php-fig.org/psr/psr-3/) logger when using the FamilySearchClient.
    - Add a `setAccessToken()` method to the FamilySearchClient class.
    - Add `getPerson()` method to the PersonsState. Change PersonParentsState, PersonSpousesState, and PersonChildrenState to extend PersonsState.
    - Add `getStatus()` method to the FamilySearchClient class.
- v1.1.1:

    - Fix bugs in the FamilySearchClient class
- v1.1.0:

    - Introduce the FamilySearchClient
    - Fix automated tests
    - Improve runtime of automated tests with php-vcr
    - Remove apache/log4php dependency
- v1.0.0:

    - Initial stable build to enable Composer installation by version number.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community27

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~34 days

Recently: every ~16 days

Total

19

Last Release

3469d ago

Major Versions

v1.2.0 → v2.0.02015-09-02

2.3.3 → 3.0.02016-09-20

PHP version history (2 changes)v1.0.0PHP &gt;=5.3

v2.1.1PHP &gt;=5.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/c3b8050728975a9c0ca2214835e734dc734dc2abf9b2ff5fa508c1b722a04381?d=identicon)[stoicflame](/maintainers/stoicflame)

---

Top Contributors

[![sean-hammon](https://avatars.githubusercontent.com/u/12418897?v=4)](https://github.com/sean-hammon "sean-hammon (150 commits)")[![justincy](https://avatars.githubusercontent.com/u/1037458?v=4)](https://github.com/justincy "justincy (116 commits)")[![stoicflame](https://avatars.githubusercontent.com/u/145838?v=4)](https://github.com/stoicflame "stoicflame (28 commits)")[![marshalldan](https://avatars.githubusercontent.com/u/7398435?v=4)](https://github.com/marshalldan "marshalldan (27 commits)")[![jimmyz](https://avatars.githubusercontent.com/u/32701?v=4)](https://github.com/jimmyz "jimmyz (15 commits)")[![richardkmiller](https://avatars.githubusercontent.com/u/563438?v=4)](https://github.com/richardkmiller "richardkmiller (5 commits)")[![RebeConant](https://avatars.githubusercontent.com/u/9044165?v=4)](https://github.com/RebeConant "RebeConant (2 commits)")[![dyeshurun](https://avatars.githubusercontent.com/u/3088009?v=4)](https://github.com/dyeshurun "dyeshurun (2 commits)")

---

Tags

sdkgenealogygedcomxfamilysearch

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/gedcomx-gedcomx-php/health.svg)

```
[![Health](https://phpackages.com/badges/gedcomx-gedcomx-php/health.svg)](https://phpackages.com/packages/gedcomx-gedcomx-php)
```

###  Alternatives

[aws/aws-crt-php

AWS Common Runtime for PHP

420300.1M4](/packages/aws-aws-crt-php)[zumba/amplitude-php

PHP SDK for Amplitude

409.5M5](/packages/zumba-amplitude-php)[ennnnny/tbk

简约优雅的淘宝客SDK

29016.1k1](/packages/ennnnny-tbk)[anilcancakir/laravel-ai-sdk-skills

A skill system for Laravel AI SDK agents. Define reusable AI capabilities with SKILL.md files.

151.1k](/packages/anilcancakir-laravel-ai-sdk-skills)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
