{"id":13689288,"url":"https://github.com/GiulioRossetti/cdlib","last_synced_at":"2025-05-01T23:33:37.753Z","repository":{"id":34073637,"uuid":"159944561","full_name":"GiulioRossetti/cdlib","owner":"GiulioRossetti","description":"Community Discovery Library ","archived":false,"fork":false,"pushed_at":"2024-02-18T12:01:37.000Z","size":1722,"stargazers_count":339,"open_issues_count":22,"forks_count":70,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-02-18T13:22:35.422Z","etag":null,"topics":["cdlib","community-detection","community-discovery","community-evaluation","complex-networks","igraph","network-analysis","networkx"],"latest_commit_sha":null,"homepage":"http://cdlib.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GiulioRossetti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-12-01T12:56:29.000Z","updated_at":"2024-02-18T13:22:42.848Z","dependencies_parsed_at":"2023-02-17T19:45:49.903Z","dependency_job_id":"14e1a950-7888-4815-b524-7189b1a7d116","html_url":"https://github.com/GiulioRossetti/cdlib","commit_stats":{"total_commits":718,"total_committers":21,"mean_commits":34.19047619047619,"dds":"0.24651810584958223","last_synced_commit":"1df247c4bff6c977e5e1aa0a51afb3e6f0226ab0"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiulioRossetti%2Fcdlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiulioRossetti%2Fcdlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiulioRossetti%2Fcdlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiulioRossetti%2Fcdlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GiulioRossetti","download_url":"https://codeload.github.com/GiulioRossetti/cdlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224282213,"owners_count":17285792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdlib","community-detection","community-discovery","community-evaluation","complex-networks","igraph","network-analysis","networkx"],"created_at":"2024-08-02T15:01:41.507Z","updated_at":"2024-11-12T13:31:23.252Z","avatar_url":"https://github.com/GiulioRossetti.png","language":"Python","funding_links":[],"categories":["Python","Software","Tooling"],"sub_categories":["Python","graph"],"readme":"# CDlib - Community Detection Library\n[![codecov](https://codecov.io/gh/GiulioRossetti/cdlib/branch/master/graph/badge.svg?token=3YJOEVK02B)](https://codecov.io/gh/GiulioRossetti/cdlib)\n[![Build](https://github.com/GiulioRossetti/cdlib/actions/workflows/python-package.yml/badge.svg)](https://github.com/GiulioRossetti/cdlib/actions/workflows/python-package.yml) \n[![Documentation Status](https://readthedocs.org/projects/cdlib/badge/?version=latest)](http://cdlib.readthedocs.io/en/latest/?badge=latest)\n[![CodeQL](https://github.com/GiulioRossetti/cdlib/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/GiulioRossetti/cdlib/actions/workflows/codeql-analysis.yml)\n[![pyversions](https://img.shields.io/pypi/pyversions/cdlib.svg)](https://badge.fury.io/py/cdlib)\n[![PyPI version](https://badge.fury.io/py/cdlib.svg)](https://badge.fury.io/py/cdlib)\n[![Anaconda-Server Badge](https://anaconda.org/giuliorossetti/cdlib/badges/version.svg)](https://anaconda.org/giuliorossetti/cdlib)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Downloads](https://pepy.tech/badge/cdlib/month)](https://pepy.tech/project/cdlib)\n[![Downloads](https://pepy.tech/badge/cdlib)](https://pepy.tech/project/cdlib)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4575156.svg)](https://doi.org/10.5281/zenodo.4575156)\n[![SBD++](https://img.shields.io/badge/Available%20on-SoBigData%2B%2B-green)](https://sobigdata.d4science.org/group/sobigdata-gateway/explore?siteId=20371853)\n\n\n![plot](./docs/cdlib_logo_full.png)\n\n\n\n``CDlib`` is a meta-library for community detection in complex networks: it implements algorithms, clustering fitness functions as well as visualization facilities.\n\n\n``CDlib`` is designed around the ``networkx`` python library: however, when needed, it takes care to automatically convert (from and to) ``igraph`` object so to provide an abstraction on specific algorithm implementations to the final user.\n\n``CDlib`` provides a standardized input/output facilities for several Community Discovery algorithms: whenever possible, to guarantee literature coherent results, implementations of CD algorithms are inherited from their original projects (acknowledged on the [documentation](https://cdlib.readthedocs.io)).\n\n\nIf you use ``CDlib`` as support to your research consider citing:\n\n\u003e G. Rossetti, L. Milli, R. Cazabet.\n\u003e **CDlib: a Python Library to Extract, Compare and Evaluate Communities from Complex Networks.**\n\u003e Applied Network Science Journal. 2019. \n\u003e [DOI:10.1007/s41109-019-0165-9]()\n\n## Tutorial and Online Environments\n\nCheck out the official [tutorial](https://colab.research.google.com/github/GiulioRossetti/cdlib/blob/master/docs/CDlib.ipynb) to get started!\n\nIf you would like to test ``CDlib`` functionalities without installing anything on your machine consider using the preconfigured Jupyter Hub instances offered by [SoBigData++](https://sobigdata.d4science.org/group/sobigdata-gateway/explore?siteId=20371853).\n\n## Installation\n\n``CDlib`` *requires* python\u003e=3.8.\n\nTo install the latest version of our library just download (or clone) the current project, open a terminal and run the following commands:\n\n```bash\npip install -r requirements.txt\npip install -r requirements_optional.txt # (Optional) this might not work in Windows systems due to C-based dependencies.\npip install .\n```\n\nAlternatively use pip\n```bash\npip install cdlib\n```\n\nor conda\n```bash\nconda create -n cdlib python=3.9\nconda config --add channels giuliorossetti\nconda config --add channels conda-forge\nconda install cdlib\n```\n\n### Optional Dependencies (pip package)\nTo simplify the installation process, the default installation does not include optional dependencies (e.g., ``graph-tool``). If you need them, you can install them manually or run the following command:\n\n```bash\npip install 'cdlib[C]'\n```\n\nThis option, safe for *nix users, will install all those optional dependencies that require C code compilation.\n\n```bash\npip install 'cdlib[pypi]'\n```\n\nThis option will install all those optional dependencies that are not available on conda/conda-forge.\n\n```bash\npip install 'cdlib[all]'\n```\n\nThis option will install all optional dependencies accessible with the flag ``C`` and ``pypi``.\n\n#### (Advanced) \n\nDue to some strict requirements, the installation of a subset of optional dependencies is left outside the previous procedures.\n\n##### graph-tool\n``CDlib`` integrates the support for SBM models offered by ``graph-tool``.\nTo install it refer to the official [documentation](https://git.skewed.de/count0/graph-tool/wikis/installation-instructions) and install the conda-forge version of the package (or the deb version if in a *nix system).\n\n##### ASLPAw\n\nSince its 2.1.0 release ``ASLPAw`` relies on ``gmpy2`` whose installation through pip is not easy to automatize due to some C dependencies.\nTo address such issue test the following recipe:\n\n```bash\nconda install gmpy2 \npip install shuffle_graph\u003e=2.1.0 similarity-index-of-label-graph\u003e=2.0.1 ASLPAw\u003e=2.1.0\n```\n\nIn case this does not solve the issue, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions.\n\n### Optional Dependencies (Conda package)\n\n``CDlib`` relies on a few packages not available through conda: to install them please use pip.\n\n```bash\npip install pycombo\npip install GraphRicciCurvature\n\nconda install gmpy2 \npip install shuffle_graph\u003e=2.1.0 similarity-index-of-label-graph\u003e=2.0.1 ASLPAw\u003e=2.1.0\n```\n\nIn case ASLPAw installation fails, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions.\n\n\n## Collaborate with us!\n\n``CDlib`` is an active project, any contribution is welcome!\n\nIf you like to include your model in CDlib feel free to fork the project, open an issue and contact us.\n\n### How to contribute to this project?\n\nContributing is good, doing it correctly is better! Check out our [rules](https://github.com/GiulioRossetti/cdlib/blob/master/.github/CONTRIBUTING.md), issue a proper [pull request](https://github.com/GiulioRossetti/cdlib/blob/master/.github/PULL_REQUEST_TEMPLATE.md) /[bug report](https://github.com/GiulioRossetti/cdlib/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) / [feature request](https://github.com/GiulioRossetti/cdlib/blob/master/.github/ISSUE_TEMPLATE/feature_request.md).\n\nWe are a welcoming community... just follow the [Code of Conduct](https://github.com/GiulioRossetti/cdlib/blob/master/.github/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGiulioRossetti%2Fcdlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGiulioRossetti%2Fcdlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGiulioRossetti%2Fcdlib/lists"}