Forums

Please or Register to create posts and topics.

GEDCOM X RS interface to RootsMagic

Hi all,

GEDCOM X RS is the API used by FamilySearch; this is the API RootsMagic will be using to integrate with FamilySearch. I want to go in the other direction - I want to write a client that can call an API and get data from my RootsMagic database. In other words: I want to implement a read-only proxy that will connect to my RootsMagic database to publish my data via a GEDCOM X RS API.

Before I reinvent the wheel: Has anyone done this or seen something that does this?

I'm only planning to implement a small subset of the API, not the full thing.

Thanks,

Michael

You are the first person I've heard from with the idea you have presented. Very novel, indeed! Good luck with it and do keep us abreast of your major steps in progress.

kevync has reacted to this post.
kevync

My project has been published to https://github.com/aviast/rmgedcomx

Beware: I'm not anywhere near a good enough coder to have coded this project this quickly. This has been vibe coded - you have been warned 😀

There are two components to the project:

  1. A simple server written in Go, and
  2. An equally simple client written in Python.

The documentation is pretty comprehensive and should allow you to build and run the server without any issues. Once the server is running you can fire up the client and interrogate your RootsMagic database via GEDCOM X RD!

Please play with it and let me know if you have any issues or suggestions.

Regards,

Michael

I had to look up "vibe coding" to understand what you meant and realise that I had been doing that with DeepSeek and Gemini to develop SQLite scripts to query RootsMagic last year, some of which were posted on the Blog or in this Forum.

I've yet to look into your RM database client-server system but it sounds very novel!

The server is written in the Go programming language which requires compilation. Installing go development tools and compiling the code is a big ask of anyone interested in this project, so I've configured GitHub to compile the code and make executables available (for Windows and MacOS). To find these files go to the project on GitHub and look for Releases section on the right side. Click on the version number and find the relevant archive in the Assets table. When you extract the zip file you will see it contains four files:

  1. gedcomx_browser.py: A GEDCOM X client written in Python
  2. LICENCE: A copy of the GPLv3 licence
  3. rmgedcomx.exe: The server
  4. royal92.rmtree: A sample RootsMagic database

The server must be started from the command line with one or more RootsMagic databases nominated with the "-db" flag:

Start server

Once the server is listening you can send requests; in the absence of a proper client you can use PowerShell commands (on Windows) or curl (on Apple):

Query the server

The included Python client requires that Python be installed (turning that into an executable is on my to-do list). If you have Python installed you can start the client with `python gedcomx_browser.py`, and should be able to connect to the server and fetch information:

Python client

This server was not my ultimate goal - I want to develop a Digital Asset Management tool that uses this server. But that's for another thread...

Uploaded files:
  • rmgedcomx-start.png
  • rmgedcomx-manual.png
  • rmgedcomx-victoria.png

very cool stuff -- thanks for sharing -- I need to go back to digest this.