summary refs log tree commit diff
path: root/gnu/packages/graph.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-02-10 15:48:02 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-02-10 19:36:36 +0100
commitcf981657a1d4c6ba64bf7e9a015d2be239ca85c2 (patch)
treec50d5de866f60b9caa116b049d26d8c85e6ce733 /gnu/packages/graph.scm
parent8340acfa5a22495cd17e37c01388010f93103adc (diff)
downloadguix-cf981657a1d4c6ba64bf7e9a015d2be239ca85c2.tar.gz
gnu: Add python-vtraag-louvain.
* gnu/packages/graph.scm (python-vtraag-louvain): New variable.
Diffstat (limited to 'gnu/packages/graph.scm')
-rw-r--r--gnu/packages/graph.scm37
1 files changed, 36 insertions, 1 deletions
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 560764bb33..cb2723afcd 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 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019, 2020, 2022, 2023 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>
@@ -311,6 +311,41 @@ subplots, multiple-axes, polar charts, and bubble charts.")
 algorithm for community detection in large networks.")
     (license license:bsd-3)))
 
+(define-public python-vtraag-louvain
+  (package
+    (name "python-vtraag-louvain")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "louvain" version))
+              (sha256
+               (base32
+                "16l2zi4jwc3vpvpnz32jv7xy0g5087dp9y57wxplj1xa9r312x0i"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'do-not-use-bundled-igraph
+           (lambda _
+             (substitute* "setup.py"
+               (("self.external = False")
+                "self.external = True")
+               (("self.use_pkgconfig = False")
+                "self.use_pkgconfig = True")))))))
+    (inputs (list igraph))
+    (propagated-inputs (list python-igraph))
+    (native-inputs
+     (list pkg-config
+           python-ddt
+           python-setuptools-scm))
+    (home-page "https://github.com/vtraag/louvain")
+    (synopsis "Community detection in large networks")
+    (description
+     "Louvain is a general algorithm for methods of community detection in
+large networks.")
+    (license license:gpl3+)))
+
 (define-public faiss
   (package
     (name "faiss")