Source code for Gramps Genealogical program
Clone or download
Failed to load latest commit information.
bash Bash completetions: a little cleaning up May 6, 2016
data Merge branch 'gramps50' Mar 3, 2018
debian Update the Debian changelog after the 5.0.0 release Aug 9, 2018
docs Fix ImportError & update API docs year 2018 (#564) Feb 28, 2018
example Merge from gramps50 Jul 12, 2018
gramps Bump to 5.0.1 Aug 9, 2018
help remove vestage of (old) SVN source-control system Oct 2, 2017
images Revert "Clone event w/o references (2nd pass, part B)" May 12, 2018
mac File copy doesn't work if the glob can match directories. Aug 9, 2018
po Fix up bad translation files after merge Aug 9, 2018
scripts 6283: test flag for python on new script, not on (thank … Feb 25, 2013
test remove vestage of (old) SVN source-control system Oct 2, 2017
windows remove vestage of (old) SVN source-control system Oct 2, 2017
.gitattributes Add Progen import test files Jan 25, 2017
.gitignore Add `pycharm` dir to .gitignore Jul 27, 2017
.mailmap add another address to the mailmap Jun 26, 2017
.pylintrc Add .pylintrc file Jan 10, 2016
.travis.yml Remove trailing whitespace May 23, 2017
AUTHORS remove vestage of (old) SVN source-control system Oct 2, 2017
CONTRIBUTING Mention translation URLs in Contribute (#381) May 5, 2017
COPYING 6918:… Nov 7, 2013
ChangeLog Update Changelog and NEWS files Aug 9, 2018
FAQ remove vestage of (old) SVN source-control system Oct 2, 2017 Move GRAMPS_RESOURCE default into grampsapp.main() Apr 15, 2016
INSTALL Change INSTALL to replace 'python' with 'python3 for script invokes Nov 5, 2017 merge forward (working release steps on gramps42) Aug 1, 2017
NEWS Update Changelog and NEWS files Aug 9, 2018 Merge branch 'gramps50' Mar 3, 2018
RELEASE_NOTES remove vestage of (old) SVN source-control system Oct 2, 2017
TODO replace with a link to GEPS page Oct 27, 2012
TestPlan.txt add test for reports Oct 10, 2004 Merge from gramps50 Jul 12, 2018

The Gramps Project ( ) Build

We strive to produce a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists.

Please read the COPYING file first.

Please read the INSTALL file if you intend to build from source.


The following packages MUST be installed in order for Gramps to work:

The following three packages with GObject Introspection bindings (the gi packages)

The following package is needed for full translation of the interface to your language:

  • language-pack-gnome-xx

Translation of GTK elements to your language, with xx your language code; e.g. for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the gramps source.

The following packages are STRONGLY RECOMMENDED to be installed:

  • osmgpsmap

Used to show maps in the geography view. It may be osmgpsmap, osm-gps-map, or python-osmgpsmap, but the Python bindings for this must also be present, so gir1.2-osmgpsmap-1.0. Without this the GeoView will not be active, see

  • Graphviz

    Enable creation of graphs using Graphviz engine. Without this, three reports cannot be run. Obtain it from: or try graphviz and python3-pygraphviz from your packages.

  • PyICU

Improves localised sorting in Gramps. In particular, this applies to sorting in the various views and in the Narrative Web output. It is particularly helpful for non-Latin characters, for non-English locales and on MS Windows and Mac OS X platforms. If it is not available, sorting is done through built-in libraries. PyICU is fairly widely available through the package managers of distributions. See (These are Python bindings for the ICU package.

  • Ghostscript

    Used by Graphviz reports to help create PDF's

The following packages are optional:

  • gtkspell

Enable spell checking in the notes. Gtkspell depends on enchant. A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0

  • rcs

The GNU Revision Control System (RCS) can be used to manage multiple revisions of your family trees. See info at Only rcs is needed, NO python bindings are required

  • PIL

Python Image Library (PILLOW) is needed to crop images and also to convert non-JPG images to JPG so as to include them in LaTeX output. (For Python3 a different source may be needed, python-imaging or python-pillow or python3-pillow)

  • GExiv2

Enables Gramps to manage Exif metadata embedded in your media. Gramps needs version 0.5 or greater. See

  • ttf-freefont

More font support in the reports

  • geocodeglib

A library use to associate a geographical position (latitude, longitude) to a place name. This is used if you already have osmgpsmap installed. If installed, when you add or link a place from the map, you have a red line at the end of the table for selection. Debian, Ubuntu, ... : gir1.2-geocodeglib-1.0 Fedora, Redhat, ... : geocode-glib openSUSE : geocode-glib ArchLinux : geocode-glib ...

Optional packages required by Third-party Addons

Third-party Addons are written by users and developers and unless stated are not officially part of Gramps. For more information about Addons see:

Prerequistes required for the following Addons to work:

No longer needed:

  • Since Gramps 4.2: gir-webkit

  • Since Gramps 4.0: pygoocanvas, pygtk, pyexiv2

  • Since Gramps 3.3: python-enchant Enchant

  • Since Gramps 3.2: python glade bindings

  • Since Gramps 3.1: yelp - Gnome help browser. No offline help is shipped see Gramps website for User manual


The User Manual is maintained on the Gramps website: