@@ -6,16 +6,16 @@ name = "optimagic"
66description = " Tools to solve difficult numerical optimization problems."
77requires-python = " >=3.12"
88dependencies = [
9- " cloudpickle" ,
10- " joblib" ,
11- " numpy" ,
12- " pandas" ,
13- " plotly" ,
9+ " cloudpickle>=2.2 " ,
10+ " joblib>=1.1 " ,
11+ " numpy>=1.26 " ,
12+ " pandas>=2.1 " ,
13+ " plotly>=5.14 " ,
1414 " pybaum>=0.1.2" ,
15- " scipy>=1.2.1 " ,
16- " sqlalchemy>=1.3 " ,
17- " annotated-types" ,
18- " typing-extensions" ,
15+ " scipy>=1.11 " ,
16+ " sqlalchemy>=2.0 " ,
17+ " annotated-types>=0.4 " ,
18+ " typing-extensions>=4.5 " ,
1919]
2020dynamic = [" version" ]
2121keywords = [
@@ -404,35 +404,35 @@ platforms = ["linux-64", "osx-arm64", "win-64"]
404404[tool .pixi .dependencies ]
405405python = " >=3.12,<3.15"
406406# Prefer conda-forge builds for compiled scientific packages
407- numpy = " * "
408- scipy = " >=1.2.1 "
409- pandas = " <3"
410- jupyterlab = " * "
407+ numpy = " >=1.26 "
408+ scipy = " >=1.11 "
409+ pandas = " >=2.1, <3"
410+ jupyterlab = " >=4.0 "
411411cyipopt = " >=1.4.0"
412412pygmo = " >=2.19.0"
413- nlopt = " * "
414- statsmodels = " * "
415- matplotlib = " * "
416- bokeh = " * "
417- altair = " * "
418- seaborn = " * "
419- pyyaml = " * "
420- jinja2 = " * "
413+ nlopt = " >=2.7 "
414+ statsmodels = " >=0.14 "
415+ matplotlib = " >=3.8 "
416+ bokeh = " >=3.2 "
417+ altair = " >=5.1 "
418+ seaborn = " >=0.13 "
419+ pyyaml = " >=6.0.1 "
420+ jinja2 = " >=3.1 "
421421tranquilo = " >=0.1.1"
422- iminuit = " * "
423- cma = " * "
424- pygad = " * "
425- pytorch-cpu = " * "
422+ iminuit = " >=2.25 "
423+ cma = " >=3.3 "
424+ pygad = " >=3.2 "
425+ pytorch-cpu = " >=2.2 "
426426
427427[tool .pixi .pypi-dependencies ]
428428optimagic = { path = " ." , editable = true }
429- bayesian-optimization = " * "
429+ bayesian-optimization = " >=1.4 "
430430dfo-ls = " >=1.5.3"
431- py-bobyqa = " * "
431+ py-bobyqa = " >=1.3 "
432432fides = " ==0.7.4"
433- kaleido = " * "
433+ kaleido = " >=0.2.1 "
434434gradient-free-optimizers = " >=1.6.0"
435- pyswarms = " * "
435+ pyswarms = " >=1.3 "
436436
437437# --- Python version features --------------------------------------------------------
438438[tool .pixi .feature .py312 .dependencies ]
@@ -444,9 +444,9 @@ python = "~=3.14.0"
444444
445445# --- Feature: test (test infrastructure) ---------------------------------------------
446446[tool .pixi .feature .test .dependencies ]
447- pytest = " * "
448- pytest-cov = " * "
449- pytest-xdist = " * "
447+ pytest = " >=7.2 "
448+ pytest-cov = " >=4.0 "
449+ pytest-xdist = " >=3.2 "
450450
451451[tool .pixi .feature .test .tasks ]
452452tests = " pytest"
@@ -471,8 +471,8 @@ mypy = "mypy"
471471[tool .pixi .feature .linux ]
472472platforms = [" linux-64" ]
473473[tool .pixi .feature .linux .dependencies ]
474- jax = " >=0.4.1 "
475- petsc4py = " * "
474+ jax = " >=0.4.8 "
475+ petsc4py = " >=3.18 "
476476
477477# --- Feature: docs -------------------------------------------------------------------
478478[tool .pixi .feature .docs .dependencies ]
@@ -497,10 +497,6 @@ intersphinx-registry = "*"
497497build-docs = { cmd = " make html" , cwd = " docs" }
498498
499499# --- Compat features (version overrides for backward-compat CI) ---------------------
500- [tool .pixi .feature .old-numpy .dependencies ]
501- numpy = " <2"
502- pandas = " >=2"
503-
504500[tool .pixi .feature .old-plotly .dependencies ]
505501plotly = " <6"
506502
@@ -524,7 +520,6 @@ test-py312 = { features = ["test", "py312"], solve-group = "py312" }
524520test-py313 = { features = [" test" , " py313" ], solve-group = " py313" }
525521test-py314 = { features = [" test" , " py314" ], solve-group = " py314" }
526522# Backward-compat CI (Python 3.12, lowest supported)
527- test-old-numpy = { features = [" test" , " old-numpy" , " py312" ] }
528523test-old-plotly = { features = [" test" , " old-plotly" , " py312" ] }
529524# Nevergrad CI (bayesian-optimization==1.4.0)
530525test-nevergrad-py312 = { features = [" test" , " nevergrad" , " py312" ] }
0 commit comments