A Python meta-library for community detection in complex networks, implementing algorithms, fitness functions, and visualization.
CDlib is a Python meta-library for community detection in complex networks. It provides a unified interface to implement, compare, and evaluate community discovery algorithms, along with clustering fitness functions and visualization tools. It solves the problem of fragmented implementations by offering a standardized framework for network analysis.
Researchers, data scientists, and network analysts working with complex networks who need to detect, compare, and evaluate community structures. It's particularly valuable for academic research and applied network science projects.
Developers choose CDlib because it offers the largest collection of community detection algorithms in a single Python library with consistent APIs, automatic conversion between network libraries, and rigorous evaluation metrics. Its design ensures reproducibility and ease of comparison across different methods.
Community Discovery Library
Provides a consistent API for over 60 community detection methods, abstracting implementation details for easy comparison and use, as highlighted in the key features.
Automatically converts between NetworkX and igraph objects, ensuring broad compatibility across Python's network analysis ecosystems without manual intervention.
Includes clustering fitness functions to rigorously assess and compare community quality, supporting reproducible research as part of its evaluation toolkit.
Implements diverse methods from Louvain to Stochastic Block Models, catering to different network types and research needs, as listed in the features.
Optional dependencies like graph-tool and ASLPAw require manual steps and C compilation, making setup challenging, especially on Windows, as warned in the advanced installation instructions.
Primarily built around NetworkX and igraph, which may not integrate seamlessly with other network analysis tools or libraries, limiting flexibility in some workflows.
Focus on academic reproducibility means less optimization for high-performance or production-scale applications, potentially affecting speed and scalability on large networks.
PyGraphistry is a Python library to quickly load, shape, embed, and explore big graphs with the GPU-accelerated Graphistry visual graph analyzer
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)
cuGraph - RAPIDS Graph Analytics Library
A high performance Python graph library implemented in Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.