Genealogical Numbering Systems as a relationship calculator option?

While researching information on a question about how Gramps calculated Ahnentafel numbers, I discovered that code for calculating Genealogical Numbering System values are scattered in Gramps.

Would they be a good candidate for consolidation with the Relationship Calculator?

Existing Gramps code calculating relative numbers


from gramps.gen.relationship import get_relationship_calculator called by the Relationship Calculator tool



Ancestor Numbering system calculations:

Ahnentafel Report gramps\plugins\textreport\


Detailed Ancestral Report gramps\plugins\textreport\

Descendant Numbering system calculations:

Descendant Report gramps\plugins\textreport\

Detailed Descendant Report gramps\plugins\textreport\

References to other Genealogical Numbering Systems threads in this forum:

Not sure if this is what you mean, but it could be useful to enhance the relationship calculator so that it returns not only the common ancestor of the two given people, but also their respective descendant numbers from that ancestor, according to the chosen scheme. So there would be one more input value and two more output values.

The Genealogical Numbering Systems (GNS) that is almost universally supported in Gramps as an on-screen or output option is the internal universally unique identifier (UUID) system: “Gramps ID”. The next easiest to support is the UUID system: Gramps internal handle. (You KNOW any place there is a Gramps ID, there is also a Handle. But the string length is a challenge & limitation.)

So a 1st implementation might be changing the Show ID option from a checkboxes to a Pop-up menu of available UUID systems.

The hope would be that once a GNS was made accessible in a library, that GNS Support (in Gramps Reports) display options could be added (with less effort) to any appropriate (progenitor-based oriented) Report or Chart.

Gramps currently supports: Simple numbering, 5 d’Aboville, de Villiers, Henry, Modified Henry System, Meurgey de Tupigny, Modified Register.

So taking the example of 2 Descendant Reports which currently offer a different subset (6 out of 7) progenitor-based descendant GNSs supported in Gramps.

The “Web Pages:Descendant Indented Tree” currently supports all but the “Modified Henry” GNS. That is available in the “Text Reports:Descendant Report” which lacks only the “Modified Register” GNS.

This means that the code to calculate 5 GNS IDs exists redundantly in just these 2 reports. They repeat again in various other reports, views and gramplets. And are entirely absent from other areas. Logic errors might exist in any instance of the code. But fixing in one doesn’t fix the other. And adding a new GNS to one doesn’t make it available to any of the others.

If instead, the Report could leverage a library of GNS options, it might request a list of GNSs compatible with progenitor-based descendant GNS options. Then the report could offer a pop-up of the 2 UUID (Gramps ID and handle) and the 7 known descendant options.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.