Current version: 1.5

Get NetworkX from the Python Package Index, or install it with:

easy_install networkx

Questions? Suggestions?

Join the Google group:

You can also open a ticket at the NetworkX Developer Zone.

High productivity software for complex networks

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

Quick Example

>>> import networkx as nx

>>> G=nx.Graph()
>>> G.add_node("spam")
>>> G.add_edge(1,2)
>>> print(G.nodes())
[1, 2, 'spam']
>>> print(G.edges())
[(1, 2)]
NetworkX art



  • Standard graph-theoretic and statistical physics functions
  • Easy exchange of network algorithms between applications, disciplines, and platforms
  • Many classic graphs and synthetic networks
  • Nodes and edges can be "anything" (e.g. time-series, text, images, XML records)
  • Exploits existing code from high-quality legacy software in C, C++, Fortran, etc.
  • Open source BSD license
  • More than 1000 unit tests

Additional benefits from Python

  • Fast prototyping of new algorithms
  • Easy to teach
  • Multi-platform
  • Allows easy access to almost any database