Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Network Analysis
  3. cdlib

cdlib

BSD-2-ClausePythonv0.4.0

A Python meta-library for community detection in complex networks, implementing algorithms, fitness functions, and visualization.

Visit WebsiteGitHubGitHub
426 stars77 forks0 contributors

What is cdlib?

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.

Target Audience

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.

Value Proposition

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.

Overview

Community Discovery Library

Use Cases

Best For

  • Comparing multiple community detection algorithms on the same network
  • Academic research requiring reproducible community analysis
  • Network analysis projects needing standardized evaluation metrics
  • Data scientists working with social or biological network data
  • Educational purposes for teaching community detection concepts
  • Benchmarking new community detection methods against established algorithms

Not Ideal For

  • Projects requiring minimal dependencies and straightforward installation on Windows systems
  • Applications needing real-time community detection on large-scale networks with strict performance constraints
  • Teams using non-Python network analysis tools or libraries not supported by CDlib

Pros & Cons

Pros

Standardized Algorithm Interface

Provides a consistent API for over 60 community detection methods, abstracting implementation details for easy comparison and use, as highlighted in the key features.

Multi-Library Compatibility

Automatically converts between NetworkX and igraph objects, ensuring broad compatibility across Python's network analysis ecosystems without manual intervention.

Comprehensive Evaluation Metrics

Includes clustering fitness functions to rigorously assess and compare community quality, supporting reproducible research as part of its evaluation toolkit.

Wide Algorithm Variety

Implements diverse methods from Louvain to Stochastic Block Models, catering to different network types and research needs, as listed in the features.

Cons

Complex Installation Process

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.

Limited to Supported Libraries

Primarily built around NetworkX and igraph, which may not integrate seamlessly with other network analysis tools or libraries, limiting flexibility in some workflows.

Research-Oriented Design

Focus on academic reproducibility means less optimization for high-performance or production-scale applications, potentially affecting speed and scalability on large networks.

Frequently Asked Questions

Quick Stats

Stars426
Forks77
Contributors0
Open Issues17
Last commit6 months ago
CreatedSince 2018

Tags

#networkx#igraph#python-library#graph-algorithms#data-science#complex-networks#research-tools#network-analysis#community-detection#community-discovery#clustering

Built With

N
NetworkX
i
igraph
p
pip
C
Conda
P
Python

Links & Resources

Website

Included in

Network Analysis4.0k
Auto-fetched 7 hours ago

Related Projects

PyGraphistryPyGraphistry

PyGraphistry is a Python library to quickly load, shape, embed, and explore big graphs with the GPU-accelerated Graphistry visual graph analyzer

Stars2,526
Forks231
Last commit8 hours ago
Karate Club - An unsupervised machine learning library for graph structured dataKarate Club - An unsupervised machine learning library for graph structured data

Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Stars2,283
Forks256
Last commit1 year ago
RAPIDS cuGraphRAPIDS cuGraph

cuGraph - RAPIDS Graph Analytics Library

Stars2,199
Forks361
Last commit18 hours ago
rustworkxrustworkx

A high performance Python graph library implemented in Rust.

Stars1,715
Forks214
Last commit19 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub