Model zoo#

Community- and partner-contributed PyBaMM models. Each entry is one self-contained folder with its own maintainer, tests, examples, and citation; the table below is generated from those folders’ manifests.

The zoo is a separate distribution that is not yet published to PyPI, so pip install pybamm does not provide it. Until it is released, install it from the repository:

pip install "pybamm-model-zoo @ git+https://github.com/pybamm-team/PyBaMM.git#subdirectory=packages/pybamm-model-zoo"

Zoo models are then reached through the zoo’s registry, not the pybamm namespace:

import pybamm
import pybamm_model_zoo as zoo

model = zoo.load(zoo.list_models()[0])()
solution = pybamm.Simulation(model).solve([0, 3600])

Models in the core tier are covered by PyBaMM’s merge gate. Models in the community tier are tested on every pull request too, but their results are advisory: a red community model never blocks a PyBaMM merge. See contributing a model to add your own.

Model

Tier

Maintainer

PyBaMM

Added

Single Particle Model with a linearised open-circuit potential

core

@pybamm-team/maintainers

>=26.0

2026-08-20

Compatibility#

Refreshed weekly by the model_zoo_status workflow. Each model is run against main and against the most recent PyBaMM releases its pybamm_requires admits; scripts/matrix.py --releases sets how far back that window reaches, and the columns below are the window as it stands. A cell reading missing is one whose job never reported, not a pass.

Model

Results

Last passing

linearised_spm

26.7.1.0: pass, 26.8.0.0: pass, main: pass

26.8.0.0