gnu: Add python-scikit-learn-extra.

* gnu/packages/machine-learning.scm (python-scikit-learn-extra): New variable.

Change-Id: I50992ceaa76608f3345df6d74a5d9e4aa7c485a5

gnu/packages/machine-learning.scm | 41 +++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Timothee Mathieu 2023-11-10 17:54:05 +01:00 committed by Ludovic Courtès
parent 4fb51904cb
commit daf69ad3ab
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1532,6 +1532,54 @@ (define-public python-scikit-learn
data analysis.") data analysis.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-scikit-learn-extra
(package
(name "python-scikit-learn-extra")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scikit-learn-contrib/scikit-learn-extra")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yy6ka94ss88f3r7b6mpjf1l8lnv7aabhsg844pigfj8lfiv0wvl"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-ext
(lambda _
(invoke "python" "setup.py" "build_ext"
"--inplace")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Restrict OpenBLAS threads to prevent segfaults while testing!
(setenv "OPENBLAS_NUM_THREADS" "1")
;; Some tests require write access to $HOME.
(setenv "HOME" "/tmp")
;; Step out of the source directory to avoid interference;
;; we want to run the installed code with extensions etc.
(with-directory-excursion "/tmp"
(invoke "pytest" "-vv" "--pyargs"
"sklearn_extra"
;; ignore tests that require network
"-k" "not test_build"))))))))
(propagated-inputs (list python-numpy python-scikit-learn python-scipy))
(native-inputs (list python-pytest python-pytest-cov python-cython))
(home-page "https://github.com/scikit-learn-contrib/scikit-learn-extra")
(synopsis "Set of tools for scikit-learn")
(description
"This package provides a Python module for machine learning that extends
scikit-learn. It includes algorithms that are useful but do not satisfy the
scikit-learn inclusion criteria, for instance due to their novelty or lower
citation number.")
(license license:bsd-3)))
(define-public python-thinc (define-public python-thinc
(package (package
(name "python-thinc") (name "python-thinc")