Source code for Gramps Genealogical program
The Gramps Project ===================
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.10 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+
- 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.
- orjson - A fast JSON library for Python. Used to increase the performance of Gramps.
- language-pack-gnome-xx
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. Enable creation of graphs using Graphviz engine. Without this, three reports cannot be run. The package name is usually graphviz or python3-pygraphviz. 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/). Used by Graphviz reports to help create PDF files. 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:
Python bindings for Oracle Berkeley database. Only needed to upgrade older Gramps databases.
- gspell
- gexiv2 0.5 or greater
- 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.
Prerequistes required for the following Addons to work:
- Family Sheet - Requires: Pillow
- Graph View - Requires: PyGoocanvas and Goocanvas (python-pygoocanvas, gir1.2-goocanvas-2.0).
- Network Chart - Requires: networkx and pygraphviz
- PedigreeChart - Can optionally use - numpy if installed
No longer needed:
- Since Gramps 5.2:
- Since Gramps 4.2:
- Since Gramps 4.0:
- Since Gramps 3.3:
- Since Gramps 3.2:
- Since Gramps 3.1:
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.