Gramps (software)

Gramps (formerly GRAMPS, an acronym for Genealogical Research and Analysis Management Programming System) is a free and open-source genealogy software. Gramps is programmed in Python using PyGObject, and uses Graphviz to create relationship graphs.

Gramps is an example of commons-based peer production as free and open-source software created by genealogists, for genealogists.

In addition to human family trees, the program has also been used to create animal pedigree charts as well as academic genealogy showing mentoring relationships between scientists, physicians, and scholars.

Features
Gramps is one of the biggest offline genealogy suites available. Features include:
 * Supports multiple languages and cultures, including patronymic, matronymic, and multiple surname systems.
 * Full Unicode support.
 * Relationship calculators. Some languages have relationship terminology with no proper translation to other languages. Gramps deals with this by allowing for language-specific relationship calculators.
 * Generates reports in multiple formats, including .odt, LaTeX, .pdf, .rtf, .html, and .txt.
 * Produces a wide variety of reports and charts, including relationship graphs of large complex acyclic charts.
 * Gramps can be extended via more than 10 types of plugins. The plugin types that supplement the interface are called Gramplets and Views. A Gramplet is a focused view of data that either changes dynamically during the running of Gramps or provides interactivity to your genealogical data in the broader main view.
 * Gramps employs an explicit event-centric documentation approach, similar to the CIDOC Conceptual Reference Model used by many cultural heritage institutions.
 * "Sanity check" flagging of improbable events, such as births involving people extremely young or old.
 * Support for multiple calendars, e.g. Gregorian calendar, Julian calendar, Islamic calendar, etc.
 * Complete 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 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 (December 2014).

Gramps also 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.)


 * Full history of previous releases.