Description
Integration tests are failing due to an ImportError in climada/util/calibrate/bayesian_optimizer.py. The bayesian-optimization package removed UtilityFunction from its top-level namespace in versions following 1.5.1.
Further down the road, Events class (also imported in integration tests) is removed after 2.0.4
Error Traceback
Traceback:
climada/test/test_util_calibrate.py:31: in <module>
from climada.util.calibrate import (
climada/util/calibrate/__init__.py:22: in <module>
from .bayesian_optimizer import (
climada/util/calibrate/bayesian_optimizer.py:36: in <module>
from bayes_opt import BayesianOptimization, Events, ScreenLogger, UtilityFunction
E ImportError: cannot import name 'UtilityFunction' from 'bayes_opt'
Root Cause
Versions of bayesian-optimization > 1.5.1 introduced breaking API changes:
Futur problem
Versions of bayesian-optimization > 2.0.4 introduced other breaking API changes:
Proposed Fix
- Immediate: Pin the dependency in the environment/requirements:
bayesian-optimization <= 1.5.1
- Long-term: Refactor
bayesian_optimizer.py to support the updated API.
Quick Fix for Devs
To resolve this locally and run tests:
mamba install "bayesian-optimization<=1.5.1"
Description
Integration tests are failing due to an
ImportErrorinclimada/util/calibrate/bayesian_optimizer.py. Thebayesian-optimizationpackage removedUtilityFunctionfrom its top-level namespace in versions following 1.5.1.Further down the road,
Eventsclass (also imported in integration tests) is removed after2.0.4Error Traceback
Root Cause
Versions of
bayesian-optimization > 1.5.1introduced breaking API changes:UtilityFunction: Removed/Refactored (Acquisition function API redesign bayesian-optimization/BayesianOptimization#447)Futur problem
Versions of
bayesian-optimization > 2.0.4introduced other breaking API changes:Events: Removed or refactored. (Replace event based logging bayesian-optimization/BayesianOptimization#557)Proposed Fix
bayesian_optimizer.pyto support the updated API.Quick Fix for Devs
To resolve this locally and run tests:
mamba install "bayesian-optimization<=1.5.1"