Skip to main content
The PyBOP logo.

Python Battery Optimisation and Parameterisation

Scheduled Contributors Python Versions from PEP 621 TOML Codecov License Open in Colab nbviewer Static Badge Releases DOI

Main Branch Examples Develop Branch Examples

PyBOP provides tools for the parameterisation and optimisation of battery models, using both Bayesian and frequentist approaches, with example workflows to assist the user. PyBOP can be used to parameterise various battery models, including the electrochemical and equivalent circuit models available in PyBaMM.

📌 PyBOP v25.10 presents a major restructure of PyBOP's base classes. We move from setting up a model, problem, cost, then optimiser to defining a simulator, cost, problem, and then optimiser. A pybop.pybamm.Simulator is designed to simulate a pybamm.BaseModel. Optimisation parameters can be passed through a pybamm.ParameterValues class. To understand how to update your use of PyBOP, please take a look at the example notebooks and scripts.

A diagram showing the PyBOP logo surrounded by connections to experimental data as an input, forward simulations provided by PyBaMM, results for parameteriation and design optimisation, as well as funding bodies (the Faraday Institution, EU IntelLiGent and DigiBatt projects).

A diagram showing the main PyBOP classes: the Simulator and Cost, which together define the optimisation Problem, and the Optimiser or Sampler which generates the Result.

💻 Installation

Within your virtual environment, install PyBOP:

pip install pybop

To install the most recent state of PyBOP, install from the develop branch,

pip install git+https://github.com/pybop-team/PyBOP.git@develop

To install a previous version of PyBOP, use the following template and replace the version number:

pip install pybop==v24.3

To check that PyBOP is installed correctly, run one of the examples in the following section. For a development installation, see the Contribution Guide. More installation information is available in our documentation and the extended installation instructions for PyBaMM.

💡 Use Cases

PyBOP has two intended uses:

  1. Parameter inference from battery test data.

  2. Design optimisation under battery manufacturing/use constraints.

These include a wide variety of optimisation problems that require careful consideration due to the choice of battery model, data availability and/or the choice of design parameters.

Publications

Please take inspiration from the following journal articles which show how PyBOP is being used for research:

Jupyter Notebooks

Explore our example notebooks for hands-on demonstrations:

Python Scripts

Find additional script-based examples in the examples directory:

Grouped Models

In addition to the models available in PyBaMM, PyBOP currently hosts some grouped-parameter versions of common battery models which are purpose-built for parameter esimation and can be found under models.

👉 Code of Conduct

PyBOP aims to foster a broad consortium of developers and users, building on and learning from the success of the PyBaMM community. Our values are:

  • Inclusivity and fairness (those who wish to contribute may do so, and their input is appropriately recognised)

  • Interoperability (modularity for maximum impact and inclusivity)

  • User-friendliness (putting user requirements first via user-assistance & workflows)

📃 License

PyBOP is released under the BSD 3-Clause License.

🌟 Contributing

We would like to thank all contributors to PyBOP. Contributions are welcome! See CONTRIBUTING.md for ways to get started.

The original PyBOP developers were supported by research funding from the Faraday Institution, UK Research and Innovation, and Horizon Europe IntelLiGent Consortium.

Release files for pybop 26.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pybop 26.3
File Size Uploaded
pybop-26.3.tar.gz 128.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pybop 26.3
File Interpreter ABI Platform
pybop-26.3-py3-none-any.whl Python 3 none any Details

Total release size: 298.3 kB

Release files / pybop-26.3.tar.gz

Download URL pybop-26.3.tar.gz
Size 128.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d34fc5abf2b122338f09f809569f3f6bfd422c4e6c03430c7b3ddd97fbdffbef
BLAKE2b-256 checksum
How to use checksums
aea7c5df797ed748a2c7c81a81bd9869bfcf1677d0f6c530ff0248b0fa30e3a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.

Transparency log

Release files / pybop-26.3-py3-none-any.whl

Download URL pybop-26.3-py3-none-any.whl
Size 169.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7ee1daeba49e29646dbca73dd8764152b93f2b552e47f4ce6f556ae563a10e5
BLAKE2b-256 checksum
How to use checksums
cb81bf88da35e452369736ba1e57161c6d1368d2507ab897b83e4e2ac9dab001
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

26.3 This release

2 release files

25.11

2 release files

25.10

2 release files

25.6

2 release files

25.3

2 release files

25.1

2 release files

24.12

2 release files

24.9.1

2 release files

24.9.0

2 release files

24.6.1

2 release files

24.6

2 release files

24.3.1

2 release files

24.3

2 release files

23.12

2 release files

23.11

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page