graph-toolEfficient network analysis

What is graph-tool?

Graph-tool is an
efficient Python module for
manipulation and statistical analysis
of graphs
(a.k.a. networks).
Contrary to most other python modules with similar functionality,
the core data structures and algorithms are implemented
in C++, making
extensive use of
template metaprogramming,
based heavily on
the Boost
Graph Library. This confers it a level of performance that is comparable (both in
memory usage and computation time) to that of a pure C/C++ library.

It is Fast!

Despite its nice, soft outer appearance of a
regular python module, the core algorithms and data structures of
graph-tool are written in C++, with performance in mind. Most of the
time, you can expect the algorithms to run just as fast as if
graph-tool were a pure C/C++ library. See
a performance comparison.

OpenMP Support

Many algorithms are implemented in parallel
using OpenMP,
which provides excellent performance on multi-core architectures,
without degrading it on single-core machines.

Powerful Visualization

Conveniently draw your graphs,
using a variety of algorithms and output formats (including to
the screen). Graph-tool has its own layout algorithms and
versatile, interactive drawing routines based
on cairo
and GTK+, but it can also work
as a very comfortable interface to the excellent graphviz package.

Fully Documented

Every single function in the module is documented in the docstrings
and in the online documentation, which is full of
examples.