Boost graph library

The Boost Graph Library Python bindings ("BGL-Python") expose the functionality of the Boost Graph Library and Parallel Boost Graph Library as a Python package, allowing one to perform computation-intensive tasks on graphs (or networks) from within an easy-to-use scripting language.

BGL-Python contains many of the data structures and algorithms found in the C++ (Parallel) Boost Graph Library, including:
 * Undirected and directed adjacency list data structures
 * Arbitrary properties can be attached to vertices and edges.
 * Breadth-first and depth-first search
 * Single-source shortest paths (Dijkstra, Bellman-Ford)
 * Betweenness centrality
 * Graph layout algorithms (circle, Kamada-Kawai, Fruchterman-Reingold)
 * Connected, biconnected, and strongly-connected components
 * Sparse matrix ordering (minimum degree ordering, King, Cuthill-McKee)
 * Minimum spanning tree algorithms (Prim, Kruskal)
 * Topological sort
 * Transitive closure
 * GraphViz file input/output.

There is a Powerpoint presentation on "Large-Scale Network Analysis with the Boost Graph Libraries" (.ppt file) which might be useful.