PHPackages                             gedcomx/gedcomx-php-client - 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-client

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

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

PHP libraries for GEDCOM X.

3.0.3(8y ago)2301[7 issues](https://github.com/FamilySearch/gedcomx-php-client/issues)Apache-2.0PHPPHP &gt;=5.5

Since Mar 18Pushed 7y ago5 watchersCompare

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

READMEChangelog (4)Dependencies (11)Versions (23)Used By (0)

⚠️ *This project is deprecated and no longer supported*

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

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

[![Packagist](https://camo.githubusercontent.com/d122d58c80910d9b4cea9bfcf67d9d24e29f4c36f33d83483539666098fb948e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f676564636f6d782f676564636f6d782d7068702d636c69656e742e737667)](https://packagist.org/packages/gedcomx/gedcomx-php-client)[![Build Status](https://camo.githubusercontent.com/ca4e4b90cdf0e1c675462ebf6597ff02889d5708b75c889ca6dee90dcfd0e6ac/68747470733a2f2f7472617669732d63692e6f72672f46616d696c795365617263682f676564636f6d782d7068702d636c69656e742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/FamilySearch/gedcomx-php-client)[![Coverage Status](https://camo.githubusercontent.com/e880a730a29d9efc2e5978d3e7e8d31a023636febe8c9c66e09db8bf9317d1fe/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f46616d696c795365617263682f676564636f6d782d7068702d636c69656e742f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/FamilySearch/gedcomx-php-client?branch=master)[![Dependency Status](https://camo.githubusercontent.com/3fe5d16e35da0f8eee67afcb1bb71333300ef3fda8ba47fee8a3af81f10ea4a4/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3537656139383333373938303666303033393833353838322f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/user/projects/57ea983379806f0039835882)

The gedcomx-php SDK is the PHP implementation of [GEDCOM X](http://www.gedcomx.org), including GEDCOM X extension projects.

See the wiki for the following:

- A [tutorial](https://github.com/FamilySearch/gedcomx-php-client/wiki) to help you get started.
- A sample app [Github project](https://github.com/FamilySearch/gedcomx-php-sample-app) and [running version](http://gedcomx-php-sample-app.herokuapp.com) to demonstrate basic functionality and usage of the gedcomx-php SDK in action.
- The [gedcomx-php SDK Documentation](http://familysearch.github.io/gedcomx-php-client/index.html).

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

[](#installation)

### Prerequisites

[](#prerequisites)

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

- [PHP 5.5+](http://php.net/manual/en/install.php) (The language of this SDK)

    - *You can install PHP using pre-built environments such as [WAMP Server](http://www.wampserver.com/) (Windows), [XAMPP](https://www.apachefriends.org/) (Windows), [MAMP](https://www.mamp.info/en/) (OS X), or [Vagrant](http://vagrantup.com/) (Any OS).*
- [Git](http://git-scm.com/downloads) (Versioning system for coding)
- [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-client

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

    ```
    {
        "require": {
        "gedcomx/gedcomx-php-client": "^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-client/wiki/GEDCOM-X-Serialization).
- **GEDCOM X RS Client**

    Functionality to interact with a [GEDCOM X RS](https://github.com/FamilySearch/gedcomx-rs/blob/master/specifications/rs-specification.md) compliant web service. GEDCOM X RS is a RESTful specification that defines a set of [application states](https://github.com/FamilySearch/gedcomx-rs/blob/master/specifications/rs-specification.md#4-application-states) for a genealogical data application. This allows you to read the state of a Person, Relationship, Source Description, or other state. Take a look as some [examples](https://github.com/FamilySearch/gedcomx-php-client/wiki/Accessing-a-GEDCOM-X-RS-API) of establishing a RESTful state.
- **FamilySearch API Interface**

    A robust mechanism for interacting with the [FamilySearch API](https://familysearch.org/developers/docs/api/resources). The [FamilySearchClient](http://familysearch.github.io/gedcomx-php-client/class-Gedcomx.Extensions.FamilySearch.Rs.Client.FamilySearchClient.html) class makes it easy to set the configuration to the appropriate API environment (Sandbox, Beta, Production), authenticate using OAuth2, and interact with the FamilySearch Family Tree and other services.

Changelog
---------

[](#changelog)

- v3.0.3

    - Use `api-integ` subdomain instead of `integration`.
- v3.0.2

    - Use the new `api` subdomain in production.
- v3.0.1

    - Use `integration` instead of `sandbox`.
- v3.0.0

    - Split out from [gedcomx-php](https://github.com/FamilySearch/gedcomx-php)
- 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

26

—

LowBetter than 41% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity68

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 ~55 days

Recently: every ~113 days

Total

19

Last Release

3115d ago

Major Versions

v1.2.0 → v2.0.02015-09-02

2.3.3 → 3.0.02016-09-28

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 (135 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)")[![dyeshurun](https://avatars.githubusercontent.com/u/3088009?v=4)](https://github.com/dyeshurun "dyeshurun (2 commits)")[![RebeConant](https://avatars.githubusercontent.com/u/9044165?v=4)](https://github.com/RebeConant "RebeConant (2 commits)")[![misbach](https://avatars.githubusercontent.com/u/796795?v=4)](https://github.com/misbach "misbach (1 commits)")

---

Tags

sdkgenealogygedcomxfamilysearch

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k532.1M2.5k](/packages/aws-aws-sdk-php)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

23.8k69.4k](/packages/grumpydictator-firefly-iii)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

749284.3k35](/packages/civicrm-civicrm-core)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[gedcomx/gedcomx-php

PHP libraries for GEDCOM X.

359.2k2](/packages/gedcomx-gedcomx-php)

PHPackages © 2026

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