Lifelines Emulation in GEDitCOM II

Lifelines is a menu-based, Unix tool written by Tom Wetmore in the 1990's for genealogy research. Two of its powerful features are its excellent support for GEDCOM files and it's ability to be controlled by "Lifelines Scripts" to report on the genealogy data. Two of its drawbacks are that does not run in a modern graphical user interface and is not actively being developed (see here for development status).

Like Lifelines, GEDitCOM II and GEDitCOM also have excellent support for GEDCOM files and both can be scripted for custom genealogy reports. A tutorial on converting former Lifelines scripts into GEDitCOM II scripts that used to be on this web page has been moved to within two extensions that emulate Lifelines:

  1. Internal Scripting Emulation: this version is preferred because it is much faster. It requires GEDitCOM II, version 3.5 or newer or any GEDitCOM version. In fact, an ability to emulate Lifelines scripting with Internal Scripting was a used as a goal for implementing many improvements of the Internal Scripting langage that first appeared in version 3.5.
  2. Python Emulation: this prior emulation method based on download of a Python modulue has been repackaged into an extension for easier installation and use. It requires GEDitCOM II.

The documentation for both Lifelines-emulation extensions (also available using the Extensions→Documentation... menu command) gives details on emulation options along with a list of prior Lifelines scripts that have already be translated. These translated scripts can be run in GEDitCOM II or GEDitCOM without the user doing any emulation scripting. Those interested in translating more Lifelines scripts can consult documentation for how to translate scripts and can refer to original Lifelines scripting manual (which is included in the extensions). Finally, all Lifelines scripts provided in its download are provided in the "Text Files" section of each extension when opened in GEDitCOM Editor. The already-translated ones have added an underscore at the start of the script name. All the rest are starting points for translating more scripts.