From a1526919f28d8ea4a958ef3b672b3187c8c3bd82 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 18 Jun 2020 00:59:09 +0200 Subject: [PATCH 5/5] gnu: python-plotly: Update to 4.8.1. But keep version 2.4.1 around for packages that still need it and for python2 support. * gnu/packages/graph.scm (python-plotly): Update to 4.8.1. [source]: Use git-fetch so that tests are also included. [arguments]: Enable tests. [home-page]: Follow redirect. (python-plotly-2.4.1): New variable. (python2-plotly): Inherit from python-plotly-2.4.1. * gnu/packages/bioinformatics.scm (python-deeptools)[native-inputs]: Depend on python-plotly-2.4.1. --- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/graph.scm | 74 ++++++++++++++++++++++++++------- 2 files changed, 61 insertions(+), 15 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3ee134db77..ce54c613b0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2431,7 +2431,7 @@ interval trees with associated meta-data. It is primarily used by the ("python-pysam" ,python-pysam) ("python-scipy" ,python-scipy) ("python-deeptoolsintervals" ,python-deeptoolsintervals) - ("python-plotly" ,python-plotly))) + ("python-plotly" ,python-plotly-2.4.1))) (home-page "https://pypi.org/project/deepTools/") (synopsis "Useful tools for exploring deep sequencing data") (description "This package addresses the challenge of handling large amounts diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index dc8f2c64a2..762ee30632 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Andreas Enge ;;; Copyright © 2020 Alexander Krotov +;;; Copyright © 2020 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -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.git") + (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 -- 2.26.2