Summary
This release introduces multi-backend plotting with support for matplotlib, bokeh, and altair backends (in addition to the existing plotly backend), and several new optimizer libraries including PySwarms, PyGAD, and gradient-free-optimizers. It also adds lazy loading for optional dependencies to improve import times.
Many contributions in this release were made by Google Summer of Code (GSoC) 2025 contributors.
Pull Requests
- #665 Skips nag_dfols tests when DFO-LS is not installed (@Swayam-maurya).
- #664 Adds
from __future__ import annotationsto constraints.py to fix annotations issue with Python 3.13 and NumPy 2.4 (@timmens). - #660 Renames the
bayes_optparametern_itertostopping_maxiter(@spline2hg). - #659 Removes
Noneas a valid option forstopping_criterioninconvergence_plotand updates the docstring (@szd5654125). - #658 Enhances documentation and minor fixes in backend plotting (@r3kste).
- #654 Implements the altair plotting backend (@r3kste).
- #653 Adds
llms.txtandllms-full.txtto documentation (@mostafafaheem). - #652 Implements the bokeh plotting backend (@r3kste).
- #649 Implements backend plotting for
slice_plot(@r3kste). - #647 Implements backend plotting for
convergence_plot(@r3kste). - #645 Implements backend plotting for
profile_plot(@r3kste). - #644 Adds a how-to guide for changing plotting backends (@r3kste).
- #643 Skips doctest that fails due to negative signed zero handling (@r3kste).
- #641 Implements backend plotting for
params_plot(@r3kste). - #639 Adds optimizers from PySwarms (@spline2hg).
- #637 Adds note about
__future__import (@spline2hg). - #636 Wraps population-based optimizers from gradient-free-optimizers (@gauravmanmode).
- #633 Migrates bayesian-optimizer docs to new documentation style (@spline2hg).
- #632 Migrates nevergrad optimizers to new documentation style (@gauravmanmode).
- #631 Migrates iminuit docs to new documentation style (@spline2hg).
- #624 Wraps local optimizers from gradient-free-optimizers (@gauravmanmode).
- #621 Implements lazy loading for optional dependencies (@spline2hg).
- #619 Adopts the NumFOCUS code of conduct (@timmens).
- #616 Adds optimizers from PyGAD (@spline2hg).
- #600 Separates data preparation and plotting for
criterion_plot()(@r3kste). - #599 Implements the matplotlib backend for
criterion_plot()(@r3kste). - #581 Adds 3D visualizations of optimization problems (@shammeer-s).
- #554 Improves documentation of algorithm options (@janosg).