High productivity software for complex networks
NetworkX is a Python language software 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)]
Documentation
Overview
the big picture
Tutorial
get started here
Reference
guide to all functions and classes
Contents
all documentation
Examples
using the library
Gallery
network drawings
Features
Python language data structures for graphs, digraphs, and multigraphs.
Nodes can be "anything" (e.g. text, images, XML records)
Edges can hold arbitrary data (e.g. weights, time-series)
Generators for classic graphs, random graphs, and synthetic networks
Standard graph algorithms
Network structure and analysis measures
Basic graph drawing
Open source BSD license
Well tested: more than 1500 unit tests
Additional benefits from Python: fast prototyping, easy to teach, multi-platform