Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.
Documentation for the API is here:
Pypi download page is here:
To install, do
pip install coinor.gimpy
In order for GiMPy to visualize the graphs it produces, it's necessary to install
GraphViz (Important: after installing
graphviz, you must add the graphviz
bin directory, usually
C:\Program Files (x86)\Graphviz2.38\bin, to your
and choose one of these additional methods for display:
- Recommended: xdot along with
PyGtk and call
- Python Imaging Library and
- Pygame and call
set_display_mode('file')to just write files to disk that have to then be opened manually.
It is also possible to typeset labels in LaTex and to output the graph in
LaTex format using
dot2tex. After installing
dot2tex, this can be done
by simply calling the method
write(basename='fileName', format='dot'), and
dot2tex --tmath fileName.dot or by calling
set_display_mode('dot2tex') and then
display() as usual. At the moment,
the latter only seems to work with version
here. For the former method, just
easy_install dot2tex should work fine.
Additional Notes for Windows Users
On Windows, if you want to use
xdot, there are some additional particulars.
- You must install the 32-bit version of Python 2.7
- You must install the PyGtk version 2.22.6. Version 2.24 is buggy on Windows.
- You must install version 0.6 of xdot with e.g.,
pip install xdot==0.6
Additional Notes for Linux and OS X Users
There have been reports of incompatibilities with recent versions of PyGtk, but I have not attempted yet to track this down. If things break, you may try some variant of the instructions above for installing on Windows.