(name . guix-patches)(address . guix-patches@gnu.org)(name . Timothee Mathieu)(address . timothee.mathieu@inria.fr)
From 59c388e64c12e39f7fb91ca538be332a130a3872 Mon Sep 17 00:00:00 2001
Message-ID: <59c388e64c12e39f7fb91ca538be332a130a3872.1699637173.git.timothee.mathieu@inria.fr>
From: Timothee Mathieu <timothee.mathieu@inria.fr>
Date: Fri, 10 Nov 2023 17:54:05 +0100
Subject: [PATCH] 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(+)
Toggle diff (56 lines)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index a84377e1eb..1d0b796c68 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1532,6 +1532,47 @@ (define-public python-scikit-learn
data analysis.")
(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 "v0.3.0")))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "0yy6ka94ss88f3r7b6mpjf1l8lnv7aabhsg844pigfj8lfiv0wvl"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#: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 set of tools for scikit-learn.")
+ (license license:bsd-3))
+)
+
(define-public python-thinc
(package
(name "python-thinc")
base-commit: bb3ab24a296ffa5273b2e82a02ed057e90c095f3
--
2.42.1