Source code for Gramps Genealogical program
Go to file
2023-07-11 22:03:15 +01:00
.github/workflows Update Gramps CI workflow to run on Ubuntu 20.04 2023-03-07 21:56:08 +00:00
bash Bash completetions: a little cleaning up 2016-05-06 16:02:09 -04:00
data Add new gender option of "Other" 2023-07-03 18:32:43 +01:00
debian Merge branch 'gramps51' 2022-03-19 18:06:58 +00:00
docs Port from GtkSpell to Gspell 2023-07-11 22:03:15 +01:00
example Update sample images to include new metadata 2023-07-04 23:00:02 +01:00
gramps Port from GtkSpell to Gspell 2023-07-11 22:03:15 +01:00
help remove vestage of (old) SVN source-control system 2017-10-02 11:13:40 -07:00
images Add new gender option of "Other" 2023-07-03 18:32:43 +01:00
mac Try to import berkeleydb if bsddb3 isn't found. 2023-05-14 21:11:55 +01:00
po Translated using Weblate (Portuguese (Portugal)) 2023-07-11 21:45:05 +01:00
scripts 6283: test flag for python on new script, not on (thank you Paul) 2013-02-25 07:24:40 +00:00
test Test: Use temporary directory to test bsddb 2023-07-02 22:29:42 +01:00
windows Fix strings containing deprecated illegal escape sequences (#648) 2018-09-04 12:03:17 +10:00
.gitattributes Add Progen import test files 2017-01-25 17:35:52 -06:00
.gitignore Add .venv environments 2023-07-02 23:32:54 +01:00
.mailmap add another address to the mailmap 2017-06-26 12:27:32 -07:00
.pylintrc Allow _T_ as a valid function name 2019-05-12 06:59:48 +01:00
AUTHORS Prepare for Release 5.0.2 2019-08-08 12:01:46 -05:00
ChangeLog Update Changelog and NEWS files 2022-02-05 23:23:27 +00:00
CONTRIBUTING Mention translation URLs in Contribute (#381) 2017-05-05 15:50:10 +10:00
COPYING 6918: 2013-11-07 11:26:57 -08:00
FAQ Further changes 2021-06-01 21:14:03 +01:00 Move GRAMPS_RESOURCE default into grampsapp.main() 2016-04-14 20:58:27 -04:00
INSTALL Update INSTALL file 2021-06-01 19:34:37 +01:00 Replace intltool with gettext tools 2020-09-02 21:22:04 +01:00
NEWS Update Changelog and NEWS files 2022-02-05 23:23:27 +00:00 Port from GtkSpell to Gspell 2023-07-11 22:03:15 +01:00
RELEASE_NOTES remove vestage of (old) SVN source-control system 2017-10-02 11:13:40 -07:00 Use reverse-DNS for mime file 2022-02-13 18:31:43 +00:00

The Gramps Project ( )

GitHub CI Translation status

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.

  • 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 files.

The following packages are optional:

  • gspell

Enable spell checking in the notes.

  • 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

Provides genealogical symbols and more fonts for 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 ...

  • fontconfig

Python bindings of fontconfig are required for displaying genealogical symbols

  • magic

Python magic bindings required to have better performances with image processing. If this module is not available, we continue to use Gdk. This avoid to load the image in memory. This is a real improvement when we have many big images. Used in odfdoc, rtfdoc and webreport and tested with png, gif, jpeg, bmp, tiff

file size with magic without (Gdk) ratio

example 1 : 256k 0.00080 0.00575 7

example 2 : 21M 0.00171 0.55860 326

Debian, Ubuntu, ... : python3-magic Fedora, Redhat, ... : python3-magic openSUSE : python-magic ArchLinux : python-magic

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 5.2: xdg-utils

  • 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:

Issue Tracker

Gramps bug and issue tracker can be found here.


Gramps uses Hosted Weblate for its translations: