Subject: [bug#63619] [PATCH v2 9/9] gnu: Add python-pymc.

From: Vinicius Monego <[email-masked]>
Date: Fri, 9 Jun 2023 03:49:41 +0000

* gnu/packages/statistics.scm (python-pymc): New variable.
---
 gnu/packages/statistics.scm | 57 +++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0a2ca7ced2..c2dbfbb64a 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -2193,6 +2193,63 @@ (define-public python-arviz
 comparison and diagnostics.")
     (license license:asl2.0)))
 
+(define-public python-pymc
+  (package
+    (name "python-pymc")
+    (version "5.4.1")
+    (source (origin
+              (method git-fetch)        ; no tests in PyPI
+              (uri (git-reference
+                    (url "https://github.com/pymc-devs/pymc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ihx4r7z2lllcakl63dfgskhyk6kns5qp6fi1xf9bhzdy1wbwfls"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f ; tests are too computationally intensive
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'versioneer
+                          (lambda _
+                            (with-output-to-file "setup.cfg"
+                (lambda ()
+                  (display "\
+[versioneer]
+VCS = git
+style = pep440
+versionfile_source = pymc/_version.py
+versionfile_build = pymc/_version.py
+tag_prefix =
+parentdir_prefix = pymc-
+")))
+              (invoke "versioneer" "install")
+              (substitute* "setup.py"
+                (("versioneer.get_version\\(\\)")
+                 (string-append "\"" #$version "\"")))))
+                        ;; To create the compiledir for tests.
+                        (add-before 'check 'write-permissions
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (setenv "HOME" "/tmp")))))))
+    (native-inputs (list python-pytest-cov python-versioneer))
+    (propagated-inputs (list python-arviz
+                             python-cachetools
+                             python-cloudpickle
+                             python-fastprogress
+                             python-numpy
+                             python-pandas
+                             python-pytensor
+                             python-scipy
+                             python-typing-extensions))
+    (home-page "https://github.com/pymc-devs/pymc")
+    (synopsis "Library for probabilistic programming in Python")
+    (description
+     "PyMC (formerly PyMC3) is a Python package for Bayesian
+statistical modeling focusing on advanced Markov chain Monte Carlo (MCMC) and
+variational inference (VI) algorithms.")
+    (license license:asl2.0)))
+
 (define-public python-patsy
   (package
     (name "python-patsy")
-- 
2.34.1