thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #network-graph
igraph/igraph ★ 2006 446 APPLICATION

igraph is a high-performance C library for complex network analysis and graph theory. It provides a comprehensive suite of graph algorithms including centrality measures (PageRank, betweenness, eigenvector), community detection (Leiden, Infomap, label propagation, walktrap), isomorphism (VF2, BLISS), shortest paths, flows, cliques, motifs, graph layout (Fruchterman-Reingold, Kamada-Kawai, DRL, Sugiyama), and random graph generation (Erdos-Renyi, Barabasi-Albert, stochastic block models). The library is designed for efficiency and portability, with a stable C API that serves as the backend for higher-level interfaces in R (igraph), Python (python-igraph), and Mathematica (IGraphM). The architecture is a monolithic C library with optional C++ components for performance-critical algorithms (e.g., PRPACK for PageRank, DRL layout, BLISS isomorphism). It includes a rich set of internal data structures (vectors, matrices, sparse matrices, heaps, tries, prefix sum trees) and a robust error handling framework using IGRAPH_CHECK and IGRAPH_FINALLY macros. The library supports multiple graph file formats (GML, GraphML, Pajek, LGL, NCOL, DL, DIMACS) and provides attribute handling for vertex/edge metadata. Key strengths include extensive testing (unit tests, regression tests, benchmarks, fuzzing via OSS-Fuzz), reproducible random number generation (PCG, MT19937), and a well-documented API with semantic versioning. The codebase is actively maintained with frequent releases and a clear deprecation policy. While primarily a C library, it integrates external solvers (ARPACK, LAPACK, GLPK) and bundled vendor code (cliquer, bliss, plfit) for specialized algorithms.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: