From: Vinicius Monego <monego@posteo.net>
To: 48388@debbugs.gnu.org
Cc: Vinicius Monego <monego@posteo.net>
Subject: [bug#48388] [PATCH v2 3/3] gnu: Add python-xgboost.
Date: Thu, 13 May 2021 15:29:14 +0000 [thread overview]
Message-ID: <20210513152914.573837-2-monego@posteo.net> (raw)
In-Reply-To: <20210513152914.573837-1-monego@posteo.net>
* gnu/packages/machine-learning.scm (python-xgboost): New variable.
---
Added (when tests?) in check phase to allow --without-tests.
gnu/packages/machine-learning.scm | 62 +++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index d81370797f..ead47a534a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1992,6 +1992,68 @@ tree boosting (also known as GBDT, GBM) that solve many data science problems
in a fast and accurate way.")
(license license:asl2.0)))
+(define-public python-xgboost
+ (package
+ (inherit xgboost)
+ (name "python-xgboost")
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'preparations
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Move python-package content to parent directory to silence
+ ;; some warnings about files not being found if we chdir.
+ (rename-file "python-package/xgboost" "xgboost")
+ (rename-file "python-package/README.rst" "README.rst")
+ (rename-file "python-package/setup.cfg" "setup.cfg")
+ (rename-file "python-package/setup.py" "setup.py")
+
+ (with-directory-excursion "xgboost"
+ ;; Version is read from a VERSION file, but that file is not
+ ;; part of the installation.
+ (substitute* "__init__.py"
+ (("__version__ = ''")
+ (string-append "__version__ = " "'"
+ ,(package-version xgboost) "'")))
+ ;; The Python wrapper expects libxgboost to be found in the
+ ;; same source from where the wrapper builds. This workaround
+ ;; allows libxgboost to be used from the xgboost package.
+ (substitute* "libpath.py"
+ (("XGBOOST_PATH = ''")
+ (string-append "XGBOOST_PATH = "
+ "'" (assoc-ref inputs "xgboost") "'"))))
+ #t))
+ (replace 'check
+ ;; Python-specific tests are located in tests/python.
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests/python"
+ ;; FIXME: CLI tests fail with PermissionError.
+ "--ignore" "tests/python/test_cli.py" "-k"
+ (string-append
+ "not test_cli_regression_demo"
+ ;; The tests below open a network connection.
+ " and not test_model_compatibility"
+ " and not test_get_group"
+ " and not test_cv_no_shuffle"
+ " and not test_cv"
+ " and not test_training"
+ ;; "'['./runexp.sh']' returned non-zero exit status 1"
+ " and not test_cli_binary_classification")))
+ #t)))))
+ (native-inputs
+ `(("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)
+ ("python-scikit-learn" ,python-scikit-learn)))
+ (inputs
+ `(("xgboost" ,xgboost)))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-scipy" ,python-scipy)))
+ (synopsis "Python interface for the XGBoost library")))
+
(define-public python-iml
(package
(name "python-iml")
--
2.31.1
next prev parent reply other threads:[~2021-05-13 15:31 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-12 23:56 [bug#48388] [PATCH 0/3] Add xgboost Vinicius Monego
2021-05-12 23:58 ` [bug#48388] [PATCH 1/3] gnu: Add dmlc-core Vinicius Monego
2021-05-12 23:58 ` [bug#48388] [PATCH 2/3] gnu: Add xgboost Vinicius Monego
2021-05-12 23:58 ` [bug#48388] [PATCH 3/3] gnu: Add python-xgboost Vinicius Monego
2021-05-13 15:29 ` [bug#48388] [PATCH v2 2/3] gnu: Add xgboost Vinicius Monego
2021-05-13 15:29 ` Vinicius Monego [this message]
2021-06-27 17:30 ` [bug#48388] [PATCH v3 1/3] gnu: Add dmlc-core Vinicius Monego
2021-06-27 17:30 ` [bug#48388] [PATCH v3 2/3] gnu: Add xgboost Vinicius Monego
2021-06-27 17:30 ` [bug#48388] [PATCH v3 3/3] gnu: Add python-xgboost Vinicius Monego
2021-06-27 23:11 ` [bug#48388] [PATCH v4 " Vinicius Monego
2021-09-25 19:36 ` [bug#48388] [PATCH v5 1/3] gnu: Add dmlc-core Vinicius Monego
2021-09-25 19:36 ` [bug#48388] [PATCH v5 2/3] gnu: Add xgboost Vinicius Monego
2021-09-25 19:36 ` [bug#48388] [PATCH v5 3/3] gnu: Add python-xgboost Vinicius Monego
2021-09-25 20:14 ` bug#48388: [PATCH v5 1/3] gnu: Add dmlc-core Leo Famulari
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210513152914.573837-2-monego@posteo.net \
--to=monego@posteo.net \
--cc=48388@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).