summary refs log tree commit diff
path: root/gnu/packages/python-science.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-03-12 13:56:12 +0100
committerRicardo Wurmus <rekado@elephly.net>2021-03-12 13:56:12 +0100
commit456355c2538be4288b407ace7d0d769fb16a2076 (patch)
tree427c4836915af343de0b8a0491b0098d6ec46f3f /gnu/packages/python-science.scm
parent4d0fdde344509c4fa37bc7e5dd1e391fd50a8b2e (diff)
downloadguix-456355c2538be4288b407ace7d0d769fb16a2076.tar.gz
gnu: Add python-upsetplot.
* gnu/packages/python-science.scm (python-upsetplot): New variable.
Diffstat (limited to 'gnu/packages/python-science.scm')
-rw-r--r--gnu/packages/python-science.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 5221f41af7..391d37dcce 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -557,3 +557,40 @@ Python's native complex data types is also supported.")
      "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)))