skillfed

pybammsolvers

Python interface for the IDAKLU solver

pybammsolvers v0.9.0 119.3K downloads/30d#12,078 on PyPI
License unclear Active released

What it is and what it does

pybammsolvers is a Python wrapper around the IDAKLU solver, a C/C++ implementation of implicit differential equation solvers built on SUNDIALS and SuiteSparse. It is designed for solving stiff ordinary differential equations, particularly those arising in battery electrochemistry and electrochemical modeling. The package bundles SUNDIALS and SuiteSparse as git submodules and compiles them during installation, so it carries medium install friction on platforms without precompiled wheels.

The package depends on casadi and numpy at runtime. It is actively maintained and supports Python 3.10 through 3.13 with precompiled wheels for common platforms. Local builds are possible but require a C/C++ toolchain and build dependencies (cmake, ninja, pybind11). The project includes unit tests, integration tests, and performance benchmarks.

Use it for:

  • Solving stiff differential equations in battery electrochemistry simulations within PyBaMM.
  • Benchmarking solver performance against released PyBaMM versions.
  • Developing or testing new solver implementations on unsupported architectures via local builds.
  • Integrating IDAKLU into custom electrochemical modeling workflows that require implicit ODE solvers.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pybammsolvers provides a Python interface to the IDAKLU solver, a C/C++ differential equation solver used in battery modeling applications.

Yes, if you are using PyBaMM or developing electrochemical models that require a robust implicit ODE solver. The package is actively maintained, has no known vulnerabilities, and offers precompiled wheels for modern Python versions on common platforms. Install friction is moderate but manageable for most developers; local builds require a C/C++ toolchain but are well-documented. The unclear license treatment warrants verification before use in proprietary projects.

Install

pybammsolvers on PyPI

pip

pip install pybammsolvers

uv

uv add pybammsolvers

poetry

poetry add pybammsolvers

Installing pybammsolvers

Before you install

Medium install friction: precompiled wheels are available for Python 3.10–3.13 on macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows, but local builds require cmake, ninja, pybind11, and system libraries (SUNDIALS, SuiteSparse). Active maintenance with a release 24 days ago.

Quickstart

pip install pybammsolvers

import pybammsolvers
# Use within PyBaMM or via casadi/numpy for ODE integration

Requires Python 3.10–3.13; local builds need cmake, ninja, pybind11, and system C/C++ compiler plus SUNDIALS/SuiteSparse libraries.

Verify before relying

  • Whether pybammsolvers can be used standalone or is intended primarily as a PyBaMM dependency.
  • Performance characteristics or solver stability guarantees compared to other ODE solvers.
  • Documentation availability and completeness for the Python API.

Package facts

License not declared (unclear)
Python support supports the current Python release (<3.15,>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 2 — casadi, numpy
Maintenance actively maintained — 24 days since the last release
First released
Downloads 119,307/month — #12,078 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pybammsolvers-0.9.0-cp310-cp310-macosx_10_13_x86_64.whl; pybammsolvers-0.9.0-cp310-cp310-macosx_11_0_arm64.whl; pybammsolvers-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pybammsolvers-0.9.0-cp310-cp310-manylinux_2_34_aarch64.whl; pybammsolvers-0.9.0-cp310-cp310-win_amd64.whl; pybammsolvers-0.9.0-cp311-cp311-macosx_10_13_x86_64.whl; pybammsolvers-0.9.0-cp311-cp311-macosx_11_0_arm64.whl; pybammsolvers-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pybammsolvers-0.9.0-cp311-cp311-manylinux_2_34_aarch64.whl; pybammsolvers-0.9.0-cp311-cp311-win_amd64.whl; pybammsolvers-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl; pybammsolvers-0.9.0-cp312-cp312-macosx_11_0_arm64.whl; pybammsolvers-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pybammsolvers-0.9.0-cp312-cp312-manylinux_2_34_aarch64.whl; pybammsolvers-0.9.0-cp312-cp312-win_amd64.whl; pybammsolvers-0.9.0-cp313-cp313-macosx_10_13_x86_64.whl; pybammsolvers-0.9.0-cp313-cp313-macosx_11_0_arm64.whl; pybammsolvers-0.9.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pybammsolvers-0.9.0-cp313-cp313-manylinux_2_34_aarch64.whl; pybammsolvers-0.9.0-cp313-cp313-win_amd64.whl

Tags

IDAKLU solver pythondifferential equation solver batteryPyBaMM solver interfacenumerical ODE solverSUNDIALS python wrapper
ode-solverbattery-modelingcompiled-extension

More Mathematics packages