gnu: Add python-pingouin.

* gnu/packages/python-science.scm (python-pingouin): New variable.
This commit is contained in:
Arun Isaac 2021-07-13 15:00:03 +05:30
parent f79fce7981
commit 5346e136fa
No known key found for this signature in database
GPG key ID: 2E25EE8B61802BB3

View file

@ -37,6 +37,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
@ -48,6 +49,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages simulation)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages statistics)
#:use-module (gnu packages time)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
@ -761,3 +763,75 @@ (define-public python-pandas-flavor
of Pandas
@end itemize")
(license license:expat)))
(define-public python-pingouin
(package
(name "python-pingouin")
(version "0.3.12")
(source
;; The PyPI tarball does not contain the tests.
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raphaelvallat/pingouin")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ap29x54kdr19vi8qxj9g6cz2r1q4f0z7dcf6g77zwav7hf7r61a"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; On loading, Pingouin uses the outdated package to check if a newer
;; version is available on PyPI. This check adds an extra dependency
;; and is irrelevant to Guix users. So, disable it.
(add-after 'unpack 'remove-outdated-check
(lambda _
(substitute* "setup.py"
(("'outdated',") ""))
(substitute* "pingouin/__init__.py"
(("^from outdated[^\n]*") "")
(("^warn_if_outdated[^\n]*") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)))
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-mpmath" ,python-mpmath)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-pandas-flavor" ,python-pandas-flavor)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)
("python-seaborn" ,python-seaborn)
("python-statsmodels" ,python-statsmodels)
("python-tabulate" ,python-tabulate)))
(home-page "https://pingouin-stats.org/")
(synopsis "Statistical package for Python")
(description "Pingouin is a statistical package written in Python 3 and
based mostly on Pandas and NumPy. Its features include
@itemize
@item ANOVAs: N-ways, repeated measures, mixed, ancova
@item Pairwise post-hocs tests (parametric and non-parametric) and pairwise
correlations
@item Robust, partial, distance and repeated measures correlations
@item Linear/logistic regression and mediation analysis
@item Bayes Factors
@item Multivariate tests
@item Reliability and consistency
@item Effect sizes and power analysis
@item Parametric/bootstrapped confidence intervals around an effect size or a
correlation coefficient
@item Circular statistics
@item Chi-squared tests
@item Plotting: Bland-Altman plot, Q-Q plot, paired plot, robust correlation,
and more
@end itemize")
(license license:gpl3)))