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

Features:

   - Includes standard graph-theoretic and statistical physics functions
   - Easy exchange of network algorithms between applications,
     disciplines, and platforms
   - Includes many classic graphs and synthetic networks
   - Nodes and edges can be "anything"
     (e.g. time-series, text, images, XML records)
   - Exploits existing code from high-quality legacy software in C,
     C++, Fortran, etc.
   - Open source (encourages community input)
   - Unit-tested

Homepage:
https://networkx.github.io/
