Official NetworkX source code repository.
Python Other
Latest commit ebed70e Feb 12, 2017 @hagberg hagberg committed on GitHub Merge pull request #2359 from jfinkels/eulerian-multigraph-keys
Adds multigraph keys to Eulerian circuits



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
Development Documentation Status


Get the latest version of NetworkX from

$ pip install networkx

To get the git version do

$ git clone git://

Decorator package is required for NetworkX.

$ pip install decorator


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 <>