Skip to content

Commit 1f15037

Browse files
authored
Merge branch 'main' into update-tranquilo
2 parents c6565c6 + a4b7288 commit 1f15037

23 files changed

Lines changed: 1059 additions & 682 deletions

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ repos:
66
- id: check-useless-excludes
77
# - id: identity # Prints all files passed to pre-commits. Debugging.
88
- repo: https://github.com/lyz-code/yamlfix
9-
rev: 1.19.0
9+
rev: 1.19.1
1010
hooks:
1111
- id: yamlfix
1212
exclude: tests/optimagic/optimizers/_pounders/fixtures
@@ -72,7 +72,7 @@ repos:
7272
exclude: docs/
7373
- id: check-ast
7474
- repo: https://github.com/adrienverge/yamllint.git
75-
rev: v1.37.1
75+
rev: v1.38.0
7676
hooks:
7777
- id: yamllint
7878
exclude: tests/optimagic/optimizers/_pounders/fixtures
@@ -89,7 +89,7 @@ repos:
8989
- --blank
9090
exclude: src/optimagic/optimization/algo_options.py
9191
- repo: https://github.com/astral-sh/ruff-pre-commit
92-
rev: v0.14.8
92+
rev: v0.14.14
9393
hooks:
9494
# Run the linter.
9595
- id: ruff
@@ -130,7 +130,7 @@ repos:
130130
files: (docs/.)
131131
exclude: docs/source/how_to/how_to_specify_algorithm_and_algo_options.md
132132
- repo: https://github.com/kynan/nbstripout
133-
rev: 0.8.2
133+
rev: 0.9.0
134134
hooks:
135135
- id: nbstripout
136136
exclude: |
@@ -141,7 +141,7 @@ repos:
141141
args:
142142
- --drop-empty-cells
143143
- repo: https://github.com/pre-commit/mirrors-mypy
144-
rev: v1.19.0
144+
rev: v1.19.1
145145
hooks:
146146
- id: mypy
147147
files: src|tests

.tools/envs/testenv-linux.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ dependencies:
2626
- scipy>=1.2.1 # run, tests
2727
- sqlalchemy # run, tests
2828
- seaborn # dev, tests
29-
- mypy=1.19.0 # dev, tests
29+
- mypy=1.19.1 # dev, tests
3030
- pyyaml # dev, tests
3131
- jinja2 # dev, tests
3232
- annotated-types # dev, tests
@@ -41,7 +41,6 @@ dependencies:
4141
- Py-BOBYQA # dev, tests
4242
- fides==0.7.4 # dev, tests
4343
- kaleido>=1.0 # dev, tests
44-
- bayes_optim # dev, tests
4544
- gradient_free_optimizers # dev, tests
4645
- pyswarms # dev, tests
4746
- pandas-stubs # dev, tests

.tools/envs/testenv-nevergrad.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies:
2424
- scipy>=1.2.1 # run, tests
2525
- sqlalchemy # run, tests
2626
- seaborn # dev, tests
27-
- mypy=1.19.0 # dev, tests
27+
- mypy=1.19.1 # dev, tests
2828
- pyyaml # dev, tests
2929
- jinja2 # dev, tests
3030
- annotated-types # dev, tests
@@ -38,15 +38,14 @@ dependencies:
3838
- Py-BOBYQA # dev, tests
3939
- fides==0.7.4 # dev, tests
4040
- kaleido>=1.0 # dev, tests
41-
- bayes_optim # dev, tests
4241
- gradient_free_optimizers # dev, tests
4342
- pyswarms # dev, tests
4443
- pandas-stubs # dev, tests
4544
- types-cffi # dev, tests
4645
- types-openpyxl # dev, tests
4746
- types-jinja2 # dev, tests
4847
- sqlalchemy-stubs # dev, tests
48+
- sphinxcontrib-mermaid # dev, tests, docs
4949
- bayesian_optimization==1.4.0
5050
- nevergrad
51-
- sphinxcontrib-mermaid # dev, tests, docs
5251
- -e ../../

.tools/envs/testenv-numpy.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies:
2424
- scipy>=1.2.1 # run, tests
2525
- sqlalchemy # run, tests
2626
- seaborn # dev, tests
27-
- mypy=1.19.0 # dev, tests
27+
- mypy=1.19.1 # dev, tests
2828
- pyyaml # dev, tests
2929
- jinja2 # dev, tests
3030
- annotated-types # dev, tests
@@ -39,7 +39,6 @@ dependencies:
3939
- Py-BOBYQA # dev, tests
4040
- fides==0.7.4 # dev, tests
4141
- kaleido>=1.0 # dev, tests
42-
- bayes_optim # dev, tests
4342
- gradient_free_optimizers # dev, tests
4443
- pyswarms # dev, tests
4544
- types-cffi # dev, tests

.tools/envs/testenv-others.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies:
2424
- scipy>=1.2.1 # run, tests
2525
- sqlalchemy # run, tests
2626
- seaborn # dev, tests
27-
- mypy=1.19.0 # dev, tests
27+
- mypy=1.19.1 # dev, tests
2828
- pyyaml # dev, tests
2929
- jinja2 # dev, tests
3030
- annotated-types # dev, tests
@@ -39,7 +39,6 @@ dependencies:
3939
- Py-BOBYQA # dev, tests
4040
- fides==0.7.4 # dev, tests
4141
- kaleido>=1.0 # dev, tests
42-
- bayes_optim # dev, tests
4342
- gradient_free_optimizers # dev, tests
4443
- pyswarms # dev, tests
4544
- pandas-stubs # dev, tests

.tools/envs/testenv-pandas.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies:
2424
- scipy>=1.2.1 # run, tests
2525
- sqlalchemy # run, tests
2626
- seaborn # dev, tests
27-
- mypy=1.19.0 # dev, tests
27+
- mypy=1.19.1 # dev, tests
2828
- pyyaml # dev, tests
2929
- jinja2 # dev, tests
3030
- annotated-types # dev, tests
@@ -39,7 +39,6 @@ dependencies:
3939
- Py-BOBYQA # dev, tests
4040
- fides==0.7.4 # dev, tests
4141
- kaleido>=1.0 # dev, tests
42-
- bayes_optim # dev, tests
4342
- gradient_free_optimizers # dev, tests
4443
- pyswarms # dev, tests
4544
- types-cffi # dev, tests

.tools/envs/testenv-plotly.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies:
2424
- scipy>=1.2.1 # run, tests
2525
- sqlalchemy # run, tests
2626
- seaborn # dev, tests
27-
- mypy=1.19.0 # dev, tests
27+
- mypy=1.19.1 # dev, tests
2828
- pyyaml # dev, tests
2929
- jinja2 # dev, tests
3030
- annotated-types # dev, tests
@@ -38,14 +38,13 @@ dependencies:
3838
- DFO-LS>=1.5.3 # dev, tests
3939
- Py-BOBYQA # dev, tests
4040
- fides==0.7.4 # dev, tests
41-
- bayes_optim # dev, tests
4241
- gradient_free_optimizers # dev, tests
4342
- pyswarms # dev, tests
4443
- pandas-stubs # dev, tests
4544
- types-cffi # dev, tests
4645
- types-openpyxl # dev, tests
4746
- types-jinja2 # dev, tests
4847
- sqlalchemy-stubs # dev, tests
49-
- kaleido<0.3
5048
- sphinxcontrib-mermaid # dev, tests, docs
49+
- kaleido<0.3
5150
- -e ../../

CHANGES.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,56 @@ chronological order. We follow [semantic versioning](https://semver.org/) and al
55
releases are available on [Anaconda.org](https://anaconda.org/optimagic-dev/optimagic).
66

77

8+
## 0.5.3
9+
10+
This release introduces **multi-backend plotting** with support for matplotlib, bokeh,
11+
and altair backends (in addition to the existing plotly backend), **3D visualizations**
12+
of optimization problems, and several **new optimizer libraries** including PySwarms,
13+
PyGAD, and gradient-free-optimizers. It also adds **lazy loading** for optional
14+
dependencies to improve import times. Many contributions in this release were made by
15+
Google Summer of Code (GSoC) 2025 contributors.
16+
17+
- {gh}`665` Skips nag_dfols tests when DFO-LS is not installed ({ghuser}`Swayam-maurya`).
18+
- {gh}`664` Adds `from __future__ import annotations` to constraints.py to fix
19+
annotations issue with Python 3.13 and NumPy 2.4 ({ghuser}`timmens`).
20+
- {gh}`660` Renames the `bayes_opt` parameter `n_iter` to `stopping_maxiter`
21+
({ghuser}`spline2hg`).
22+
- {gh}`659` Removes `None` as a valid option for `stopping_criterion` in
23+
`convergence_plot` and updates the docstring ({ghuser}`szd5654125`).
24+
- {gh}`658` Enhances documentation and minor fixes in backend plotting
25+
({ghuser}`r3kste`).
26+
- {gh}`654` Implements the altair plotting backend ({ghuser}`r3kste`).
27+
- {gh}`653` Adds `llms.txt` and `llms-full.txt` to documentation
28+
({ghuser}`mostafafaheem`).
29+
- {gh}`652` Implements the bokeh plotting backend ({ghuser}`r3kste`).
30+
- {gh}`649` Implements backend plotting for `slice_plot` ({ghuser}`r3kste`).
31+
- {gh}`647` Implements backend plotting for `convergence_plot` ({ghuser}`r3kste`).
32+
- {gh}`645` Implements backend plotting for `profile_plot` ({ghuser}`r3kste`).
33+
- {gh}`644` Adds a how-to guide for changing plotting backends ({ghuser}`r3kste`).
34+
- {gh}`643` Skips doctest that fails due to negative signed zero handling
35+
({ghuser}`r3kste`).
36+
- {gh}`641` Implements backend plotting for `params_plot` ({ghuser}`r3kste`).
37+
- {gh}`639` Adds optimizers from PySwarms ({ghuser}`spline2hg`).
38+
- {gh}`637` Adds note about `__future__` import ({ghuser}`spline2hg`).
39+
- {gh}`636` Wraps population-based optimizers from gradient-free-optimizers
40+
({ghuser}`gauravmanmode`).
41+
- {gh}`633` Migrates bayesian-optimizer docs to new documentation style
42+
({ghuser}`spline2hg`).
43+
- {gh}`632` Migrates nevergrad optimizers to new documentation style
44+
({ghuser}`gauravmanmode`).
45+
- {gh}`631` Migrates iminuit docs to new documentation style ({ghuser}`spline2hg`).
46+
- {gh}`624` Wraps local optimizers from gradient-free-optimizers
47+
({ghuser}`gauravmanmode`).
48+
- {gh}`621` Implements lazy loading for optional dependencies ({ghuser}`spline2hg`).
49+
- {gh}`619` Adopts the NumFOCUS code of conduct ({ghuser}`timmens`).
50+
- {gh}`616` Adds optimizers from PyGAD ({ghuser}`spline2hg`).
51+
- {gh}`600` Separates data preparation and plotting for `criterion_plot()`
52+
({ghuser}`r3kste`).
53+
- {gh}`599` Implements the matplotlib backend for `criterion_plot()` ({ghuser}`r3kste`).
54+
- {gh}`581` Adds 3D visualizations of optimization problems ({ghuser}`shammeer-s`).
55+
- {gh}`554` Improves documentation of algorithm options ({ghuser}`janosg`).
56+
57+
858
## 0.5.2
959

1060
This minor release adds support for two additional optimizer libraries:

0 commit comments

Comments
 (0)