Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Store family trees in plain text and visualize them in your browser

Project Description

pedigree takes a [yaml][] file like that in examples/example.yaml ([source][]) and outputs a few messy visualizations that do not favor patriliny over matriliny. See examples/ for example output.

![Screenshot 1](media/screenshot1.png) ![Screenshot 2](media/screenshot2.png)


If you’re in a hurry to play,

pedigree -y examples/example.yaml


  • .html file: a [d3][] visualization that can be opened in a web browser
  • .svg file: a “Sugiyama style” tree that can be opened in a web browser
  • .dot file: the [dot][] file used to generate the .svg file


You must first install [graphviz][dot] via

sudo apt-get install [graphviz][dot]


pip install pedigree

pedigree –help will tell you your options.


  • Don’t put all your genealogical data in one text file that you manipulate via a python script written by some idiot on the internet. At least make copies of the one text file.
  • This can only recognize the relations x is the mother of y, x is the father of y, and x is the spouse of y. It has no concept of siblings or partial siblings.
  • The .yaml file depends on every name to be unique, so you may need names like John Smith (2) and John Smith (1).

[yaml]: [d3]: [dot]: [source]:

Release History

This version
History Node


Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting