igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is a free and open source software package for creating and manipulating undirected and directed graphs. It includes implementations for classic graph theory problems like minimum spanning trees and network flow, and also implements algorithms for some recent network analysis methods, like community structure search. The efficient implementation of igraph allows it to handle graphs with millions of vertices and edges. The rule of thumb is that if your graph fits into the physical memory then igraph can handle it.
igraph can be programmed in R, Python and C/C++ by virtue of R/igraph, python-igraph and C/igraph, respectively. There is also a Mathematica interface IGraph/M written by Szabolcs Horvát.
Gábor Csárdi and Tamás Nepusz