NetworkX
github.com
1
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. Created in 2004 by Aric Hagberg, Pieter Swart, and Dan Schult at Los Alamos National Laboratory, it has grown to over 15,400 stars as of 2026 and is the standard library for graph analysis in Python. NetworkX supports four types of graph data structures: Graph (undirected with self-loops), DiGraph (directed), MultiGraph (undirected with parallel edges), and MultiDiGraph (directed with parallel edges), each with optional node and edge attributes. Key capabilities include: network construction (adding/removing nodes and edges, subgraph extraction, graph generators for over 100 classic network topologies including complete graphs, path graphs, grid graphs, small-world networks via Watts-Strogatz, scale-free networks via Barabasi-Albert, random graphs via Erdos-Renyi, bipartite graphs, trees, and geometric graphs), centrality measures (degree, betweenness, closeness, eigenvector, PageRank, Katz, harmonic), community detection (Girvan-Newman, Louvain, label propagation, modularity-based), shortest path algorithms (Dijkstra, Bellman-Ford, A-star, Floyd-Warshall), maximum flow (Ford-Fulkerson, preflow-push), minimum spanning tree (Kruskal, Prim), graph isomorphism testing (VF2 algorithm), spectral graph theory (Laplacian matrix, adjacency spectrum), network robustness analysis, graph drawing (via matplotlib, Graphviz/pydot integration), and I/O for over 20 graph formats (GraphML, GML, GEXF, JSON, EdgeList, Pajek, Graph6, LEDA). NetworkX handles networks with millions of nodes and edges, with optional NumPy and SciPy backends for performance-critical operations.
Statistics
1
Views
0
Clicks
0
Like
0
Dislike