gnu: facter: Update to 4.0.33.
[jackhill/guix/guix.git] / gnu / packages / graph.scm
index a999b1c..65dc235 100644 (file)
@@ -5,6 +5,7 @@
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
+;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,7 +78,7 @@
        ("lapack" ,lapack)
        ("openblas" ,openblas)
        ("zlib" ,zlib)))
-    (home-page "http://igraph.org")
+    (home-page "https://igraph.org")
     (synopsis "Network analysis and visualization")
     (description
      "This package provides a library for the analysis of networks and graphs.
@@ -144,7 +145,7 @@ more.")
      `(("r-magrittr" ,r-magrittr)
        ("r-matrix" ,r-matrix)
        ("r-pkgconfig" ,r-pkgconfig)))
-    (home-page "http://igraph.org")
+    (home-page "https://igraph.org")
     (synopsis "Network analysis and visualization")
     (description
      "This package provides routines for simple graphs and network analysis.
@@ -181,14 +182,14 @@ model.")
 (define-public r-rgraphviz
   (package
     (name "r-rgraphviz")
-    (version "2.30.0")
+    (version "2.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rgraphviz" version))
        (sha256
         (base32
-         "00lrkbgbb4payybckcmazsv8skysgdlglyqbl7yjb37vv3gnfc6c"))))
+         "1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y"))))
     (properties `((upstream-name . "Rgraphviz")))
     (build-system r-build-system)
     ;; FIXME: Rgraphviz bundles the sources of an older variant of
@@ -215,7 +216,7 @@ objects from the @code{graph} package.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/wjrl/RBioFabric.git")
+                      (url "https://github.com/wjrl/RBioFabric")
                       (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
@@ -235,25 +236,49 @@ lines.")
 (define-public python-plotly
   (package
     (name "python-plotly")
-    (version "2.4.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "plotly" version))
-        (sha256
-         (base32
-          "0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m"))))
+    (version "4.8.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/plotly/plotly.py")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08ab677gr85m10zhixr6dnmlfws8q6sra7nhyb8nf3r8dx1ffqhz"))))
     (build-system python-build-system)
     (arguments
-     '(#:tests? #f)) ; The tests are not distributed in the release
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "packages/python/plotly")
+             #t))
+         (replace 'check
+           (lambda _
+             (invoke "pytest" "-x" "plotly/tests/test_core")
+             (invoke "pytest" "-x" "plotly/tests/test_io")
+             ;; FIXME: Add optional dependencies and enable their tests.
+             ;; (invoke "pytest" "-x" "plotly/tests/test_optional")
+             (invoke "pytest" "_plotly_utils/tests")))
+         (add-before 'reset-gzip-timestamps 'make-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each (lambda (file) (chmod file #o644))
+                 (find-files out "\\.gz"))
+               #t))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
     (propagated-inputs
      `(("python-decorator" ,python-decorator)
-       ("python-nbformat" ,python-nbformat)
+       ("python-ipywidgets" ,python-ipywidgets)
        ("python-pandas" ,python-pandas)
-       ("python-pytz" ,python-pytz)
        ("python-requests" ,python-requests)
-       ("python-six" ,python-six)))
-    (home-page "https://plot.ly/python/")
+       ("python-retrying" ,python-retrying)
+       ("python-six" ,python-six)
+       ("python-statsmodels" ,python-statsmodels)
+       ("python-xarray" ,python-xarray)))
+    (home-page "https://plotly.com/python/")
     (synopsis "Interactive plotting library for Python")
     (description "Plotly's Python graphing library makes interactive,
 publication-quality graphs online.  Examples of how to make line plots, scatter
@@ -261,8 +286,29 @@ plots, area charts, bar charts, error bars, box plots, histograms, heatmaps,
 subplots, multiple-axes, polar charts, and bubble charts. ")
     (license license:expat)))
 
+(define-public python-plotly-2.4.1
+  (package (inherit python-plotly)
+    (version "2.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "plotly" version))
+        (sha256
+         (base32
+          "0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m"))))
+   (native-inputs '())
+   (propagated-inputs
+    `(("python-decorator" ,python-decorator)
+      ("python-nbformat" ,python-nbformat)
+      ("python-pandas" ,python-pandas)
+      ("python-pytz" ,python-pytz)
+      ("python-requests" ,python-requests)
+      ("python-six" ,python-six)))
+    (arguments
+     '(#:tests? #f)))) ; The tests are not distributed in the release
+
 (define-public python2-plotly
-  (package-with-python2 python-plotly))
+  (package-with-python2 python-plotly-2.4.1))
 
 (define-public python-louvain
   (package
@@ -272,7 +318,7 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/vtraag/louvain-igraph.git")
+                    (url "https://github.com/vtraag/louvain-igraph")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -305,7 +351,7 @@ not be used for new projects.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/facebookresearch/faiss.git")
+                    (url "https://github.com/facebookresearch/faiss")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256