=========== greatgramps =========== A static site generator for `GRAMPS `_ family tree databases. greatgramps reads a GRAMPS database and builds a browsable static website from it. Each person in the tree gets their own page with biographical details, family relationships, events, photos, and a relationship label showing how they connect to a chosen root person. The site also includes index pages for people, places, events, census records, birthdays, and surnames. The site is built from the point of view of one or more root people — typically the living members of a family who each want to browse the tree as themselves. Each root person gets their own section of the site where relationship labels ("your grandmother", "your 2nd cousin") are calculated relative to them. A top-level index page lets you switch between roots. The site is generated once and served as plain HTML — no server-side code required. It's not a web frontend for GRAMPS (like `gramps-web `_), in that it's read-only, but it produces a fairly rich browsable site for your tree. Once built, the site can be hosted with ease, with no Python or GRAMPS installation required. This approach lets you manage your own tree using open source software without relying on subscription or proprietary services, while still making it easy to share your tree with your family on the web. .. image:: https://raw.githubusercontent.com/bennuttall/greatgramps/refs/heads/main/img/walter_small.png Requirements ============ - Python 3.10+ - A GRAMPS sqlite database - `GRAMPS `_ Demo ==== A demo is available at `gramps.bennuttall.com `_ which features a generated family tree showcasing what greatgramps can build from a GRAMPS database. Installation ============ Install GRAMPS first. See the `GRAMPS installation instructions `_. Also install PyICU for locale-aware sorting (otherwise GRAMPS logs a warning and falls back to less accurate sorting of names and places): .. code-block:: bash sudo apt install python3-icu Then install the project. The core package only handles reading the GRAMPS database; pick the extras for the features you need: .. code-block:: bash pip install greatgramps[html,cli,pdf] - ``cli`` — the ``grgr`` command-line tool - ``html`` — the command for generating the static site (with ``python -m greatgramps.build`` or ``grgr build`` if you have the CLI extra installed) - ``pdf`` — the ``grgr pdf`` commands (also requires `Ghostscript `_) If you only have the ``html`` extra installed (no ``cli``), build the site with ``python -m greatgramps.build`` instead of ``grgr build`` — it has no dependency on ``typer`` or ``rich``. Links ===== - `PyPI `_ - `GitHub `_ - `Demo `_ Licence ======= - `BSD-3-Clause `_ Table of Contents ================= .. toctree:: :maxdepth: 1 :titlesonly: overview/index config/index features/index templates/index cli/index changelog/index