Compatibility break with bayesian-optimization > 1.5.1
@peanutfun ya está trabajando en esto.
Desde el 16/5/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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:
UtilityFunction: Removed/Refactored (https://github.com/bayesian-optimization/BayesianOptimization/pull/447)
Futur problem
Versions of bayesian-optimization > 2.0.4 introduced other breaking API changes:
Events: Removed or refactored. (https://github.com/bayesian-optimization/BayesianOptimization/pull/557)
Proposed Fix
- Immediate: Pin the dependency in the environment/requirements:
bayesian-optimization <= 1.5.1
- Long-term: Refactor
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"
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 478
- Forks
- 166
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CLIMADA-project/climada_python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
CLIMADA-project/climada_python#1337 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
CLIMADA-project/climada_python#1336 ·
-
CartoDB basemaps now need an API key (somewhat urgent)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
CLIMADA-project/climada_python#1332 · 4 comentarios · 1 reacción ·
-
more than 20 open figuresAbiertowarnings
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
CLIMADA-project/climada_python#1241 ·
-
ResourceWarningAbiertowarnings
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
CLIMADA-project/climada_python#1239 ·