NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
https://networkx.org/documentation/stable/
- Data structures for graphs, digraphs, and multigraphs
- Many standard graph algorithms
- Network structure and analysis measures
- Generators for classic graphs, random graphs, and synthetic networks
- Nodes can be "anything" (e.g., text, images, XML records)
- Edges can hold arbitrary data (e.g., weights, time-series)
- Open source 3-clause BSD license
- Well tested with over 90% code coverage
- Additional benefits from Python include fast prototyping, easy to teach, and multi-platform
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. It provides:
-
tools for the study of the structure and dynamics of social, biological, and infrastructure networks;
-
a standard programming interface and graph implementation that is suitable for many applications;
-
a rapid development environment for collaborative, multidisciplinary projects;
-
an interface to existing numerical algorithms and code written in C, C++, and FORTRAN; and
-
the ability to painlessly work with large nonstandard data sets.
With NetworkX you can load and store networks in standard and nonstandard data formats, generate many types of random and classic networks, analyze network structure, build network models, design new network algorithms, draw networks, and much more.