NetworkX

NetworkX

github.com

1

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.

Tags & Categories

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!