# Gramps (software)

Gramps, formerly GRAMPS (an acronym for Genealogical Research and Analysis Management Programming System), is a free and open-source genealogy software. It is developed in Python using PyGObject and utilizes Graphviz to create relationship graphs.
Gramps represents a form of commons-based peer production, created by genealogists for genealogists. Beyond human family trees, the software has been used to create animal pedigree charts and academic genealogies that map mentoring relationships among scientists, physicians, and scholars.

## Features

Gramps is a widely used offline genealogy software suite. Its features include:
* Support for multiple languages and cultural contexts, including patronymic, matronymic, and multiple surname systems.
* Full Unicode compatibility.
* Relationship calculators, which accommodate language-specific relationship terminologies that lack direct translations in other languages.
* The ability to generate reports in various formats, such as .odt, LaTeX, .pdf, .rtf, .html, and .txt.
* Tools for creating a wide range of reports and charts, including relationship graphs of large, complex acyclic charts.
* Extendability through more than 10 types of plugins. These plugins include Gramplets and Views; Gramplets provide dynamic or interactive views of data within the main Gramps interface.
* An event-centric documentation approach, similar to the CIDOC Conceptual Reference Model used by many cultural heritage institutions.
* A "sanity check" feature that flags improbable events, such as births involving individuals at unlikely ages.
* Support for multiple calendar systems, including Gregorian, Julian, and Islamic calendars.
* Comprehensive programmer's API documentation, with free and open-source code made publicly available

## File format

The core archival file format of Gramps is named Gramps XML and uses the file extension .gramps. It is extended from XML. Gramps XML is a free format, and its files are usually compressed using gzip. The file format Portable Gramps XML Package uses the extension .gpkg and is currently a .tar.gz archive including Gramps XML together with all referenced media. Users may rename the file extension .gramps to .gz for editing the content of the genealogy document with a text editor. Internally, Gramps uses SQLite as the default database backend, with other databases available as plugins.
Gramps can import from the following formats: Gramps XML, Gramps Package (Portable Gramps XML), Gramps 2.x .grdb (older versions Gramps), GEDCOM, CSV.
Gramps supports exporting data in the following formats: Gramps XML, Gramps Package (Portable Gramps XML), GEDCOM, GeneWeb's GW format, Web Family Tree (.WFT) format, vCard, vCalendar, CSV.

### Programs that support Gramps XML

* Gramps Web is a collaborative web app built on the core of Gramps itself and supports Gramps XML import and export
* Betty by Bart Feenstra generates static websites from Gramps XML and Gramps XML Package files as alternatives to GEDCOM.
* PhpGedView (version 4.1 and up) supports output to Gramps XML.
* The Gramps PHP component JoomlaGen for Joomla uses an upload of the GRAMPS XML database export to show genealogical information and overviews. JoomlaGen is compatible with GRAMPS 3.3.0.
* The script tmg2gramps by Anne Jessel converts The Master Genealogist v6 genealogy software datafile to a Gramps v2.2.6 XML.

## Languages

Gramps is available in 45 languages (As of December 2014).
Gramps has two special-use sub-translation languages:
* Animal pedigree which allows to keep track of the pedigree and breed of animals
* Same gender/sex which gives the option of removing gender-biased verbiage from reports.

## Release history

The project began as GRAMPS in 2001, and the first stable release was in 2004.
The following table shows a selected history of new feature releases for project. (Patches and bug fixes are published on GitHub and periodically collated in minor "bug fix" releases.)
| Version | Release date | Name | Comment |
| GRAMPS 1.0.0 | 2004-02-11 | "Stable as a Tombstone" | Used XML to store all information. (Don originally called the program Relativity before his father suggested the name GRAMPS (Genealogical Research and Analysis Management Programming System)) |
| GRAMPS 2.0.0 | 2005-05-11 | "The Bright Side of Life" | Introduction of the Berkeley database backend. |
| GRAMPS 2.0.8 | 2005-09-05 | "Romani ite domum" | First port to Macintosh OSX posted to MacPorts. |
| GRAMPS 2.2.1 | 2006-10-30 | "One, two, five!" | Originally only available for Unix-like operating systems, with this release GRAMPS became available for Windows. |
| GRAMPS 3.0.0 | 2008-03-24 | "It was just getting interesting." | Introduced the new Family Tree database format .gpkg and deprecated the old .grdb database format. Plugin system called "Gramplets". |
| Gramps 3.2.0 | 2010-04-15 | "I am your father" | Name changed from GRAMPS. New management system for plugins, performance optimization, hierarchical place list, and map plotting view. |
| Gramps 3.4.0 | 2012-05-21 | "Always look on the bright side of life" | Replaced Source References with Citations that allow sharing and can have media objects and 'data' elements attached to them. The Gramps XML Specification was updated to make it idempotent. |
| Gramps 4.0.0 | 2013-05-21 | "The Miracle of Birth" | Conversion to GTK+ 3, add support for Python 3. Keeps the same data format as Gramps 3.4. |
| Gramps 4.1.0 | 2014-06-18 | "Name go in book" | Full Python 3 support. New place hierarchies model. Different data format to the Gramps 3.4 series. |
| Gramps 4.2.0 | 2015-08-03 | | Python 3 support only (Python 2 support dropped). Different data format to the GRAMPS 3.4 series. |
| Gramps 5.0.0 | 2018-07-24 | | Python 3.2+ only / GTK 3.10+ / BSDDB 3 (Default backend) / SQLite3 (Experimental backend) |
| Gramps 5.1.0 | 2019-08-21 | | Python 3.3+ only / GTK 3.12+ / SQLite3 (Default backend) / BSDDB 3 (Legacy backend) |
| Gramps 5.2.0 | 2024-02-23 | | Python 3.8+ only / GTK 3.24+ / SQLite3 / BSDDB 3 (Read-only for upgrades) |
* Full history of previous releases.