summaryrefslogtreecommitdiff
path: root/gnu/packages/python-science.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-science.scm')
-rw-r--r--gnu/packages/python-science.scm104
1 files changed, 95 insertions, 9 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index a1e2b57669..79ee7c8bb2 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -9,7 +9,7 @@
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
@@ -36,6 +36,8 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
@@ -240,18 +242,34 @@ logic, also known as grey logic.")
(define-public python-scikit-image
(package
(name "python-scikit-image")
- (version "0.17.2")
+ (version "0.18.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scikit-image" version))
(sha256
- (base32 "1cyqqbcbrg3prc36wis0sm3q5rjhd7h9bp33jwfyixzhi02lr5dx"))))
+ (base32 "0wgisa03smhrphcjnhq7waa5vyyd32b67hblapjbqrqqj751idpv"))))
(build-system python-build-system)
(arguments
- ;; TODO: Some tests require running X11 server. Disable them?
- '(#:tests? #f))
- ;; See DEPENDS.txt for the list of build and run time requiremnts
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'change-home-dir
+ (lambda _
+ ;; Change from /homeless-shelter to /tmp for write permission.
+ (setenv "HOME" "/tmp")
+ #t))
+ (replace 'build
+ (lambda _
+ (invoke "make")))
+ (replace 'check
+ (lambda _
+ ;; The following tests require online data.
+ (invoke "python" "-m" "pytest" "skimage" "--doctest-modules" "-k"
+ (string-append "not test_ndim"
+ " and not test_skin")))))))
+ ;; See requirements/ for the list of build and run time requirements.
+ ;; NOTE: scikit-image has an optional dependency on python-pooch, however
+ ;; propagating it would enable many more tests that require online data.
(propagated-inputs
`(("python-cloudpickle" ,python-cloudpickle)
("python-dask" ,python-dask)
@@ -262,10 +280,15 @@ logic, also known as grey logic.")
("python-pillow" ,python-pillow)
("python-pywavelets" ,python-pywavelets)
("python-scipy" ,python-scipy)
- ("python-six" ,python-six)
("python-tifffile" ,python-tifffile)))
(native-inputs
- `(("python-cython" ,python-cython)))
+ `(("python-codecov" ,python-codecov)
+ ("python-cython" ,python-cython)
+ ("python-flake8" ,python-flake8)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-localserver" ,python-pytest-localserver)
+ ("python-wheel" ,python-wheel)))
(home-page "https://scikit-image.org/")
(synopsis "Image processing in Python")
(description
@@ -531,3 +554,66 @@ serialization and deserialization of numerical and array data types provided
by numpy using the highly efficient @code{msgpack} format. Serialization of
Python's native complex data types is also supported.")
(license license:bsd-3)))
+
+(define-public python-statannot
+ (package
+ (name "python-statannot")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "statannot" version))
+ (sha256
+ (base32
+ "1f8c2sylzr7lpjbyqxsqlp9xi8rj3d8c9hfh98x4jbb83zxc4026"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-seaborn" ,python-seaborn)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-pandas" ,python-pandas)
+ ("python-scipy" ,python-scipy)))
+ (home-page
+ "https://github.com/webermarcolivier/statannot")
+ (synopsis "Add annotations to existing plots generated by seaborn")
+ (description
+ "This is a Python package to compute statistical test and add statistical
+annotations on an existing boxplots and barplots generated by seaborn.")
+ (license license:expat)))
+
+(define-public python-upsetplot
+ (package
+ (name "python-upsetplot")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "UpSetPlot" version))
+ (sha256
+ (base32
+ "0kwljcmsvrxm33y3ssham2bwv4a5m31mv96y9h18va0cv7s3mqn1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-versioning
+ (lambda _
+ (substitute* "setup.py"
+ (("pytest-cov<2.6") "pytest-cov"))))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-v" "--doctest-modules"))))))
+ (propagated-inputs
+ `(("python-matplotlib" ,python-matplotlib)
+ ("python-pandas" ,python-pandas)))
+ (native-inputs
+ `(("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://upsetplot.readthedocs.io")
+ (synopsis "Draw UpSet plots with Pandas and Matplotlib")
+ (description
+ "This is a Python implementation of UpSet plots by Lex et al.
+UpSet plots are used to visualize set overlaps; like Venn diagrams but more
+readable.")
+ (license license:bsd-3)))