Open main menu

Gramps β

Writing a plugin/he

Writing a plugin

for Gramps version 3.2 and earlier


This article's content is incomplete or a placeholder stub.
Please update or expand this section.

Write it

To get started writing a plugin, please see the following tutorials:

For more general Gramps development information, see:

Test it

There is some samples of tests for localized Relationships calculators or Date handlers:

if __name__ == "__main__":
   # Test function. Call it as follows from the command line (so as to find
   #        imported modules):
   #    export PYTHONPATH=/path/to/gramps/src 
   #    python src/plugins/rel/ 
   """TRANSLATORS, copy this if statement at the bottom of your module, and test your work with:
       python src/plugins/rel/
   from Relationship import test
   RC = RelationshipCalculator()
   test(RC, True)

def _test(rc, onlybirth, inlawa, inlawb, printrelstr):
   """ this is a generic test suite for the singular relationship
           TRANSLATORS: do NOT translate, use __main__ !
   import sys
   import random
cd /home/me/grampssvn
export PYTHONPATH=/home/me/grampssvn/src 
python src/plugins/rel/
cd /home/me/grampssvn
export PYTHONPATH=/home/me/grampssvn/src 
pylint src/plugins/rel/ > /home/me/grampssvn/src/plugins/rel/it.txt

Share it

Have you written a plugin for Gramps you want to share with the world? Here's how you do it:

  • Add the correct license. Gramps is GPLv2, you use the Gramps plugin system, so make sure you have the correct license at the top of your file. See Howto: Contribute to Gramps
  • Create a filename.tar.gz or file of your plugin code
  • Upload the code to Github (Fork ) and submit a Pull Request.
  • Add an entry of your plugin to Third-party Addons. See Addon list legend for meaning of columns. Please use these meanings and pay attention to details; this page is machine readable.
  • Create a new wiki page, and refer to that page here, with a short description of what the plugin does

Internationalize it (3.2 and later)

The previous section describes a new method for Gramps 3.1 and earlier.

This section describes a method of internationalizing your code for versions of Gramps 3.2 and later.

Please see Addons development for complete details.

Also, have a look at Coding for translation.


  • We support right to left languages like Arabic, so never constructs text parts by concatenation of pieces. Always use full sentences/paragraphs with variable substitution, so that a right to left language can translate it correctly.