python
NetworkX is a Python-based package for the creation, manipulation, and
study of the structure, dynamics, and functions of complex networks.
The structure of a graph or network is encoded in the edges (connections,
links, ties, arcs, bonds) between nodes (vertices, sites, actors). If
unqualified, by graph we mean a simple undirected graph, i.e. no
self-loops and no multiple edges are allowed. By a network we usually
mean a graph with weights (fields, properties) on nodes and/or edges.
The potential audience for NetworkX includes: mathematicians, physicists,
biologists, computer scientists, social scientists.