A Python REST API that lets you query and edit Gramps genealogy family tree databases over the web.
gramps-project/gramps
Gramps is a desktop genealogy program for building and researching family trees, built with Python and GTK.
Open-source alternative to:Ancestry
- Stars
- 3,178
- Forks
- 556
- Open issues
- 195
- Last commit
- 10 days ago
What is it?
Gramps is a genealogy program aimed at both hobbyist family historians and professional genealogists. It is written in Python and uses GTK 3 for its graphical interface, so it runs as a desktop application rather than a web service.
The program covers the core genealogy workflow: recording people, families, events, places, sources, notes and media, and viewing them in several views. Reports can be generated through Graphviz for charts and through Narrative Web for publishing a family tree online. Map support in the Geography view depends on the optional osmgpsmap package, and Exif metadata in media files can be managed when gexiv2 is installed.
The project depends on several optional libraries for extra features such as spell checking in notes, locale-aware sorting through PyICU, and archiving family tree revisions with RCS. Third-party addons extend it further, and translations are maintained on Hosted Weblate.
Key features
- 01Records people, families, events, places, sources and media in one family tree.
- 02Generates charts with Graphviz and publishes family trees as Narrative Web pages.
- 03Shows places on a map in the Geography view when osmgpsmap is installed.
- 04Manages Exif metadata in media files with gexiv2.
- 05Archives family tree revisions with RCS.
- 06Supports third-party addons and translated interface languages.
Use cases
- Researching and documenting a personal or family genealogy on a desktop computer.
- Producing printed or web-published family tree reports for relatives.
- Maintaining a long-running research database with versioned backups.
- Extending genealogy workflows with community-written addons.
Quick start
- 1
Read the INSTALL file for build instructions
- 2
Install Python 3.10 or greater, GTK 3.24 or greater and pygobject 3.12 or greater
- 3
Install the recommended packages such as Graphviz and PyICU for full functionality
Things to know
- Requires GTK 3 and pygobject, which can make installation harder on some systems.
- Several features need optional packages such as osmgpsmap for maps and Graphviz for graph reports.
In collections
Topics
FAQ
- What is gramps?
- Gramps is a desktop genealogy program for building and researching family trees, built with Python and GTK. Gramps is a genealogy program aimed at both hobbyist family historians and professional genealogists. It is written in Python and uses GTK 3 for its graphical interface, so it runs as a desktop application rather than a web service.
- Is gramps free to use? What license does it have?
- gramps is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is gramps still maintained?
- Actively maintained. The last commit to gramps was on Oct 27, 2026.
- What can I use gramps for?
- Researching and documenting a personal or family genealogy on a desktop computer. Producing printed or web-published family tree reports for relatives. Maintaining a long-running research database with versioned backups. Extending genealogy workflows with community-written addons.
- How do I install gramps?
- Read the INSTALL file for build instructions Install Python 3.10 or greater, GTK 3.24 or greater and pygobject 3.12 or greater Install the recommended packages such as Graphviz and PyICU for full functionality
- Where can I get gramps?
- The source code and installation instructions are on GitHub: https://github.com/gramps-project/gramps
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted web application for recording, viewing and sharing family trees, with GEDCOM import and export.
Open-source genealogy software written in OCaml that runs a family-tree database with a web interface, locally or as a server.
A self-hosted family tree web app built on Laravel for recording family members, their relationships, and GEDCOM import/export.
An evidence-first genealogy skill for AI agents that researches family history across former USSR records, with traceable sources.
A desktop wiki editor that stores your notes as plain-text wiki pages in a folder hierarchy, with links, attachments and plugins.