Mathematics Genealogy Grapher

My math genealogy treeIntroduction

The Mathematics Genealogy Grapher (Geneagrapher) is a software tool to gather the information for building math genealogy trees with data from the Mathematics Genealogy Project. The information extracted is stored in dot file format, which can then be passed to Graphviz to generate a graph.

The current release of the Geneagrapher is client software. That is, unlike the original version, users run the application on their machines. A new web-based version may be developed in the future.


  • The original version of the Geneagrapher was deployed in October 2006 and was a web-based service where users entered information about the graph they wanted to construct. It was available at my old site until its deletion sometime in August 2009. It was only able to produce ancestor trees.
  • Version 0.2 was released on October 6, 2008 as a Python package that a user runs from his or her workstation. This version is able to produce ancestor and descendant trees, and since it runs from the user’s machine, there is no software-imposed limit on the number of starting nodes. Try not to abuse the power.
  • Version 0.2-r1 was released on October 7, 2008 and was a maintenance release related to installation activities on Python 2.6.
  • Version 0.2.1 was released on September 1, 2009. This version fixed a parsing bug that caused only one advisor to be extracted from pages with multiple advisors. This bug was created due to minor changes in the Mathematics Genealogy Project pages.
  • Version 0.2.1-r1 was released on November 3, 2010. This was a maintenance release fixing tests that broke sometime after the release of version 0.2.1.
  • Version 0.2.1-r2 was released on August 11, 2011. This was a maintenance release fixing a test broken by updates to the genealogy data.



  • Python must be present. The Geneagrapher has been tested with Python versions 2.4, 2.5, and 2.6.
  • Graphviz is not needed by Geneagrapher, but is needed to transform the generated “dot” file into the desired format.


If you have easy_install installed

In a terminal window, run the following command.


Or if you downloaded the file to verify the integrity, run

easy_install Geneagrapher-0.2.1-r2.tar.gz

in the directory where the downloaded distribution is located.

If you do not have easy_install installed

  1. Unpack the distribution you downloaded above.
  2. Change directory into Geneagrapher-0.2.1-r2.
  3. Install the package by typing:
    python install


Following installation, a script named ggrapher (or ggrapher.exe in Windows) will be on your system in your default Python script installation directory. Type

ggrapher --help

to view the options available. Also see the usage guide.