High-productivity software for complex networks

NetworkX is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.


  • Python language data structures for graphs, digraphs, and multigraphs.
  • Many standard graph algorithms
  • Network structure and analysis measures
  • Generators for classic graphs, random graphs, and synthetic networks
  • Nodes can be "anything" (e.g. text, images, XML records)
  • Edges can hold arbitrary data (e.g. weights, time-series)
  • Open source BSD license
  • Well tested: more than 1800 unit tests, >90% code coverage
  • Additional benefits from Python: fast prototyping, easy to teach, multi-platform