From 360a9f0a2f94053ad11bcec43710ef68660082e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 16 Jun 2024 00:37:22 +0200 Subject: [PATCH] gnu: Add python-scikit-survival. * gnu/packages/python-science.scm (python-scikit-survival): New variable. Change-Id: I657f5d737280cac74f93f7f3d2b56a9a0a41588e --- gnu/packages/python-science.scm | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 39ba0dad96..30f540e05b 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -582,6 +582,63 @@ (define-public python-scikit-optimize @code{skopt} aims to be accessible and easy to use in many contexts.") (license license:bsd-3))) +(define-public python-scikit-survival + (let ((revision "1") + ;; We need a later commit for support of a more recent sklearn and + ;; numpy 2. + (commit "bceb53ebb8306f959c70fae2be9d552f33dd3f21")) + (package + (name "python-scikit-survival") + (version (git-version "0.22.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebp/scikit-survival") + (commit commit) + ;; This package contains a copy of Eigen. It would be good to + ;; figure out how to use our own Eigen package. + (recursive? #true))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m3z64nv4sgay0mdrrw4q4z5ylx63a9w2x43w1r4g8kpg7z9rdfc")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" + #$(version-major+minor version))))))) + (propagated-inputs + (list python-ecos + python-importlib-resources + python-joblib + python-numexpr + python-numpy + python-osqp + python-pandas + python-scikit-learn + python-scipy)) + (native-inputs + (list python-black + python-pypa-build + python-coverage + python-cython-3 + python-packaging + python-pytest + python-setuptools-scm + python-tomli + python-tox)) + (home-page "https://github.com/sebp/scikit-survival") + (synopsis "Survival analysis built on top of scikit-learn") + (description "Scikit-survival is a Python module for survival analysis +built on top of scikit-learn. It allows doing survival analysis while +utilizing the power of scikit-learn, e.g., for pre-processing or doing +cross-validation.") + (license license:gpl3+)))) + (define-public python-tdda (package (name "python-tdda")