gnu: Add python-pymc.

* gnu/packages/statistics.scm (python-pymc): New variable.
This commit is contained in:
Vinicius Monego 2023-05-20 19:10:56 -03:00
parent cbcab52fd1
commit c55611ff3f
No known key found for this signature in database
GPG key ID: 637B0B138065B68A

View file

@ -2173,6 +2173,63 @@ (define-public python-arviz
comparison and diagnostics.")
(license license:asl2.0)))
(define-public python-pymc
(package
(name "python-pymc")
(version "5.5.0")
(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
"077xigv3lfcn9fqc14rsnam4v95fmqk2wpzfrgj08vg8m7f69wdj"))))
(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")