Gramps (software)
| Gramps | |
|---|---|
| File:GRAMPS logo.png | |
| Screenshot of Gramps (v.5.0.1) with its fan chart and the Given name cloud gramplet on the bottom. Screenshot of Gramps (v. 5.0.1) with its fan chart and the Given name cloud gramplet on the bottom. | |
| Original author | Don Allingham[1][2] |
| Developer | The Gramps Team[3] |
| Initial release | April 21, 2001[4] |
| Repository |
|
| Written in | Python (GTK+ 3) |
| Engine | |
| Operating system | Linux, BSD, Solaris, Windows, macOS[5] |
| Platform | GTK+ 3 |
| Available in | Multilingual (40) [6] |
| Type | Genealogy software |
| License | GPL-2.0-or-later[7] |
| Website | gramps-project |
Gramps, formerly GRAMPS (an acronym for Genealogical Research and Analysis Management Programming System),[2] is a free and open-source genealogy software.[8] It is developed in Python using PyGObject and utilizes Graphviz to create relationship graphs.
Gramps represents a form of commons-based peer production,[9] created by genealogists for genealogists.[9][10] Beyond human family trees, the software has been used to create animal pedigree charts[11] and academic genealogies that map mentoring relationships among scientists, physicians, and scholars.[12]
Features
[edit | edit source]Gramps is a widely used offline genealogy software suite.[13] Its features include:
- Support for multiple languages and cultural contexts,[14] including patronymic, matronymic, and multiple surname systems.
- Full Unicode compatibility.
- Relationship calculators,[15] 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.[16]
- 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.[17]
- An event-centric documentation approach, similar to the CIDOC Conceptual Reference Model used by many cultural heritage institutions.[18]
- A "sanity check" feature that flags improbable events, such as births involving individuals at unlikely ages.[2]
- Support for multiple calendar systems, including Gregorian, Julian, and Islamic calendars.[19]
- Comprehensive programmer's API documentation, with free and open-source code made publicly available[20]
File format
[edit | edit source]| Gramps XML[21] | |
|---|---|
| Filename extension |
.gramps |
| Internet media type |
application/x-gramps-xml[22] |
| Developed by | Gramps |
| Initial release | 2004 |
| Latest release | 1.7.2 19 March 2025 |
| Type of format | Genealogy data exchange |
| Extended from | XML |
| Website | gramps-project |
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.[23] 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.[24]
Gramps can import from the following formats:[25] 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,[26] Web Family Tree (.WFT) format,[27] vCard, vCalendar, CSV.
Programs that support Gramps XML
[edit | edit source]- Gramps Web is a collaborative web app built on the core of Gramps itself and supports Gramps XML import and export[28]
- Betty by Bart Feenstra generates static websites from Gramps XML and Gramps XML Package files as alternatives to GEDCOM.[29]
- PhpGedView (version 4.1 and up) supports[30] 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.[31]
- The script tmg2gramps by Anne Jessel converts The Master Genealogist v6 genealogy software datafile to a Gramps v2.2.6 XML.[32]
Languages
[edit | edit source]Gramps is available in 45 languages[6][33] (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[34]
- Same gender/sex which gives the option of removing gender-biased verbiage from reports.[35]
Release history
[edit | edit source]The project began as GRAMPS in 2001, and the first stable release was in 2004.[8]
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.)[36][37][38]
| 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.[39] Different data format to the Gramps 3.4 series. |
| Gramps 4.2.0 | 2015-08-03 | Python 3 support only (Python 2 support dropped).[40] 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) | |
| Gramps 6.0.0 | 2025-03-19 | Python 3.9+ only / GTK 3.24+ / SQLite3 / BSDDB 3 (Read-only for upgrades) |
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Web Family Tree Archived 29 December 2019 at the Wayback Machine - simonward.com
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ PhpGedView @ Neumont University -
*Clippings Cart (v4.1)
** Add option to zip the GEDCOM/Gramps XML with the associated media files Gramps XML
*Gramps XML (v4.1)
** Add option to download entire GEDCOM in Gramps XML form
** Add option to retrieve raw data from the SOAP web service in Gramps XML format
** Gramps XML export support to include full source and media support
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Animal pedigree, Gramps Wiki
- ^ 0003346: Same gender relationship reports Gramps Bugtracker
- ^ a b Releases ยท gramps-project/gramps, GitHub
- ^ a b gramps-announce - SourceForge.net
- ^ Gramps (software) on SourceForge
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
- Official website
- Gramps-project on GitHub - Source code
- Gramps (software) on SourceForge - Mailing List
- Reviews on Gramps
- Genealogy research with Gramps. LWN.net 2014.
This article contains text from the GNU GPL Gramps Manual V2.9.