Published November 3, 2026 | Version v26.10

PyBOP: A Python package for battery model optimisation and parameterisation

Description

Full Changelog: https://github.com/pybop-team/PyBOP/blob/develop/CHANGELOG.md

v26.10 - 2026-11-03

Features

  • #996 - Updates the DFN parameterisation pipeline, adds draft mode for testing.
  • #998 - Add remove_voltage_events option, default_variables property and the option to pass both t_eval and t_interp to the PyBaMM simulators.
  • #995 - Updates the cell models, including adding the thermodynamic factor to the GroupedSPMe.
  • #976 - Updates experimental procedures and synthetic validation data.
  • #991 - Adds support for Python 3.15 (EP-BOLFI optimiser and PyProBE still restricted to Python 3.12 or below).
  • #973 - Adds example scripts for EIS parameterisation.
  • #974 - Adds voltage components to each grouped model as well as asymmetric and multiphase Butler-Volmer kinetics.
  • #969 - Updates synthetic data and adds example script for thermal parameterisation.
  • #965 - Adds synthetic data and example scripts for OCV parameterisation.
  • #963 - Adds an example for generating synthetic data from a specification and exporting it to a PyProBE-compatible parquet file.
  • #928 - Adds the option to choose matplotlib as the plotting library for plotting functions. Additionally, figures and axes can be created manually and passed as keyword arguments to plotting functions. An example notebook plotting.ipynb was added to the getting_started directory to demonstrate usage of the new features.
  • #962 - Separate the surface from the bulk temperature in the CellTemperature model.
  • #918 - Adds a plot for predictions sampled from a posterior distribution (pybop.plot.predictive).
  • #940 - Adds support for Python 3.14 (EP-BOLFI optimiser and PyProBE still restricted to Python 3.12 or below).

Optimisations

  • #967 - Add Dataset.get_discontinuities and update the pybop.pybamm.RecommendedSolver options.
  • #946 - Use vectorized evaluation for SciPy differential evolution by default instead of multiprocessing workers.
  • #925 - Add UnboundedDistribution and the get_transformed_distribution functionality.

Bug Fixes

  • #997 - Fixes the order of inputs for the EISSimulator and ensures that each cost within a WeightedCost keeps its own target.
  • #915 - Fixes axis labels for non-standard domain names, adds Dataset length property and adds kind property to Interpolant.
  • #911 - Fixes the passing of the cost log to the Voronoi surface plot.
  • #905 - Remove restriction on numpy.

Breaking Changes

  • #928 - Deprecates StandardPlot and StandardSubplot in favour of new standardised backend functionality.
  • #960 - Remove asv benchmarking.
  • #938 - Make SALib an optional dependency and remove sensitivity_analysis in favour of using SALib directly.
  • #942 - Adds evaluate_batch to the costs and ensures that an Evaluation is returned.

Notes

If you use this software, please cite our article in the Journal of Open Source Software.

Files

pybop-team/PyBOP-v26.10.zip

Files (16.4 MB)

Name Size
md5:a260da9bc819c66fdfaacd497c92bd8e
16.4 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pybop-team/PyBOP/tree/v26.10 (URL)

Software