Python package for creating and manipulating graphs and networks
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
Website (including documentation): https://networkx.org
Mailing list: https://groups.google.com/forum/#!forum/networkx-discuss
Bug reports: https://github.com/networkx/networkx/issues
GitHub Discussions: https://github.com/networkx/networkx/discussions
Find 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']
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@example.com> Dan Schult <firstname.lastname@example.org> Pieter Swart <email@example.com>
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.