Skip to content
Official NetworkX source code repository.
Python Other



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

Mailing List!forum/networkx-discuss
#networkx on freenode (for a web client click here)
Development Documentation Status


Get the latest version of NetworkX from

$ pip install networkx

To get the git version do

$ git clone git://


A quick example that finds the shortest path between two nodes in an undirected graph:

>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_edge('A', 'B', weight=4)
>>> G.add_edge('B', 'D', weight=2)
>>> G.add_edge('A', 'C', weight=3)
>>> G.add_edge('C', 'D', weight=4)
>>> nx.shortest_path(G, 'A', 'D', weight='weight')
['A', 'B', 'D']


Our issue tracker is at Please report any bugs that you find. Or, even better, fork the repository on GitHub and create a pull request. We welcome all changes, big or small, and we will help you make the pull request if you are new to git (just ask on the issue).


Distributed with a BSD license; see LICENSE.txt:

Copyright (C) 2004-2016 NetworkX Developers
Aric Hagberg <>
Dan Schult <>
Pieter Swart <>
Something went wrong with that request. Please try again.