diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-17 04:55:41 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 04:55:41 +0000 |
| commit | 9ed5af378e4dae1ba45ad4f5b32dd4903a248c06 (patch) | |
| tree | a42f2e39b0f35a4672d3dc27469bc34d52bad264 /python-angel-cd.spec | |
| parent | 92d07f96499a8d23e05425bc0f3760b5faee7b40 (diff) | |
automatic import of python-angel-cd
Diffstat (limited to 'python-angel-cd.spec')
| -rw-r--r-- | python-angel-cd.spec | 362 |
1 files changed, 362 insertions, 0 deletions
diff --git a/python-angel-cd.spec b/python-angel-cd.spec new file mode 100644 index 0000000..477291d --- /dev/null +++ b/python-angel-cd.spec @@ -0,0 +1,362 @@ +%global _empty_manifest_terminate_build 0 +Name: python-angel-cd +Version: 1.0.3 +Release: 1 +Summary: Community Discovery algorithm +License: BSD-2-Clause +URL: https://github.com/GiulioRossetti/ANGEL +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/63/71/f09c98a662a385cd0e7c490f7c25962c95c8ca49dd6716dff94c5b517c84/angel_cd-1.0.3.tar.gz +BuildArch: noarch + +Requires: python3-future +Requires: python3-tqdm +Requires: python3-igraph +Requires: python3-networkx +Requires: python3-numpy + +%description +# ANGEL +[](https://github.com/GiulioRossetti/ANGEL/actions/workflows/test_ubuntu.yml) +[](https://codecov.io/gh/GiulioRossetti/ANGEL) +[](https://pypi.python.org/pypi/angel-cd/) + +Community discovery in complex networks is an interesting problem with a number of applications, especially in the knowledge extraction task in social and information networks. +However, many large networks often lack a particular community organization at a global level. +In these cases, traditional graph partitioning algorithms fail to let the latent knowledge embedded in modular structure emerge, because they impose a top-down global view of a network. +We propose here a simple local-first approach to community discovery, namely **Angel**, able to unveil the modular organization of real complex networks. +This is achieved by democratically letting each node vote for the communities it sees surrounding it in its limited view of the global system, i.e. its ego neighborhood, using a label propagation algorithm; finally, the local communities are merged into a global collection. + +Moreover, we provide also an evolution of Angel, namely **ArchAngel**, designed to extract community from evolving network topologies. + +**Note:** Angel has been integrated within [CDlib](http://cdlib.readthedocs.io) a python package dedicated to community detection algorithms, check it out! + + +## Installation +You can easily install the updated version of Angel (and Archangel) by using pip: + +```bash +pip install angel-cd +``` + +or using conda + +```bash +conda install -c giuliorossetti angel-cd +``` + +## Implementation details + +*Required input format(s)* + +Angel: +.ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 +``` + +ArchAngel: +Extended .ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 snapshot_id +``` + +# Execution +Angel is written in python and requires the following package to run: +- python 3.x +- python-igraph +- networkx +- tqdm + +## Angel + +```python +import angel as a +an = a.Angel(filename, threshold=0.4, min_comsize=3, outfile_name="angel_communities.txt") +an.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* min_com_size: minimum size for communities +* out_filename: desired filename for the output + +or alternatively + +```python +import angel as a +an = a.Angel(graph=g, threshold=0.4, min_com_size=3, out_filename="communities.txt") +an.execute() +``` + +Where: +* g: an igraph.Graph object + +## ArchAngel + +```python +import angel as a +aa = a.ArchAngel(filename, threshold=0.4, match_threshold=0.4, min_com_size=3, outfile_path="./") +aa.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* match_threshold: cross-time community matching threshold in [0, 1] +* min_com_size: minimum size for communities +* outfile_path: path for algorithm output files + + + + +%package -n python3-angel-cd +Summary: Community Discovery algorithm +Provides: python-angel-cd +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-angel-cd +# ANGEL +[](https://github.com/GiulioRossetti/ANGEL/actions/workflows/test_ubuntu.yml) +[](https://codecov.io/gh/GiulioRossetti/ANGEL) +[](https://pypi.python.org/pypi/angel-cd/) + +Community discovery in complex networks is an interesting problem with a number of applications, especially in the knowledge extraction task in social and information networks. +However, many large networks often lack a particular community organization at a global level. +In these cases, traditional graph partitioning algorithms fail to let the latent knowledge embedded in modular structure emerge, because they impose a top-down global view of a network. +We propose here a simple local-first approach to community discovery, namely **Angel**, able to unveil the modular organization of real complex networks. +This is achieved by democratically letting each node vote for the communities it sees surrounding it in its limited view of the global system, i.e. its ego neighborhood, using a label propagation algorithm; finally, the local communities are merged into a global collection. + +Moreover, we provide also an evolution of Angel, namely **ArchAngel**, designed to extract community from evolving network topologies. + +**Note:** Angel has been integrated within [CDlib](http://cdlib.readthedocs.io) a python package dedicated to community detection algorithms, check it out! + + +## Installation +You can easily install the updated version of Angel (and Archangel) by using pip: + +```bash +pip install angel-cd +``` + +or using conda + +```bash +conda install -c giuliorossetti angel-cd +``` + +## Implementation details + +*Required input format(s)* + +Angel: +.ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 +``` + +ArchAngel: +Extended .ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 snapshot_id +``` + +# Execution +Angel is written in python and requires the following package to run: +- python 3.x +- python-igraph +- networkx +- tqdm + +## Angel + +```python +import angel as a +an = a.Angel(filename, threshold=0.4, min_comsize=3, outfile_name="angel_communities.txt") +an.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* min_com_size: minimum size for communities +* out_filename: desired filename for the output + +or alternatively + +```python +import angel as a +an = a.Angel(graph=g, threshold=0.4, min_com_size=3, out_filename="communities.txt") +an.execute() +``` + +Where: +* g: an igraph.Graph object + +## ArchAngel + +```python +import angel as a +aa = a.ArchAngel(filename, threshold=0.4, match_threshold=0.4, min_com_size=3, outfile_path="./") +aa.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* match_threshold: cross-time community matching threshold in [0, 1] +* min_com_size: minimum size for communities +* outfile_path: path for algorithm output files + + + + +%package help +Summary: Development documents and examples for angel-cd +Provides: python3-angel-cd-doc +%description help +# ANGEL +[](https://github.com/GiulioRossetti/ANGEL/actions/workflows/test_ubuntu.yml) +[](https://codecov.io/gh/GiulioRossetti/ANGEL) +[](https://pypi.python.org/pypi/angel-cd/) + +Community discovery in complex networks is an interesting problem with a number of applications, especially in the knowledge extraction task in social and information networks. +However, many large networks often lack a particular community organization at a global level. +In these cases, traditional graph partitioning algorithms fail to let the latent knowledge embedded in modular structure emerge, because they impose a top-down global view of a network. +We propose here a simple local-first approach to community discovery, namely **Angel**, able to unveil the modular organization of real complex networks. +This is achieved by democratically letting each node vote for the communities it sees surrounding it in its limited view of the global system, i.e. its ego neighborhood, using a label propagation algorithm; finally, the local communities are merged into a global collection. + +Moreover, we provide also an evolution of Angel, namely **ArchAngel**, designed to extract community from evolving network topologies. + +**Note:** Angel has been integrated within [CDlib](http://cdlib.readthedocs.io) a python package dedicated to community detection algorithms, check it out! + + +## Installation +You can easily install the updated version of Angel (and Archangel) by using pip: + +```bash +pip install angel-cd +``` + +or using conda + +```bash +conda install -c giuliorossetti angel-cd +``` + +## Implementation details + +*Required input format(s)* + +Angel: +.ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 +``` + +ArchAngel: +Extended .ncol edgelist (nodes represented with integer ids). + +``` +node_id0 node_id1 snapshot_id +``` + +# Execution +Angel is written in python and requires the following package to run: +- python 3.x +- python-igraph +- networkx +- tqdm + +## Angel + +```python +import angel as a +an = a.Angel(filename, threshold=0.4, min_comsize=3, outfile_name="angel_communities.txt") +an.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* min_com_size: minimum size for communities +* out_filename: desired filename for the output + +or alternatively + +```python +import angel as a +an = a.Angel(graph=g, threshold=0.4, min_com_size=3, out_filename="communities.txt") +an.execute() +``` + +Where: +* g: an igraph.Graph object + +## ArchAngel + +```python +import angel as a +aa = a.ArchAngel(filename, threshold=0.4, match_threshold=0.4, min_com_size=3, outfile_path="./") +aa.execute() +``` + +Where: +* filename: edgelist filename +* threshold: merging threshold in [0,1] +* match_threshold: cross-time community matching threshold in [0, 1] +* min_com_size: minimum size for communities +* outfile_path: path for algorithm output files + + + + +%prep +%autosetup -n angel-cd-1.0.3 + +%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-angel-cd -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.3-1 +- Package Spec generated |
