I'm packaging graph-tool for RHEL.  I'd like to contribute the spec for distribution so that your users can easily build packages on Red Hat systems, and you can offer them for distribution if you choose to do so.

I did notice a couple of problems while packaging.

First, your build scripts appear to install into the general library path(distutils.sysconfig.get_python_lib()) when it should install to the platform-dependent library path (distutils.sysconfig.get_python_lib(1)).  According to the manual, I believe you should be using pyexecdir rather than pythondir.
http://www.gnu.org/software/automake/manual/html_node/Python.html

Second, numpy headers appear to be included incorrectly.
>>> print numpy.get_include.__doc__

    Return the directory that contains the NumPy \*.h header files.

    Extension modules that need to compile against NumPy should use this
    function to locate the appropriate include directory.
$ python -c 'import numpy; print "-I" + numpy.get_include()'
-I/usr/lib64/python2.7/site-packages/numpy/core/include
However, arrayobject.h is included directly where the correct path should be numpy/arrayobject.h.  Because the headers don't include that prefix, the spec file includes a static path for the headers.

Similarly, the cairomm headers are included without a prefix.
# pkg-config --cflags cairomm-1.0
-I/usr/include/cairomm-1.0 -I/usr/include/cairo -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 
cairommconfig.h is included, when the correct path is cairomm/cairommconfig.h.