diff options
Diffstat (limited to 'python-cdlib.spec')
| -rw-r--r-- | python-cdlib.spec | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/python-cdlib.spec b/python-cdlib.spec new file mode 100644 index 0000000..f3596c7 --- /dev/null +++ b/python-cdlib.spec @@ -0,0 +1,299 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cdlib +Version: 0.2.6 +Release: 1 +Summary: Community Discovery Library +License: BSD-Clause-2 +URL: https://github.com/GiulioRossetti/cdlib +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/eb/6d/97167dce848b65023a272e2ffd04b2e462612efdb3538d16e2b8b2221a15/cdlib-0.2.6.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-future +Requires: python3-matplotlib +Requires: python3-scikit-learn +Requires: python3-tqdm +Requires: python3-networkx +Requires: python3-demon +Requires: python3-louvain +Requires: python3-nf1 +Requires: python3-scipy +Requires: python3-pulp +Requires: python3-seaborn +Requires: python3-pandas +Requires: python3-eva-lcd +Requires: python3-bimlpa +Requires: python3-markov-clustering +Requires: python3-chinese-whispers +Requires: python3-igraph +Requires: python3-angel-cd +Requires: python3-pooch +Requires: python3-dynetx +Requires: python3-thresholdclustering +Requires: python3-pyclustering +Requires: python3-cython +Requires: python3-Levenshtein +Requires: python3-infomap +Requires: python3-wurlitzer +Requires: python3-GraphRicciCurvature +Requires: python3-networkit +Requires: python3-pycombo +Requires: python3-leidenalg +Requires: python3-karateclub + +%description +``CDlib`` is a meta-library for community discovery in complex networks: it implements algorithms, clustering fitness functions as well as visualization facilities. +``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. +``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)). +If you use ``CDlib`` as support to your research consider citing: +> G. Rossetti, L. Milli, R. Cazabet. +> **CDlib: a Python Library to Extract, Compare and Evaluate Communities from Complex Networks.** +> Applied Network Science Journal. 2019. +> [DOI:10.1007/s41109-019-0165-9]() +## Tutorial and Online Environments +Check out the official [tutorial](https://colab.research.google.com/github/GiulioRossetti/cdlib/blob/master/docs/CDlib.ipynb) to get started! +If 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). +## Installation +``CDlib`` *requires* python>=3.8. +To install the latest version of our library just download (or clone) the current project, open a terminal and run the following commands: +```bash +pip install -r requirements.txt +pip install -r requirements_optional.txt # (Optional) this might not work in Windows systems due to C-based dependencies. +pip install . +``` +Alternatively use pip +```bash +pip install cdlib +``` +or conda +```bash +conda config --add channels giuliorossetti +conda config --add channels conda-forge +conda install cdlib +``` +### Optional Dependencies (pip package) +``CDlib`` relies on a few packages calling C code that can be cumbersome to install on Windows machines: to address such issue, the default installation does not try to install set up such requirements. +Such a choice has been made to allow (even) non *unix user to install the library and get access to its core functionalities. +To integrate the standard installation with you can either: +- (Windows) manually install the optional packages (versions details are specified in ``requirements_optional.txt``) following the original projects guidelines, or +- (Linux/OSX) run the command: +```bash +pip install cdlib[C] +``` +Such caveat will install everything that can be easily automated under Linux/OSX. +#### (Advanced) +##### Graph-tool +The only optional dependency that will remain unsatisfied following the previous procedures will be ``graph-tool`` (used to add SBM models). +If you need it up and running, refer to the official [documentation](https://git.skewed.de/count0/graph-tool/wikis/installation-instructions) and install the conda-forge version of the package. +##### ASLPAw +Since its 2.1.0 release ``ASLPAw`` relies on ``gmpy2`` whose installation through pip is not easy to automatize due to some C dependencies. +To address such issue test the following recipe: +```bash +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case this does not solve the issue, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +### Optional Dependencies (Conda package) +``CDlib`` relies on a few packages not available through conda: to install it please use pip: +```bash +pip install pycombo +pip install GraphRicciCurvature +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case ASLPAw installation fails, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +## Collaborate with us! +``CDlib`` is an active project, any contribution is welcome! +If you like to include your model in CDlib feel free to fork the project, open an issue and contact us. +### How to contribute to this project? +Contributing 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). +We are a welcoming community... just follow the [Code of Conduct](https://github.com/GiulioRossetti/cdlib/blob/master/.github/CODE_OF_CONDUCT.md). + +%package -n python3-cdlib +Summary: Community Discovery Library +Provides: python-cdlib +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cdlib +``CDlib`` is a meta-library for community discovery in complex networks: it implements algorithms, clustering fitness functions as well as visualization facilities. +``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. +``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)). +If you use ``CDlib`` as support to your research consider citing: +> G. Rossetti, L. Milli, R. Cazabet. +> **CDlib: a Python Library to Extract, Compare and Evaluate Communities from Complex Networks.** +> Applied Network Science Journal. 2019. +> [DOI:10.1007/s41109-019-0165-9]() +## Tutorial and Online Environments +Check out the official [tutorial](https://colab.research.google.com/github/GiulioRossetti/cdlib/blob/master/docs/CDlib.ipynb) to get started! +If 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). +## Installation +``CDlib`` *requires* python>=3.8. +To install the latest version of our library just download (or clone) the current project, open a terminal and run the following commands: +```bash +pip install -r requirements.txt +pip install -r requirements_optional.txt # (Optional) this might not work in Windows systems due to C-based dependencies. +pip install . +``` +Alternatively use pip +```bash +pip install cdlib +``` +or conda +```bash +conda config --add channels giuliorossetti +conda config --add channels conda-forge +conda install cdlib +``` +### Optional Dependencies (pip package) +``CDlib`` relies on a few packages calling C code that can be cumbersome to install on Windows machines: to address such issue, the default installation does not try to install set up such requirements. +Such a choice has been made to allow (even) non *unix user to install the library and get access to its core functionalities. +To integrate the standard installation with you can either: +- (Windows) manually install the optional packages (versions details are specified in ``requirements_optional.txt``) following the original projects guidelines, or +- (Linux/OSX) run the command: +```bash +pip install cdlib[C] +``` +Such caveat will install everything that can be easily automated under Linux/OSX. +#### (Advanced) +##### Graph-tool +The only optional dependency that will remain unsatisfied following the previous procedures will be ``graph-tool`` (used to add SBM models). +If you need it up and running, refer to the official [documentation](https://git.skewed.de/count0/graph-tool/wikis/installation-instructions) and install the conda-forge version of the package. +##### ASLPAw +Since its 2.1.0 release ``ASLPAw`` relies on ``gmpy2`` whose installation through pip is not easy to automatize due to some C dependencies. +To address such issue test the following recipe: +```bash +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case this does not solve the issue, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +### Optional Dependencies (Conda package) +``CDlib`` relies on a few packages not available through conda: to install it please use pip: +```bash +pip install pycombo +pip install GraphRicciCurvature +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case ASLPAw installation fails, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +## Collaborate with us! +``CDlib`` is an active project, any contribution is welcome! +If you like to include your model in CDlib feel free to fork the project, open an issue and contact us. +### How to contribute to this project? +Contributing 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). +We are a welcoming community... just follow the [Code of Conduct](https://github.com/GiulioRossetti/cdlib/blob/master/.github/CODE_OF_CONDUCT.md). + +%package help +Summary: Development documents and examples for cdlib +Provides: python3-cdlib-doc +%description help +``CDlib`` is a meta-library for community discovery in complex networks: it implements algorithms, clustering fitness functions as well as visualization facilities. +``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. +``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)). +If you use ``CDlib`` as support to your research consider citing: +> G. Rossetti, L. Milli, R. Cazabet. +> **CDlib: a Python Library to Extract, Compare and Evaluate Communities from Complex Networks.** +> Applied Network Science Journal. 2019. +> [DOI:10.1007/s41109-019-0165-9]() +## Tutorial and Online Environments +Check out the official [tutorial](https://colab.research.google.com/github/GiulioRossetti/cdlib/blob/master/docs/CDlib.ipynb) to get started! +If 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). +## Installation +``CDlib`` *requires* python>=3.8. +To install the latest version of our library just download (or clone) the current project, open a terminal and run the following commands: +```bash +pip install -r requirements.txt +pip install -r requirements_optional.txt # (Optional) this might not work in Windows systems due to C-based dependencies. +pip install . +``` +Alternatively use pip +```bash +pip install cdlib +``` +or conda +```bash +conda config --add channels giuliorossetti +conda config --add channels conda-forge +conda install cdlib +``` +### Optional Dependencies (pip package) +``CDlib`` relies on a few packages calling C code that can be cumbersome to install on Windows machines: to address such issue, the default installation does not try to install set up such requirements. +Such a choice has been made to allow (even) non *unix user to install the library and get access to its core functionalities. +To integrate the standard installation with you can either: +- (Windows) manually install the optional packages (versions details are specified in ``requirements_optional.txt``) following the original projects guidelines, or +- (Linux/OSX) run the command: +```bash +pip install cdlib[C] +``` +Such caveat will install everything that can be easily automated under Linux/OSX. +#### (Advanced) +##### Graph-tool +The only optional dependency that will remain unsatisfied following the previous procedures will be ``graph-tool`` (used to add SBM models). +If you need it up and running, refer to the official [documentation](https://git.skewed.de/count0/graph-tool/wikis/installation-instructions) and install the conda-forge version of the package. +##### ASLPAw +Since its 2.1.0 release ``ASLPAw`` relies on ``gmpy2`` whose installation through pip is not easy to automatize due to some C dependencies. +To address such issue test the following recipe: +```bash +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case this does not solve the issue, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +### Optional Dependencies (Conda package) +``CDlib`` relies on a few packages not available through conda: to install it please use pip: +```bash +pip install pycombo +pip install GraphRicciCurvature +conda install gmpy2 +pip install shuffle_graph>=2.1.0 similarity-index-of-label-graph>=2.0.1 ASLPAw>=2.1.0 +``` +In case ASLPAw installation fails, please refer to the official ``gmpy2`` [installation](https://gmpy2.readthedocs.io/en/latest/intro.html#installation) instructions. +## Collaborate with us! +``CDlib`` is an active project, any contribution is welcome! +If you like to include your model in CDlib feel free to fork the project, open an issue and contact us. +### How to contribute to this project? +Contributing 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). +We are a welcoming community... just follow the [Code of Conduct](https://github.com/GiulioRossetti/cdlib/blob/master/.github/CODE_OF_CONDUCT.md). + +%prep +%autosetup -n cdlib-0.2.6 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cdlib -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.6-1 +- Package Spec generated |
