igraph wants to be an efficient platform for 1) complex network analysis and 2) developing and implementing graph algorithms. It provides flexible and efficient data structures for graphs and related tasks. It also provides implementation to many classic and new graph algorithms like: maximum flows, graph isomorphism, scale-free networks, community structure finding, etc.