summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-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)))