/gramps

Source code for Gramps Genealogical program

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

GitHub CI codecov.io 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.

Requirements

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

  • Python 3.8 or greater - The programming language used by Gramps.
  • GTK 3.24 or greater - A cross-platform widget toolkit for creating graphical user interfaces.
  • pygobject 3.12 or greater - Python Bindings for GLib/GObject/GIO/GTK+

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

  • cairo 1.14.0 or greater - a 2D graphics library with support for multiple output devices.
  • Pycairo 1.13.3 or greater - GObject Introspection bindings for cairo.
  • pango - a library for laying out and rendering of text, with an emphasis on internationalization.
  • pangocairo - Allows you to use Pango with Cairo.
  • librsvg2 - (SVG icon view) a library to render SVG files using cairo.
  • bsddb3 - Python bindings for Oracle Berkeley database.
  • sqlite3 - Python bindings for SQLite Database library.

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:

Used to show maps in the Geography Category. 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.

  • Graphviz

    Enable creation of graphs using Graphviz engine. Without this, three reports cannot be run. The package name is usually graphviz or python3-pygraphviz.

  • 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. (These are Python bindings for the ICU package https://pypi.python.org/pypi/PyICU/).

Provides better image processing performance. If this module is not available, we continue to use Gdk. This provides a real improvement when we need to process many big images.

The following packages are optional:

  • gspell

Enable spell checking in the notes.

The GNU Revision Control System (RCS) can be used to archive a family tree. Multiple revisions of your family trees can be managed. Only rcs is needed, NO python bindings are required.

The friendly Python Image Library fork is needed to crop images and also to convert non-JPG images to JPG so as to include them in LaTeX output. The package name is usually python-pillow or python3-pillow.

Enables Gramps to manage Exif metadata embedded in your media.

Provides genealogical symbols and more fonts for reports

  • geocode-glib

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. The package name is usually gir1.2-geocodeglib-1.0 or geocode-glib.

Python bindings of fontconfig are required for displaying genealogical symbols

Used to validate ISO language codes.

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.

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

Documentation

The User Manual is maintained on the Gramps website.

Bug Tracker

Use the Gramps Bug Tracker to report bugs and suggest new features.

Translation

Gramps uses Hosted Weblate for its translations.