From 3406a63be05bba60058b8589c6dcbe5c0e2e47b7 Mon Sep 17 00:00:00 2001 From: Cazabet Remy Date: Fri, 26 Jun 2020 10:55:27 +0200 Subject: [PATCH 1/2] Files to generate and upload conda packages --- .gitignore | 3 ++ to_conda/aslpaw/meta.yaml | 47 ++++++++++++++++++ to_conda/bimlpa/meta.yaml | 44 +++++++++++++++++ to_conda/cdlib/meta.yaml | 72 +++++++++++++++++++++++++++ to_conda/count-dict/meta.yaml | 39 +++++++++++++++ to_conda/demon/meta.yaml | 44 +++++++++++++++++ to_conda/eva_lcd/meta.yaml | 42 ++++++++++++++++ to_conda/karateclub/meta.yaml | 76 +++++++++++++++++++++++++++++ to_conda/make_conda.sh | 32 ++++++++++++ to_conda/multivalued-dict/meta.yaml | 38 +++++++++++++++ to_conda/nf1/meta.yaml | 47 ++++++++++++++++++ to_conda/omega_index_py3/meta.yaml | 38 +++++++++++++++ to_conda/pquality/meta.yaml | 44 +++++++++++++++++ to_conda/shuffle-graph/meta.yaml | 39 +++++++++++++++ 14 files changed, 605 insertions(+) create mode 100644 to_conda/aslpaw/meta.yaml create mode 100644 to_conda/bimlpa/meta.yaml create mode 100644 to_conda/cdlib/meta.yaml create mode 100644 to_conda/count-dict/meta.yaml create mode 100644 to_conda/demon/meta.yaml create mode 100644 to_conda/eva_lcd/meta.yaml create mode 100644 to_conda/karateclub/meta.yaml create mode 100755 to_conda/make_conda.sh create mode 100644 to_conda/multivalued-dict/meta.yaml create mode 100644 to_conda/nf1/meta.yaml create mode 100644 to_conda/omega_index_py3/meta.yaml create mode 100644 to_conda/pquality/meta.yaml create mode 100644 to_conda/shuffle-graph/meta.yaml diff --git a/.gitignore b/.gitignore index f05635d8..b9a63aa3 100644 --- a/.gitignore +++ b/.gitignore @@ -100,3 +100,6 @@ docs/_templates .DS_Store .idea/ *.ipynb + +#conda stuff +to_conda/outputdir \ No newline at end of file diff --git a/to_conda/aslpaw/meta.yaml b/to_conda/aslpaw/meta.yaml new file mode 100644 index 00000000..f24e1039 --- /dev/null +++ b/to_conda/aslpaw/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "aslpaw" %} +{% set version = "2.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/fsssosei/ASLPAw + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - count-dict >=1.0.3 + - multivalued-dict >=1.7.3 + - networkx >=2.4 + - pip + - python + - scikit-learn >=0.21.3 + - shuffle-graph >=1.1.2 + run: + - count-dict >=1.0.3 + - multivalued-dict >=1.7.3 + - networkx >=2.4 + - python + - scikit-learn >=0.21.3 + - shuffle-graph >=1.1.2 + +test: + imports: + - ASLPAw_package + +about: + home: "https://github.com/fsssosei/ASLPAw" + license: "GNU Affero General Public v3" + license_family: "AGPL" + license_file: "" + summary: "Adaptive overlapping community discovery algorithm package in python." + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/bimlpa/meta.yaml b/to_conda/bimlpa/meta.yaml new file mode 100644 index 00000000..172337b7 --- /dev/null +++ b/to_conda/bimlpa/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "bimlpa" %} +{% set version = "0.1.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "b49b4b3010416d824b9b0f561e5a8afae41dd1692503113fd9c46eb8cf86dda5" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - matplotlib + - networkx + - pip + - python + - scikit-learn + run: + - matplotlib + - networkx + - python + - scikit-learn + +test: + imports: + - BiMLPA + +about: + home: "https://github.com/hbkt/BiMLPA" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Community detection in bipartite networks using multi-label propagation algorithm" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/cdlib/meta.yaml b/to_conda/cdlib/meta.yaml new file mode 100644 index 00000000..02ad6b70 --- /dev/null +++ b/to_conda/cdlib/meta.yaml @@ -0,0 +1,72 @@ +{% set name = "cdlib" %} +{% set version = "0.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/GiulioRossetti/cdlib.git + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + build: + - setuptools + + host: + - python + - future + #- pquality + #- bimlpa + #- omega_index_py3 + #- eva_lcd + #- demon + #- nf1 + ## - pulp + ## - karateclub + ##- ASLPAw + run: + - python + - numpy + - future + - matplotlib + - scikit-learn + - tqdm + - networkx + - python-louvain + - scipy + - seaborn + - pandas + - pquality + - bimlpa + - omega_index_py3 + - eva_lcd + - demon + - nf1 + - pulp + - ASLPAw + - karateclub + #- leiden, LFRbenchmark name changded +test: + imports: + - cdlib + - cdlib.algorithms + - cdlib.evaluation + - cdlib.viz + +about: + home: "https://github.com/GiulioRossetti/cdlib" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Community detection library" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - "https://github.com/GiulioRossetti/cdlib" + diff --git a/to_conda/count-dict/meta.yaml b/to_conda/count-dict/meta.yaml new file mode 100644 index 00000000..63d75227 --- /dev/null +++ b/to_conda/count-dict/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "count-dict" %} +{% set version = "1.1.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/fsssosei/count_dict + #url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + #sha256: "9571156e9700705da017244905db6d9a54f7fc55584e04c331d5d8621a67dd5a" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - pip + - python + run: + - python + +test: + imports: + - count_dict_package + +about: + home: "https://github.com/fsssosei/count_dict" + license: "GNU Affero General Public v3" + license_family: "AGPL" + license_file: "" + summary: "Count dictionary package in python." + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/demon/meta.yaml b/to_conda/demon/meta.yaml new file mode 100644 index 00000000..d42efa22 --- /dev/null +++ b/to_conda/demon/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "demon" %} +{% set version = "2.0.5" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "311ffe2d4ab5e1486fc4cd8cab6255b23f5b4aff7b12806e5766048bb6bbdcd0" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - future + - networkx + - pip + - python + run: + - future + - networkx + - python + - tqdm + +test: + imports: + - demon + - demon.alg + +about: + home: "https://github.com/GiulioRossetti/DEMON" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Community Discovery algorithm" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/eva_lcd/meta.yaml b/to_conda/eva_lcd/meta.yaml new file mode 100644 index 00000000..643cb287 --- /dev/null +++ b/to_conda/eva_lcd/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "eva_lcd" %} +{% set version = "0.1.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "07bf1928ff03b12970f3e1f70bd9883c0bb13c9b8ae3b9bf3dfd5d455f5af0de" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - networkx + - numpy + - pip + - python + run: + - networkx + - numpy + - python + +test: + imports: + - Eva + +about: + home: "https://github.com/GiulioRossetti/eva" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Eva: Community Discovery for labeled graphs" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/karateclub/meta.yaml b/to_conda/karateclub/meta.yaml new file mode 100644 index 00000000..1648db5b --- /dev/null +++ b/to_conda/karateclub/meta.yaml @@ -0,0 +1,76 @@ +{% set name = "karateclub" %} +{% set version = "1.0.7" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "7387b6f0190b1182169c871b4f4f0a245aac6fc3379f56e8e27f11a1c353a10f" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - gensim + - networkx + - numpy 1.17 + - pandas + - pip + - pygsp + - python + - python-louvain + - scipy + - six + - scikit-learn + - tqdm + - pytest-runner + + run: + - gensim + - networkx + - numpy 1.17 + - pandas + - pygsp + - python + - python-louvain + - scipy + - six + - scikit-learn + - tqdm + +test: + imports: + - karateclub + - karateclub.community_detection + - karateclub.community_detection.non_overlapping + - karateclub.community_detection.overlapping + - karateclub.dataset + - karateclub.graph_embedding + - karateclub.node_embedding + - karateclub.node_embedding.attributed + - karateclub.node_embedding.meta + - karateclub.node_embedding.neighbourhood + - karateclub.node_embedding.structural + - karateclub.utils + requires: + - mock + - pytest + - pytest-cov + - pytest-runner + +about: + home: "https://github.com/benedekrozemberczki/karateclub" + license: "MIT" + license_family: "MIT" + license_file: "" + summary: "A general purpose library for community detection, network embedding, and graph mining research." + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/make_conda.sh b/to_conda/make_conda.sh new file mode 100755 index 00000000..d9b75f0c --- /dev/null +++ b/to_conda/make_conda.sh @@ -0,0 +1,32 @@ +#This command creates a template .yaml file from a pipy package that can can be used to generate the coresponding conda package +#It does not work for several packages, including cdlib, karateclub... +#In those cases, I manually created or modified the .yaml file +#We therefore consider that the .yaml files must be updated manually when needed (basically, url and version number) + +#conda skeleton pypi *package name* + +#build everything for the current platform (very long) +conda config --set anaconda_upload no + +#conda-build bimlpa -c conda-forge +#conda-build demon -c conda-forge +#conda-build eva_lcd -c conda-forge +#conda-build karateclub -c conda-forge +#conda-build nf1 -c conda-forge +#conda-build omega_index_py3 -c conda-forge +#conda-build pquality -c conda-forge + +#conda-build count-dict -c conda-forge +#conda-build multivalued-dict -c conda-forge +#conda-build shuffle-graph -c conda-forge +#conda-build aslpaw -c conda-forge + +#conda-build cdlib -c conda-forge + + +#convert everything for all platforms. You can check the address as one of the last lines of every conda-build +build_location="~/anaconda3/conda-bld/osx-64/" +conda convert --platform all ~/anaconda3/conda-bld/osx-64/*.tar.bz2 -o outputdir + +#upload everything. First time, you'll be asked to provide your login/password on anaconda cloud +anaconda upload outputdir_aslpaw/*/*tar.bz2 --force \ No newline at end of file diff --git a/to_conda/multivalued-dict/meta.yaml b/to_conda/multivalued-dict/meta.yaml new file mode 100644 index 00000000..aa8f3ac2 --- /dev/null +++ b/to_conda/multivalued-dict/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "multivalued-dict" %} +{% set version = "2.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/fsssosei/MultivaluedDict + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - pip + - python + run: + - python + +test: + imports: + - check_self_class_call_of_meta_package + - multivalued_dict_package + +about: + home: "https://github.com/fsssosei/MultivaluedDict" + license: "GNU Affero General Public v3" + license_family: "AGPL" + license_file: "" + summary: "Multivalued dictionary package in python." + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/nf1/meta.yaml b/to_conda/nf1/meta.yaml new file mode 100644 index 00000000..c89d1622 --- /dev/null +++ b/to_conda/nf1/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "nf1" %} +{% set version = "0.0.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/Yquetzal/f1-communities.git + #url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + #sha256: "4ab06a2ef61ed9c357a2304d88f53c12c6f3717246d3074381fe2adb5b4e0889" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - matplotlib + - numpy + - pandas + - pip + - python + - scipy + run: + - matplotlib + - numpy + - pandas + - python + - scipy + +test: + imports: + - nf1 + +about: + home: "https://github.com/GiulioRossetti/f1-communities" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "NF1: Normalized F1 score for community evaluation against ground truth" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/omega_index_py3/meta.yaml b/to_conda/omega_index_py3/meta.yaml new file mode 100644 index 00000000..208508ab --- /dev/null +++ b/to_conda/omega_index_py3/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "omega_index_py3" %} +{% set version = "0.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "d4641e7cb7ddbaa5bd09a906d84df8b930dc1d9223c14a2040d92c4288945729" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - pip + - python + run: + - python + +test: + imports: + - omega_index_py3 + +about: + home: "https://github.com/GiulioRossetti/omega_index_py3" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Omega Index for evaluation of overlapping community structure" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/pquality/meta.yaml b/to_conda/pquality/meta.yaml new file mode 100644 index 00000000..eafdbf6b --- /dev/null +++ b/to_conda/pquality/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "pquality" %} +{% set version = "0.0.9" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "56258e8d1125f999b2533aa15bf5804efa4f6312dcb276c3379226f4ce615d07" + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - networkx + - numpy + - pandas + - pip + - python + run: + - networkx + - numpy + - pandas + - python + +test: + imports: + - pquality + +about: + home: "https://github.com/GiulioRossetti/partition_quality" + license: "BSD" + license_family: "BSD" + license_file: "" + summary: "Community Discovery Partition Quality Indicators" + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here diff --git a/to_conda/shuffle-graph/meta.yaml b/to_conda/shuffle-graph/meta.yaml new file mode 100644 index 00000000..6ed0cefc --- /dev/null +++ b/to_conda/shuffle-graph/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "shuffle-graph" %} +{% set version = "1.1.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + git_url: https://github.com/fsssosei/shuffle_graph + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + +requirements: + host: + - networkx >=2.4 + - pip + - python + run: + - networkx >=2.4 + - python + +test: + imports: + - shuffle_graph_package + +about: + home: "https://github.com/fsssosei/shuffle_graph" + license: "GNU Affero General Public v3" + license_family: "AGPL" + license_file: "" + summary: "Graph shuffling package in python." + doc_url: "" + dev_url: "" + +extra: + recipe-maintainers: + - your-github-id-here From 4b6daf16ae9c91fefcae6571804d85a4c3a63c92 Mon Sep 17 00:00:00 2001 From: Cazabet Remy Date: Fri, 26 Jun 2020 11:01:15 +0200 Subject: [PATCH 2/2] Update make_conda.sh --- to_conda/make_conda.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/to_conda/make_conda.sh b/to_conda/make_conda.sh index d9b75f0c..8987aa35 100755 --- a/to_conda/make_conda.sh +++ b/to_conda/make_conda.sh @@ -1,13 +1,17 @@ -#This command creates a template .yaml file from a pipy package that can can be used to generate the coresponding conda package + +#This first command creates a template .yaml file from a pipy package that can can be used to generate the coresponding conda package #It does not work for several packages, including cdlib, karateclub... #In those cases, I manually created or modified the .yaml file #We therefore consider that the .yaml files must be updated manually when needed (basically, url and version number) - +#------ #conda skeleton pypi *package name* +#------ #build everything for the current platform (very long) conda config --set anaconda_upload no + +#-c allows to specify a necessary channel, if everything is not built locally first it's necessary to add our own channel (currently, yquetzal) #conda-build bimlpa -c conda-forge #conda-build demon -c conda-forge #conda-build eva_lcd -c conda-forge @@ -21,7 +25,7 @@ conda config --set anaconda_upload no #conda-build shuffle-graph -c conda-forge #conda-build aslpaw -c conda-forge -#conda-build cdlib -c conda-forge +conda-build cdlib -c conda-forge #convert everything for all platforms. You can check the address as one of the last lines of every conda-build @@ -29,4 +33,5 @@ build_location="~/anaconda3/conda-bld/osx-64/" conda convert --platform all ~/anaconda3/conda-bld/osx-64/*.tar.bz2 -o outputdir #upload everything. First time, you'll be asked to provide your login/password on anaconda cloud -anaconda upload outputdir_aslpaw/*/*tar.bz2 --force \ No newline at end of file +#use --force to automatically replace packages +anaconda upload outputdir/*/*tar.bz2 \ No newline at end of file