diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2024-01-05 18:11:52 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2024-01-05 18:13:10 +0100 |
commit | 657fd534fb3ba3daf3852780f5f1eb9be50e6842 (patch) | |
tree | 0a12b19e4efbdb9f4a9423c97c4c76eb9947da08 | |
parent | cb15b360aabb9a572dd8f4a697e50cba4481902e (diff) |
gnu: Add python-louvain-igraph.
* gnu/packages/graph.scm (python-louvain-igraph): New variable.
Change-Id: I773ee905af81731a12b60ebfa0c2f94e9cb50c45
-rw-r--r-- | gnu/packages/graph.scm | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index a40b580417..26b9d03a73 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019, 2020, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017-2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> @@ -426,6 +426,48 @@ algorithm for community detection in large networks.") large networks.") (license license:gpl3+))) +(define-public python-louvain-igraph + (package + (name "python-louvain-igraph") + (version "0.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vtraag/louvain-igraph") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j2ybihvvzggwjb9zvm829aqb5b94q10h8bw6v0h42xd9w75z9sv")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-igraph + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) + (substitute* "setup.py" + (("/usr/include/igraph") + (string-append #$(this-package-input "igraph") + "/include/igraph")))))))) + (propagated-inputs (list python-igraph)) + (inputs (list igraph)) + (native-inputs + (list python-ddt + python-setuptools-scm + pkg-config)) + (home-page "https://github.com/vtraag/louvain-igraph") + (synopsis "Implementation of the Louvain algorithm") + (description "This package implements the Louvain algorithm for community +detection in C++ and exposes it to Python. Besides the relative flexibility +of the implementation, it also scales well, and can be run on graphs of +millions of nodes (as long as they can fit in memory). The core function is +@code{find_partition} which finds the optimal partition using the louvain +algorithm for a number of different methods.") + (license license:gpl3+))) + (define-public faiss (package (name "faiss") @@ -449,8 +491,8 @@ large networks.") (build-system cmake-build-system) (arguments `(#:configure-flags - (list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA. - "-DBUILD_TUTORIAL=OFF") ; we don't need those + (list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA. + "-DBUILD_TUTORIAL=OFF") ; we don't need those #:phases (modify-phases %standard-phases (add-after 'unpack 'prepare-build @@ -466,7 +508,7 @@ large networks.") '())))))) (substitute* "CMakeLists.txt" (("-m64") "") - (("-mpopcnt") "") ; only some architectures + (("-mpopcnt") "") ; only some architectures (("-msse4") (string-append (string-join features) |