Subject: [bug#71702] [PATCH 22/30] gnu: Add python-corner.

From: Sharlatan Hellseher <[email-masked]>
Date: Fri, 21 Jun 2024 19:38:44 +0100

* gnu/packages/python-science.scm (python-corner): New variable.

Change-Id: I75c3a88ba4b729fb7c9a50dd85a00b22cdcaa828
---
 gnu/packages/python-science.scm | 57 +++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 58b7f3b3ee..401beecbcd 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2872,6 +2872,63 @@ (define-public python-climin
 @command{numpy} and (partially) @command{gnumpy}.")
     (license license:bsd-3)))
 
+(define-public python-corner
+  (package
+    (name "python-corner")
+    (version "2.2.2")
+    (source
+     (origin
+       (method git-fetch) ;no tests in PyPi archive
+       (uri (git-reference
+             (url "https://github.com/dfm/corner.py")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1i4dk4jxh0saysya2cnsfwlxwpldbdl174i9pwi4qj82av9jr2ii"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list
+         ;; XXX: Disable tests which failed with mismatched images, check why.
+         "-k" (string-append "not test_labels[png]"
+                             " and not test_title_quantiles[png]"
+                             " and not test_title_quantiles_default[png]"
+                             " and not test_title_quantiles_raises[png]"
+                             " and not test_bins[png]"
+                             " and not test_bins_log[png]"
+                             " and not test_titles1[png]"
+                             " and not test_titles2[png]"
+                             " and not test_pandas[png]"
+                             " and not test_tight[png]"
+                             " and not test_extended_overplotting[png]"
+                             " and not test_reverse_overplotting[png]"
+                             " and not test_arviz[png]"
+                             " and not test_range_fig_arg[png]"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'pretend-version
+            ;; XXX: Make sure you're either building from a fully intact git
+            ;; repository or PyPI tarballs. Most other sources (such as GitHub's
+            ;; tarballs, a git checkout without the .git folder) don't contain
+            ;; the necessary metadata and will not work.
+            (lambda _
+              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+    (propagated-inputs
+     (list python-matplotlib))
+    (native-inputs
+     (list python-arviz python-pytest python-scipy python-setuptools-scm))
+    (home-page "http://corner.readthedocs.io/")
+    (synopsis "Make some beautiful corner plots")
+    (description
+     "This Python module uses @code{matplotlib} to visualize multidimensional
+samples using a scatterplot matrix. In these visualizations, each one- and
+two-dimensional projection of the sample is plotted to reveal covariances.
+corner was originally conceived to display the results of Markov Chain Monte
+Carlo simulations and the defaults are chosen with this application in mind but
+it can be used for displaying many qualitatively different samples.")
+    (license license:bsd-2)))
+
 (define-public python-paramz
   (package
     (name "python-paramz")
-- 
2.41.0