all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#70089] [PATCH] gnu: python-scikit-optimize: Update to 0.10.1.
@ 2024-03-30 12:30 Vinicius Monego
  2024-06-02  9:48 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Vinicius Monego @ 2024-03-30 12:30 UTC (permalink / raw)
  To: 70089; +Cc: Vinicius Monego

* gnu/packages/python-science.scm (python-scikit-optimize): Update to 0.10.1.
[source]: Switch to maintained repository. Remove compatibility patches and
snippet.
* gnu/packages/patches/python-scikit-optimize-1148.patch,
gnu/packages/patches/python-scikit-optimize-1148.patch: Remove files.
* gnu/local.mk (dist_patch_DATA): Remove them.

Change-Id: I6c23c93d3c256b0b97166f80eaeab7f2c7282c5f
---
scikit-optimize was archived by upstream without explanation. One of the (ex) maintainers forked the project and is updating it, seems to be a one man project, but again no annoucement. I noticed that the PyPI page for this package is now held by this new repo. Is it safe to merge?

 gnu/local.mk                                  |   2 -
 .../patches/python-scikit-optimize-1148.patch |  32 --
 .../patches/python-scikit-optimize-1150.patch | 275 ------------------
 gnu/packages/python-science.scm               |  19 +-
 4 files changed, 3 insertions(+), 325 deletions(-)
 delete mode 100644 gnu/packages/patches/python-scikit-optimize-1148.patch
 delete mode 100644 gnu/packages/patches/python-scikit-optimize-1150.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f2b480bded..3d45b8f573 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1947,8 +1947,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-robotframework-source-date-epoch.patch \
   %D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
   %D%/packages/patches/python-scikit-bio-1887.patch		\
-  %D%/packages/patches/python-scikit-optimize-1148.patch	\
-  %D%/packages/patches/python-scikit-optimize-1150.patch	\
   %D%/packages/patches/python-typing-inspect-fix.patch		\
   %D%/packages/patches/python-unittest2-python3-compat.patch	\
   %D%/packages/patches/python-unittest2-remove-argparse.patch	\
diff --git a/gnu/packages/patches/python-scikit-optimize-1148.patch b/gnu/packages/patches/python-scikit-optimize-1148.patch
deleted file mode 100644
index 6ad854ab1e..0000000000
--- a/gnu/packages/patches/python-scikit-optimize-1148.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3a5d5eb90ec9d8d4905c05387748486157cadbbb Mon Sep 17 00:00:00 2001
-From: valtron <valtron2000@gmail.com>
-Date: Tue, 14 Feb 2023 09:56:10 -0700
-Subject: [PATCH] `np.int` -> `int`
-
-`np.int is int` and it was deprecated in numpy 1.20: https://numpy.org/doc/1.20/release/1.20.0-notes.html#deprecations
----
- skopt/space/transformers.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/skopt/space/transformers.py b/skopt/space/transformers.py
-index 68892952..f2dfb164 100644
---- a/skopt/space/transformers.py
-+++ b/skopt/space/transformers.py
-@@ -259,7 +259,7 @@ def transform(self, X):
-         if (self.high - self.low) == 0.:
-             return X * 0.
-         if self.is_int:
--            return (np.round(X).astype(np.int) - self.low) /\
-+            return (np.round(X).astype(int) - self.low) /\
-                    (self.high - self.low)
-         else:
-             return (X - self.low) / (self.high - self.low)
-@@ -272,7 +272,7 @@ def inverse_transform(self, X):
-             raise ValueError("All values should be greater than 0.0")
-         X_orig = X * (self.high - self.low) + self.low
-         if self.is_int:
--            return np.round(X_orig).astype(np.int)
-+            return np.round(X_orig).astype(int)
-         return X_orig
- 
- 
diff --git a/gnu/packages/patches/python-scikit-optimize-1150.patch b/gnu/packages/patches/python-scikit-optimize-1150.patch
deleted file mode 100644
index 0cdf361a80..0000000000
--- a/gnu/packages/patches/python-scikit-optimize-1150.patch
+++ /dev/null
@@ -1,275 +0,0 @@
-From cd74e00d0e4f435d548444e1a5edc20155e371d7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20T=C3=B8rnes?= <jonas.tornes@gmail.com>
-Date: Wed, 15 Feb 2023 18:47:52 +0100
-Subject: [PATCH 1/5] Update RandomForesetRegressor criterion to be inline with
- scikit-learn change from mse to squared error this has the same funcitonality
-
----
- requirements.txt         |  6 +++---
- setup.py                 |  6 +++---
- skopt/learning/forest.py | 30 +++++++++++++++---------------
- 3 files changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/requirements.txt b/requirements.txt
-index 1eaa3083a..23ab3d856 100644
---- a/requirements.txt
-+++ b/requirements.txt
-@@ -1,6 +1,6 @@
--numpy>=1.13.3
--scipy>=0.19.1
--scikit-learn>=0.20
-+numpy>=1.23.2
-+scipy>=1.10.0
-+scikit-learn>=1.2.1
- matplotlib>=2.0.0
- pytest
- pyaml>=16.9
-diff --git a/setup.py b/setup.py
-index 8879da880..e7f921765 100644
---- a/setup.py
-+++ b/setup.py
-@@ -42,9 +42,9 @@
-       classifiers=CLASSIFIERS,
-       packages=['skopt', 'skopt.learning', 'skopt.optimizer', 'skopt.space',
-                 'skopt.learning.gaussian_process', 'skopt.sampler'],
--      install_requires=['joblib>=0.11', 'pyaml>=16.9', 'numpy>=1.13.3',
--                        'scipy>=0.19.1',
--                        'scikit-learn>=0.20.0'],
-+      install_requires=['joblib>=0.11', 'pyaml>=16.9', 'numpy>=1.23.2',
-+                        'scipy>=1.10.0',
-+                        'scikit-learn>=1.2.1'],
-       extras_require={
-         'plots':  ["matplotlib>=2.0.0"]
-         }
-diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py
-index 096770c1d..ebde568f5 100644
---- a/skopt/learning/forest.py
-+++ b/skopt/learning/forest.py
-@@ -27,7 +27,7 @@ def _return_std(X, trees, predictions, min_variance):
-     -------
-     std : array-like, shape=(n_samples,)
-         Standard deviation of `y` at `X`. If criterion
--        is set to "mse", then `std[i] ~= std(y | X[i])`.
-+        is set to "squared_error", then `std[i] ~= std(y | X[i])`.
- 
-     """
-     # This derives std(y | x) as described in 4.3.2 of arXiv:1211.0906
-@@ -61,9 +61,9 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
-     n_estimators : integer, optional (default=10)
-         The number of trees in the forest.
- 
--    criterion : string, optional (default="mse")
-+    criterion : string, optional (default="squared_error")
-         The function to measure the quality of a split. Supported criteria
--        are "mse" for the mean squared error, which is equal to variance
-+        are "squared_error" for the mean squared error, which is equal to variance
-         reduction as feature selection criterion, and "mae" for the mean
-         absolute error.
- 
-@@ -194,7 +194,7 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
-     .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- 
-     """
--    def __init__(self, n_estimators=10, criterion='mse', max_depth=None,
-+    def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
-                  min_samples_split=2, min_samples_leaf=1,
-                  min_weight_fraction_leaf=0.0, max_features='auto',
-                  max_leaf_nodes=None, min_impurity_decrease=0.,
-@@ -228,20 +228,20 @@ def predict(self, X, return_std=False):
-         Returns
-         -------
-         predictions : array-like of shape = (n_samples,)
--            Predicted values for X. If criterion is set to "mse",
-+            Predicted values for X. If criterion is set to "squared_error",
-             then `predictions[i] ~= mean(y | X[i])`.
- 
-         std : array-like of shape=(n_samples,)
-             Standard deviation of `y` at `X`. If criterion
--            is set to "mse", then `std[i] ~= std(y | X[i])`.
-+            is set to "squared_error", then `std[i] ~= std(y | X[i])`.
- 
-         """
-         mean = super(RandomForestRegressor, self).predict(X)
- 
-         if return_std:
--            if self.criterion != "mse":
-+            if self.criterion != "squared_error":
-                 raise ValueError(
--                    "Expected impurity to be 'mse', got %s instead"
-+                    "Expected impurity to be 'squared_error', got %s instead"
-                     % self.criterion)
-             std = _return_std(X, self.estimators_, mean, self.min_variance)
-             return mean, std
-@@ -257,9 +257,9 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
-     n_estimators : integer, optional (default=10)
-         The number of trees in the forest.
- 
--    criterion : string, optional (default="mse")
-+    criterion : string, optional (default="squared_error")
-         The function to measure the quality of a split. Supported criteria
--        are "mse" for the mean squared error, which is equal to variance
-+        are "squared_error" for the mean squared error, which is equal to variance
-         reduction as feature selection criterion, and "mae" for the mean
-         absolute error.
- 
-@@ -390,7 +390,7 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
-     .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- 
-     """
--    def __init__(self, n_estimators=10, criterion='mse', max_depth=None,
-+    def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
-                  min_samples_split=2, min_samples_leaf=1,
-                  min_weight_fraction_leaf=0.0, max_features='auto',
-                  max_leaf_nodes=None, min_impurity_decrease=0.,
-@@ -425,19 +425,19 @@ def predict(self, X, return_std=False):
-         Returns
-         -------
-         predictions : array-like of shape=(n_samples,)
--            Predicted values for X. If criterion is set to "mse",
-+            Predicted values for X. If criterion is set to "squared_error",
-             then `predictions[i] ~= mean(y | X[i])`.
- 
-         std : array-like of shape=(n_samples,)
-             Standard deviation of `y` at `X`. If criterion
--            is set to "mse", then `std[i] ~= std(y | X[i])`.
-+            is set to "squared_error", then `std[i] ~= std(y | X[i])`.
-         """
-         mean = super(ExtraTreesRegressor, self).predict(X)
- 
-         if return_std:
--            if self.criterion != "mse":
-+            if self.criterion != "squared_error":
-                 raise ValueError(
--                    "Expected impurity to be 'mse', got %s instead"
-+                    "Expected impurity to be 'squared_error', got %s instead"
-                     % self.criterion)
-             std = _return_std(X, self.estimators_, mean, self.min_variance)
-             return mean, std
-
-From 6eb2d4ddaa299ae47d9a69ffb31ebc4ed366d1c1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20T=C3=B8rnes?= <jonas.tornes@gmail.com>
-Date: Thu, 16 Feb 2023 11:34:58 +0100
-Subject: [PATCH 2/5] Change test to be consistent with code changes.
-
----
- skopt/learning/tests/test_forest.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/skopt/learning/tests/test_forest.py b/skopt/learning/tests/test_forest.py
-index 0711cde9d..c6ed610f3 100644
---- a/skopt/learning/tests/test_forest.py
-+++ b/skopt/learning/tests/test_forest.py
-@@ -35,7 +35,7 @@ def test_random_forest():
-     assert_array_equal(clf.predict(T), true_result)
-     assert 10 == len(clf)
- 
--    clf = RandomForestRegressor(n_estimators=10, criterion="mse",
-+    clf = RandomForestRegressor(n_estimators=10, criterion="squared_error",
-                                 max_depth=None, min_samples_split=2,
-                                 min_samples_leaf=1,
-                                 min_weight_fraction_leaf=0.,
-@@ -80,7 +80,7 @@ def test_extra_forest():
-     assert_array_equal(clf.predict(T), true_result)
-     assert 10 == len(clf)
- 
--    clf = ExtraTreesRegressor(n_estimators=10, criterion="mse",
-+    clf = ExtraTreesRegressor(n_estimators=10, criterion="squared_error",
-                               max_depth=None, min_samples_split=2,
-                               min_samples_leaf=1, min_weight_fraction_leaf=0.,
-                               max_features="auto", max_leaf_nodes=None,
-
-From 52c620add07d845debbaff2ce2b1c5faf3eae79b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20T=C3=B8rnes?= <jonas.tornes@gmail.com>
-Date: Wed, 22 Feb 2023 16:59:03 +0100
-Subject: [PATCH 3/5] Update skopt/learning/forest.py
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix max line width
-
-Co-authored-by: Roland Laurès <roland@laures-valdivia.net>
----
- skopt/learning/forest.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py
-index ebde568f5..07dc42664 100644
---- a/skopt/learning/forest.py
-+++ b/skopt/learning/forest.py
-@@ -194,8 +194,8 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
-     .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- 
-     """
--    def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
--                 min_samples_split=2, min_samples_leaf=1,
-+    def __init__(self, n_estimators=10, criterion='squared_error',
-+                 max_depth=None, min_samples_split=2, min_samples_leaf=1,
-                  min_weight_fraction_leaf=0.0, max_features='auto',
-                  max_leaf_nodes=None, min_impurity_decrease=0.,
-                  bootstrap=True, oob_score=False,
-
-From 52a7db95cb567186fb4e9003139fea4592bdbf05 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20T=C3=B8rnes?= <jonas.tornes@gmail.com>
-Date: Wed, 22 Feb 2023 17:03:25 +0100
-Subject: [PATCH 4/5] Fix line widht issues
-
----
- skopt/learning/forest.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py
-index 07dc42664..d4c24456b 100644
---- a/skopt/learning/forest.py
-+++ b/skopt/learning/forest.py
-@@ -390,8 +390,8 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
-     .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- 
-     """
--    def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
--                 min_samples_split=2, min_samples_leaf=1,
-+    def __init__(self, n_estimators=10, criterion='squared_error',
-+                 max_depth=None, min_samples_split=2, min_samples_leaf=1,
-                  min_weight_fraction_leaf=0.0, max_features='auto',
-                  max_leaf_nodes=None, min_impurity_decrease=0.,
-                  bootstrap=False, oob_score=False,
-
-From 6b185e489fb4a56625e8505292a20c80434f0633 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jonas=20T=C3=B8rnes?= <jonas.tornes@gmail.com>
-Date: Wed, 22 Feb 2023 18:37:11 +0100
-Subject: [PATCH 5/5] Fix lin width issues for comments.
-
----
- skopt/learning/forest.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py
-index d4c24456b..eb3bd6648 100644
---- a/skopt/learning/forest.py
-+++ b/skopt/learning/forest.py
-@@ -63,9 +63,9 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
- 
-     criterion : string, optional (default="squared_error")
-         The function to measure the quality of a split. Supported criteria
--        are "squared_error" for the mean squared error, which is equal to variance
--        reduction as feature selection criterion, and "mae" for the mean
--        absolute error.
-+        are "squared_error" for the mean squared error, which is equal to
-+        variance reduction as feature selection criterion, and "mae" for the
-+        mean absolute error.
- 
-     max_features : int, float, string or None, optional (default="auto")
-         The number of features to consider when looking for the best split:
-@@ -259,9 +259,9 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
- 
-     criterion : string, optional (default="squared_error")
-         The function to measure the quality of a split. Supported criteria
--        are "squared_error" for the mean squared error, which is equal to variance
--        reduction as feature selection criterion, and "mae" for the mean
--        absolute error.
-+        are "squared_error" for the mean squared error, which is equal to
-+        variance reduction as feature selection criterion, and "mae" for the
-+        mean absolute error.
- 
-     max_features : int, float, string or None, optional (default="auto")
-         The number of features to consider when looking for the best split:
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 93d3b25272..762e8c98e5 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -364,29 +364,16 @@ (define-public python-scikit-opt
 (define-public python-scikit-optimize
   (package
     (name "python-scikit-optimize")
-    (version "0.9.0")
+    (version "0.10.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/scikit-optimize/scikit-optimize")
+                    (url "https://github.com/holgern/scikit-optimize")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hsq6pmryimxc275yrcy4bv217bx7ma6rz0q6m4138bv4zgq18d1"))
-              (patches
-               ;; These are for compatibility with more recent versions of
-               ;; numpy and scikit-learn.
-               (search-patches "python-scikit-optimize-1148.patch"
-                               "python-scikit-optimize-1150.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Since scikit-learn 1.3 max_features no longer supports
-               ;; 'auto', which is identical to 'sqrt'
-               '(substitute* '("skopt/learning/forest.py"
-                               "skopt/learning/tests/test_forest.py")
-                  (("max_features=['\"]auto['\"]")
-                   "max_features='sqrt'")))))
+                "1c9b7g3v9ajaq78nzv6gy3xqlfjlcqqhsq87d7gfc4pdswvfv1ns"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-joblib

base-commit: a17976e975001d3e95c998f1196a39bbb432de4f
prerequisite-patch-id: 35b1bce8404aa9b122774f343fbde6b1accb6a33
prerequisite-patch-id: c0c840125378b58dddfeb89491c36a0ffcd34d90
prerequisite-patch-id: 6307ea85cee71834b4e3b8d362025c19d5144177
prerequisite-patch-id: e49db0ce706076aafa11c84cbe27a017531f7a98
prerequisite-patch-id: dc8571a1261a53ba90ae37dcebe79bc99630e661
prerequisite-patch-id: 1462b7d670025fea8e66ed6290a994e62035ef5d
prerequisite-patch-id: 3e713b03abf25cc015c33e810b179af1c0b42804
prerequisite-patch-id: 920528da46d1621c15c5a6f10464c7ae5cde4003
prerequisite-patch-id: 7a94347b316fc5e4f20f51fe2ddeb097c3cae79f
prerequisite-patch-id: 098696bf90a9e1b3e6237ae8c647b63d3bed8c6e
prerequisite-patch-id: 84cc8b92fa6e1e0491a5f7ca020d13c662d3d3be
prerequisite-patch-id: c56fb6c601a1014b6ba876b8d601449e535ea7b5
prerequisite-patch-id: 5971911f2fe36d93c11c11ec878495033dec14cf
prerequisite-patch-id: 6e1fecd20a532eca97a9ea044765186159f6551e
prerequisite-patch-id: 1ad8cb8f6e5ccfb35b32ea20a1c2f0b25de08b6b
prerequisite-patch-id: 9a72f1e2eda3506da18d209bd83c0a45adeadfe3
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [bug#70089] [PATCH] gnu: python-scikit-optimize: Update to 0.10.1.
  2024-03-30 12:30 [bug#70089] [PATCH] gnu: python-scikit-optimize: Update to 0.10.1 Vinicius Monego
@ 2024-06-02  9:48 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2024-06-02  9:48 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 70089

Hi Vinicius,

Vinicius Monego <monego@posteo.net> skribis:

> * gnu/packages/python-science.scm (python-scikit-optimize): Update to 0.10.1.
> [source]: Switch to maintained repository. Remove compatibility patches and
> snippet.
> * gnu/packages/patches/python-scikit-optimize-1148.patch,
> gnu/packages/patches/python-scikit-optimize-1148.patch: Remove files.
> * gnu/local.mk (dist_patch_DATA): Remove them.
>
> Change-Id: I6c23c93d3c256b0b97166f80eaeab7f2c7282c5f

qa.guix hasn’t caught up but if it builds and so does python-deepxde,
you should go a head and push it.

Quoth the manual (info "(guix) Commit Access"):

     If you’re committing and pushing your own changes, try and wait at
  least one week (two weeks for more significant changes) after you send
  them for review.  After this, if no one else is available to review them
  and if you’re confident about the changes, it’s OK to commit.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-06-02  9:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-30 12:30 [bug#70089] [PATCH] gnu: python-scikit-optimize: Update to 0.10.1 Vinicius Monego
2024-06-02  9:48 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.