From be7bd02426cee19df0296e7a5f250d37c473daa7 Mon Sep 17 00:00:00 2001 From: jlnav Date: Mon, 3 Jul 2023 10:51:13 -0500 Subject: [PATCH 1/5] hotfix changes for pydantic versions and .pre-commit-config.yaml --- .pre-commit-config.yaml | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f1956a5873..cc7f848579 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ repos: exclude: ^(.*\.xml|.*\.svg)$ - repo: https://github.com/pycqa/isort - rev: 5.11.4 + rev: 5.12.0 hooks: - id: isort args: [--profile=black, --line-length=120] diff --git a/setup.py b/setup.py index ae5f670589..3f0fdcefbc 100644 --- a/setup.py +++ b/setup.py @@ -70,7 +70,7 @@ def run_tests(self): "libensemble.tests.regression_tests", ], package_data={"libensemble.sim_funcs.branin": ["known_minima_and_func_values"]}, - install_requires=["numpy", "psutil", "setuptools", "pydantic", "tomli", "pyyaml"], + install_requires=["numpy", "psutil", "setuptools", "pydantic<2", "tomli", "pyyaml"], # If run tests through setup.py - downloads these but does not install tests_require=[ "pytest>=3.1", From 3fe2dcfd799078cf2f1f116ebdcaa5d7b80bd8fd Mon Sep 17 00:00:00 2001 From: jlnav Date: Mon, 3 Jul 2023 11:39:07 -0500 Subject: [PATCH 2/5] fix surmise source --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f656739737..e219cccc1e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -131,7 +131,7 @@ jobs: conda env update --file install/gen_deps_environment.yml pip install ax-platform==0.2.8 - pip install --upgrade git+https://github.com/mosesyhc/surmise.git@development/PCGPwM + pip install --upgrade git+https://github.com/surmising/surmise.git@develop - name: Build ytopt and dependencies if: matrix.python-version != '3.11' && matrix.os != 'windows-latest' && matrix.os != 'macos-latest' From e4703c145c588e6a20df2be66c9c455fafc7a0ed Mon Sep 17 00:00:00 2001 From: jlnav Date: Mon, 3 Jul 2023 15:27:32 -0500 Subject: [PATCH 3/5] obtaining DeprecationWarning and ndim warning fixes --- libensemble/gen_funcs/persistent_fd_param_finder.py | 2 +- libensemble/sim_funcs/borehole.py | 2 +- libensemble/sim_funcs/rosenbrock.py | 2 +- .../tests/regression_tests/test_evaluate_mixed_sample.py | 4 ++++ libensemble/tests/regression_tests/test_ytopt_heffte.py | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libensemble/gen_funcs/persistent_fd_param_finder.py b/libensemble/gen_funcs/persistent_fd_param_finder.py index 24122610ab..87881422e6 100644 --- a/libensemble/gen_funcs/persistent_fd_param_finder.py +++ b/libensemble/gen_funcs/persistent_fd_param_finder.py @@ -88,7 +88,7 @@ def fd_param_finder(H, persis_info, gen_specs, libE_info): for k in range(nf + 1): if k != nf / 2: logical_conds = (calc_in["x_ind"] == i, calc_in["f_ind"] == j, calc_in["n_ind"] == k) - Fhist0[i, j, k] = calc_in["f_val"][np.logical_and.reduce(logical_conds)] + Fhist0[i, j, k] = calc_in["f_val"][np.logical_and.reduce(logical_conds)][0] # Compute noise for (i, j): # [Fnoise(i, j), ~, inform(i, j)] = ECnoise(nf-1, Fhist0(i, j, 2:nf)); diff --git a/libensemble/sim_funcs/borehole.py b/libensemble/sim_funcs/borehole.py index 64199262a4..79ad2e9baf 100644 --- a/libensemble/sim_funcs/borehole.py +++ b/libensemble/sim_funcs/borehole.py @@ -65,7 +65,7 @@ def borehole_func(x): denom1 = 2 * L * Tu / (np.log(r / rw) * rw**2 * Kw) denom2 = Tu / Tl - return (numer / (np.log(r / rw) * (1 + denom1 + denom2))).reshape(-1) + return ((numer / (np.log(r / rw) * (1 + denom1 + denom2))).reshape(-1))[0] def gen_borehole_input(n): diff --git a/libensemble/sim_funcs/rosenbrock.py b/libensemble/sim_funcs/rosenbrock.py index adaab3b49e..c56f1662ea 100644 --- a/libensemble/sim_funcs/rosenbrock.py +++ b/libensemble/sim_funcs/rosenbrock.py @@ -31,7 +31,7 @@ def EvaluateFunction(x, component): x2 = x[2 * i + 1] f = 100 * (x1**2 - x2) ** 2 + (x1 - 1) ** 2 - return f + return f[0] def EvaluateJacobian(x, component, const): diff --git a/libensemble/tests/regression_tests/test_evaluate_mixed_sample.py b/libensemble/tests/regression_tests/test_evaluate_mixed_sample.py index ad848d351c..782ed90fa7 100644 --- a/libensemble/tests/regression_tests/test_evaluate_mixed_sample.py +++ b/libensemble/tests/regression_tests/test_evaluate_mixed_sample.py @@ -14,6 +14,8 @@ # TESTSUITE_COMMS: mpi local tcp # TESTSUITE_NPROCS: 2 4 +import warnings + import numpy as np from libensemble.alloc_funcs.give_pregenerated_work import give_pregenerated_sim_work as alloc_f @@ -24,6 +26,8 @@ from libensemble.sim_funcs.borehole import borehole_func, gen_borehole_input from libensemble.tools import parse_args, save_libE_output +warnings.filterwarnings("ignore", category=DeprecationWarning) + # Main block is necessary only when using local comms with spawn start method (default on macOS and Windows). if __name__ == "__main__": nworkers, is_manager, libE_specs, _ = parse_args() diff --git a/libensemble/tests/regression_tests/test_ytopt_heffte.py b/libensemble/tests/regression_tests/test_ytopt_heffte.py index a5e9c30a5b..f9f1d1f913 100644 --- a/libensemble/tests/regression_tests/test_ytopt_heffte.py +++ b/libensemble/tests/regression_tests/test_ytopt_heffte.py @@ -21,6 +21,7 @@ warnings.filterwarnings("ignore", category=ImportWarning) warnings.filterwarnings("ignore", category=FutureWarning) warnings.filterwarnings("ignore", category=RuntimeWarning) +warnings.filterwarnings("ignore", category=DeprecationWarning) import os import secrets From d5c38a0fa6f8cdd342d98b732b85eae01ca2819c Mon Sep 17 00:00:00 2001 From: jlnav Date: Mon, 3 Jul 2023 15:39:25 -0500 Subject: [PATCH 4/5] stamping out this dep warning too --- libensemble/resources/scheduler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libensemble/resources/scheduler.py b/libensemble/resources/scheduler.py index 2c05c133df..ee3d1f70d8 100644 --- a/libensemble/resources/scheduler.py +++ b/libensemble/resources/scheduler.py @@ -373,7 +373,7 @@ def assign_team_from_slots(self, slots_avail_by_group, cand_groups, cand_slots, break group = self.resources.rsets["group"] == grp slot = self.resources.rsets["slot"] == slot - rset = int(np.where(group & slot)[0]) + rset = np.nonzero(group & slot)[0][0] rset_team.append(rset) return sorted(rset_team) From 1289d76f818046db3e88e7dba01d78132f059f11 Mon Sep 17 00:00:00 2001 From: shudson Date: Mon, 10 Jul 2023 17:02:04 -0500 Subject: [PATCH 5/5] Update CHANGELOG and version --- .wci.yml | 4 ++-- CHANGELOG.rst | 20 +++++++++++++++++++ .../release_management/release_process.rst | 2 +- libensemble/version.py | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.wci.yml b/.wci.yml index d6a6a4600d..01f41415ed 100644 --- a/.wci.yml +++ b/.wci.yml @@ -17,8 +17,8 @@ description: | language: Python release: - version: 0.10.0 - date: 2023-05-26 + version: 0.10.1 + date: 2023-07-10 documentation: general: https://libensemble.readthedocs.io diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1fa04927dc..97c04fe740 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,26 @@ GitHub issues are referenced, and can be viewed with hyperlinks on the `github r .. _`github releases page`: https://github.com/Libensemble/libensemble/releases +Release 0.10.1 +-------------- + +:Date: July 10, 2023 + +Hotfix for breaking changes in Pydantic. + +* Pin Pydantic to version < 2. +* Minor fixes for NumPy 1.25 deprecations. + +:Note: + +* Tested platforms include Linux, MacOS, Windows and major systems including Frontier (OLCF) and Perlmutter (NERSC). The major system tests ran heterogeneous workflows. +* Tested Python versions: (Cpython) 3.7, 3.8, 3.9, 3.10, 3.11. + +:Known issues: + +* See known issues section in the documentation. + + Release 0.10.0 -------------- diff --git a/docs/dev_guide/release_management/release_process.rst b/docs/dev_guide/release_management/release_process.rst index 9274440650..3d7fcffc25 100644 --- a/docs/dev_guide/release_management/release_process.rst +++ b/docs/dev_guide/release_management/release_process.rst @@ -17,7 +17,7 @@ Before release date, including a list of supported (tested) platforms. - Version number is updated wherever it appears (and ``+dev`` suffix is removed) - (in ``libensemble/version.py``and ``README.rst``). + (in ``libensemble/version.py``). - Year in ``README.rst`` under *Citing libEnsemble* is checked for correctness. (Note: The year generated in docs by ``docs/conf.py`` should be automatic). diff --git a/libensemble/version.py b/libensemble/version.py index 61fb31cae0..1f4c4d43b2 100644 --- a/libensemble/version.py +++ b/libensemble/version.py @@ -1 +1 @@ -__version__ = "0.10.0" +__version__ = "0.10.1"