Awesome Open Source
Awesome Open Source


.. image:: :target:

.. image:: :target:

.. image:: :target:

.. image:: :target:

.. image:: :target:

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

Simple example

Find the shortest path between two nodes in an undirected graph:

.. code:: python

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


Install the latest version of NetworkX::

$ pip install networkx

Install with all optional dependencies::

$ pip install networkx[all]

For additional details, please see INSTALL.rst.


Please report any bugs that you find here <>. Or, even better, fork the repository on GitHub <> and create a pull request (PR). We welcome all changes, big or small, and we will help you make the PR if you are new to git (just ask on the issue and/or see CONTRIBUTING.rst).


Released under the 3-Clause BSD license (see LICENSE.txt)::

Copyright (C) 2004-2021 NetworkX Developers Aric Hagberg [email protected] Dan Schult [email protected] Pieter Swart [email protected]

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (52,053
graph-algorithms (78
graph-theory (28
graph-visualization (18

Find Open Source By Browsing 7,000 Topics Across 59 Categories