Releases: pybop-team/PyBOP
Releases · pybop-team/PyBOP
v24.9.1
What's Changed
Patch release for yanked v24.9.0.
- Shift scheduled test workflow by @BradyPlanden in #496
- Updates to README.md by @BradyPlanden in #501
- Transformation fixes by @BradyPlanden in #495
- Notebook example files added for ECM and folder structure updated. by @Dibyendu-IITKGP in #460
- docs: add Dibyendu-IITKGP as a contributor for example by @allcontributors in #507
- Fixes for LogPosterior w/ GaussianLogLikelihood by @BradyPlanden in #505
New Contributors
- @Dibyendu-IITKGP made their first contribution in #460
Full Changelog: https://github.com/pybop-team/PyBOP/blob/develop/CHANGELOG.md
v24.9.0
What's Changed
- Add Lychee link checking by @BradyPlanden in #403
- Additions to ruff rules by @BradyPlanden in #386
- Adds Minkowski and SumofPower Cost by @BradyPlanden in #383
- Add a WeightedCost by @NicolaCourtier in #329
- Adds Transformation class by @BradyPlanden in #357
- Additions for #327 - Enable
DesignCosts
inWeightedCost
by @BradyPlanden in #413 - Add get_parameter_info to BaseModel by @NicolaCourtier in #423
- Update default init_soc for DesignProblem by @NicolaCourtier in #422
- Add model.clear and remove setters by @NicolaCourtier in #448
- Fix parameter set logic and allow FittingProblem to take init_ocv rather than init_soc by @NicolaCourtier in #425
- Merge model build and rebuild by @NicolaCourtier in #451
- Add MultiFittingProblem class and example by @NicolaCourtier in #364
- Adds support for IDAKLU w/ output variables by @BradyPlanden in #450
- Fixes benchmarks by @BradyPlanden in #457
- Refactors
BaseCost.evaluate/S1
intoBaseCost.compute
by @BradyPlanden in #455 - Adds EIS prediction methods by @BradyPlanden in #405
- Add functional parameter example by @NicolaCourtier in #442
- Rename quick_plot.py to standard_plots.py by @NicolaCourtier in #469
- Add electrode balancing example by @brosaplanella in #472
- Allow nonlinear constraints #353 by @MarkBlyth in #371
- Updates type hints in
ecm_tau_constraints.py
by @BradyPlanden in #480 - Adds Monte Carlo Samplers by @BradyPlanden in #340
- Adds cost/likelihood class notebook by @BradyPlanden in #470
- Fixes for PyBaMM v24.9 dependency by @BradyPlanden in #485
- Converts notebook plots to pure Plotly by @BradyPlanden in #411
- Refactor update_capacity by @NicolaCourtier in #465
- Create creating_a_model.ipynb by @f-g-r-i-m-m in #471
- Replace
pybop.MAP
withpybop.LogPosterior
by @BradyPlanden in #483 - Multi-dimensional learning rate (sigma0) for AdamW by @BradyPlanden in #462
- Fix transformations by @NicolaCourtier in #474
New Contributors
- @f-g-r-i-m-m made their first contribution in #471
Full Changelog: https://github.com/pybop-team/PyBOP/blob/develop/CHANGELOG.md
v24.6.1
What's Changed
- Release v24.6.1 by @BradyPlanden in #415
- Increments supported PyBaMM version to
>= v24.5
Full Changelog: https://github.com/pybop-team/PyBOP/blob/main/CHANGELOG.md#v2461---2024-07-31
v24.6
Full Changelog: https://github.com/pybop-team/PyBOP/blob/main/CHANGELOG.md#v246---2024-07-08
What's Changed
- PR v24.3 into develop by @BradyPlanden in #263
- chore: update pre-commit hooks by @pre-commit-ci in #262
- Add check to CMAES and make XNES default optimiser by @NicolaCourtier in #253
- Add Nelder-Mead optimiser from PINTS by @NicolaCourtier in #254
- Adds pyproject classifers, urls by @BradyPlanden in #267
- Add BPX support by @NicolaCourtier in #246
- Switch to
softprops/action-gh-release
to upload artifacts for GitHub Releases by @agriyakhetarpal in #268 - Add experimental circuit model fitting notebook by @BradyPlanden in #241
- Adds DFN, MPM, MSMR models by @BradyPlanden in #250
- Update PR template & notebooks by @BradyPlanden in #270
- Add notebooks to examples nox session by @BradyPlanden in #273
- chore: update pre-commit hooks by @pre-commit-ci in #281
- Add Maximum a Posteriori (MAP) by @BradyPlanden in #275
- Increment
Python > 3.8
by @BradyPlanden in #285 - Refactor problems by @brosaplanella in #280
- chore: update pre-commit hooks by @pre-commit-ci in #294
- Increment
PyBaMM > 23.5
by @BradyPlanden in #252 - Add workflow to test PyBaMM develop branch nightly by @BradyPlanden in #291
- Fix for nightly dependancy workflow by @BradyPlanden in #296
- Change nox backend to
uv
by @BradyPlanden in #287 - Updates README, adds additional notebooks, bugfixes to
model.simulateS1
by @BradyPlanden in #293 - Fix parallel optimisation and increase coverage by @BradyPlanden in #299
- chore: update pre-commit hooks by @pre-commit-ci in #305
- Adds
"fast with events"
as default echem solver by @BradyPlanden in #301 - docs: add brosaplanella as a contributor for code by @allcontributors in #292
- chore: update pre-commit hooks by @pre-commit-ci in #310
- chore: update pre-commit hooks by @pre-commit-ci in #314
- Re-enable testing on both macOS amd64 and macOS arm64 by @agriyakhetarpal in #308
- Install seed packages (
setuptools
andwheel
) by @agriyakhetarpal in #317 - Decrease test suite completion time by @BradyPlanden in #304
- Synchronise scheduled CI completion by @BradyPlanden in #324
- chore: update pre-commit hooks by @pre-commit-ci in #325
- docs: add agriyakhetarpal as a contributor for review by @allcontributors in #318
- Implement GITT example by @brosaplanella in #249
- docs: add muhammedsogut as a contributor for code by @allcontributors in #328
- Fix default option setting in quick_plot by @NicolaCourtier in #331
- Fixes #320 by @BradyPlanden in #321
- Restructure optimisers to enable passing of kwargs by @NicolaCourtier in #255
- Restore IntelLiGent to README by @BradyPlanden in #332
- Initialise PyBaMM models without building and add kwargs by @NicolaCourtier in #256
- chore: update pre-commit hooks by @pre-commit-ci in #336
- Restores Benchmarks by @BradyPlanden in #337
- chore: update pre-commit hooks by @pre-commit-ci in #342
- Add parameters class by @NicolaCourtier in #322
- Renames
model.rebuild
variables, updates import structure, adds type-hints to BaseModel by @BradyPlanden in #315 - Fix failing scheduled test on MSMR by @NicolaCourtier in #348
- Align optimisation result by @NicolaCourtier in #334
- Adds AdamW optimiser by @BradyPlanden in #316
- Fix RMSE gradient by @NicolaCourtier in #355
- chore: update pre-commit hooks by @pre-commit-ci in #356
- Update optim.log to store cost by @NicolaCourtier in #335
- Merge v23.4.1 by @BradyPlanden in #373
- Add new logo by @NicolaCourtier in #374
- chore: update pre-commit hooks by @pre-commit-ci in #370
- Updates for numpy 2 compatibility by @NicolaCourtier in #372
- chore: update pre-commit hooks by @pre-commit-ci in #377
- Suggesting changes to #338 by @NicolaCourtier in #352
- Add model.simulateS1 to benchmarks by @BradyPlanden in #379
- chore: update pre-commit hooks by @pre-commit-ci in #384
- Restore boundaries to pybop.PSO by @BradyPlanden in #381
- Add keys to ParameterSet and update ECM OCV check by @NicolaCourtier in #388
- Update calculation of cyclable lithium capacity by @NicolaCourtier in #349
- Pass Inputs dictionary by @NicolaCourtier in #359
- Updates to likelihoods, bug fix
GaussianLogLikelihood
class by @BradyPlanden in #338 - Adds cuckoo optimiser by @BradyPlanden in #319
- General additions ahead of v24.6 by @BradyPlanden in #393
- Fix API documentation rendering, version switcher by @BradyPlanden in #398
- v24.6 by @BradyPlanden in #395
New Contributors
- @brosaplanella made their first contribution in #280
v24.3.1
v24.3
What's Changed
- chore: update pre-commit hooks by @pre-commit-ci in #154
- Docs site version switcher update. by @BradyPlanden in #159
- chore: update pre-commit hooks by @pre-commit-ci in #161
- Add design optimisation example by @NicolaCourtier in #149
- chore: update pre-commit hooks by @pre-commit-ci in #163
- chore: update pre-commit hooks by @pre-commit-ci in #168
- Revert
np.inf
return for non-physical optimisation locations by @BradyPlanden in #166 - chore: update pre-commit hooks by @pre-commit-ci in #171
- Add StandaloneProblem by @NicolaCourtier in #153
- Adding notebook examples by @BradyPlanden in #135
- Removes NLOpt Methods by @BradyPlanden in #172
- chore: update pre-commit hooks by @pre-commit-ci in #181
- I12b unscented kalman edits by @NicolaCourtier in #180
- initial sketch of observers with UKF as method by @martinjrobins in #152
- docs: add martinjrobins as a contributor for code, and test by @allcontributors in #184
- Add intermediate model classes by @NicolaCourtier in #183
- Design Optimisation Refactor and Additions by @BradyPlanden in #167
- Add VolumetricEnergyDensity example by @NicolaCourtier in #191
- chore: update pre-commit hooks by @pre-commit-ci in #194
- Fixes failing observer tests by @BradyPlanden in #197
- Add M1 GitHub runner and update scheduled tests by @BradyPlanden in #188
- Create dynamic GitHub Actions matrix to test against PyBaMM by @agriyakhetarpal in #193
- docs: add agriyakhetarpal as a contributor for code, and infra by @allcontributors in #199
- Patch for #193 - Add matrix to M-series runner by @BradyPlanden in #205
- Allow square-brackets access to dataset objects by @MarkBlyth in #182
- Add PEP517/518
pyproject.toml
support by @agriyakhetarpal in #203 - chore: update pre-commit hooks by @pre-commit-ci in #208
- Add fitting functionality for geometric parameters by @BradyPlanden in #169
- Add Python 3.12 by @BradyPlanden in #209
- 139b Add unit tests for plotting and Thevenin model by @NicolaCourtier in #212
- Splits integration / examples / unit tests by @BradyPlanden in #204
- Update release workflow by @BradyPlanden in #215
- Remove stale assets, update architecture fig by @BradyPlanden in #221
- Update to allow no bounds by @NicolaCourtier in #213
- Adds PR Template by @BradyPlanden in #214
- Make likelihoods a type of cost by @NicolaCourtier in #230
- Adds Base Likelihoods, Maximum Likelihood Example by @BradyPlanden in #218
- chore: update pre-commit hooks by @pre-commit-ci in #234
- Datatype restructure for optimisation objects by @BradyPlanden in #224
- [WIP]: Add asv benchmarking by @BradyPlanden in #207
- Fix workflow for changing experiment by @NicolaCourtier in #240
- chore: update pre-commit hooks by @pre-commit-ci in #242
- Patch: benchmark solution tracking by @BradyPlanden in #243
- Additions to #177 by @BradyPlanden in #198
- Update plotting capabilities and dataset restructure by @NicolaCourtier in #178
- Adds import linting with ruff by @BradyPlanden in #245
- Fix gradient calculation from
model.simulateS1
by @BradyPlanden in #260 - Make v24.3 by @BradyPlanden in #220
New Contributors
- @martinjrobins made their first contribution in #152
- @MarkBlyth made their first contribution in #182
Full Changelog: https://github.com/pybop-team/PyBOP/blob/develop/CHANGELOG.md
v23.12
Features
- #141 - Adds documentation with Sphinx and PyData Sphinx Theme. Updates docstrings across package, relocates
costs
anddataset
to top-level of package. Adds noxfile session and deployment workflow for docs. - #131 - Adds
SciPyDifferentialEvolution
optimiser, adds functionality for user-selectable maximum iteration limit toSciPyMinimize
,NLoptOptimize
, andBaseOptimiser
classes. - #107 - Adds Equivalent Circuit Model (ECM) with examples, Import/Export parameter methods
ParameterSet.import_parameter
andParameterSet.export_parameters
, updates default FittingProblem.signal definition to"Voltage [V]"
, and testing infrastructure - #127 - Adds Windows and macOS runners to the
test_on_push
action - #114 - Adds standard plotting class
pybop.StandardPlot()
via plotly backend - #114 - Adds
quick_plot()
,plot_convergence()
, andplot_cost2d()
methods - #114 - Adds a SciPy minimize example and logging for non-Pints optimisers
- #116 - Adds PSO, SNES, XNES, ADAM, and IPropMin optimisers to PintsOptimisers() class
- #38 - Restructures the Problem classes ahead of adding a design optimisation example
- #120 - Updates the parameterisation test settings including the number of iterations
- #145 - Reformats Dataset to contain a dictionary and signal into a list of strings
Breaking Changes
v23.12rc0
CHANGELOG
- #141 - Adds documentation with Sphinx and PyData Sphinx Theme. Updates docstrings across package, relocates
costs
anddataset
to top-level of package. Adds noxfile session and deployment workflow for docs. - #131 - Adds
SciPyDifferentialEvolution
optimiser, adds functionality for user-selectable maximum iteration limit toSciPyMinimize
,NLoptOptimize
, andBaseOptimiser
classes. - #107 - Adds Equivalent Circuit Model (ECM) with examples, Import/Export parameter methods
ParameterSet.import_parameter
andParameterSet.export_parameters
, updates default FittingProblem.signal definition to"Voltage [V]"
, and testing infrastructure - #127 - Adds Windows and macOS runners to the
test_on_push
action - #114 - Adds standard plotting class
pybop.StandardPlot()
via plotly backend - #114 - Adds
quick_plot()
,plot_convergence()
, andplot_cost2d()
methods - #114 - Adds a SciPy minimize example and logging for non-Pints optimisers
- #116 - Adds PSO, SNES, XNES, ADAM, and IPropMin optimisers to PintsOptimisers() class
- #38 - Restructures the Problem classes ahead of adding a design optimisation example
- #120 - Updates the parameterisation test settings including the number of iterations
- #145 - Reformats Dataset to contain a dictionary and signal into a list of strings