Python SDK resource clients
The Python SDK gains typed sub-clients for managing Studio resources programmatically. You can now create, list, retrieve, update, and delete projects, models, parameterized models, studies, protocols, and optimizations directly from theIonworks client — for example, client.project.list(),
client.model.get(id), or client.study.create(...). A new “Managing resources” section in the
Python API docs walks through each sub-client with usage examples, and requests for Projects,
Models, and Studies no longer require your organization to be specified separately — it’s resolved
from your account automatically.Validation initial conditions and UX polish
Validations now let you choose how the simulation is initialized: auto-detect from the measurement, a custom starting voltage, or a custom state of charge. Each validation row in the Report tab can be removed individually with a confirmation dialog, and a dedup bug that caused two measurements sharing the same initial voltage to overwrite each other’s drive cycle has been fixed. Validation error plots also now render with grid lines for easier reading.Capacity calculation fix for multi-electrode cells
A capacity calculation was reading a non-canonical parameter name for the number of electrodes connected in parallel, causing the maximum concentration to be over-computed by a factor of N when users set the correct key. The fix aligns all lookups with PyBaMM’s canonical parameter name so multi-electrode cells parameterize correctly.Studio
Studio
Improvements
- Studies with simulations of a single experiment type now auto-select that type so the visualization view is immediately accessible.
- Failed variable-evaluation jobs now surface an error state with a Retry button instead of spinning indefinitely.
- Studies list and parameterized models list now support pagination.
- Fixed a crash when rendering time-series measurements with thousands of short steps (e.g. HPPC pulse protocols with ~1500 steps) — the dashboard can now load these measurements.
- Fixed coupled custom variables being silently dropped when their resolution failed, which could remove convenience variables like “Temperature [degC]” from simulation outputs.
- Fixed an issue where an overly large page size on the models list could cause an error.
Pipeline
Pipeline
Improvements
- Bumped PyBaMM to 26.3.1, which falls back to a base model with a warning when a custom model references a package that isn’t installed in the run environment.
- Improved reliability of OCP-related fitting objectives so they work correctly in Validation pipelines.
- Fixed an issue where a data fit submitted with a single objective could fail unexpectedly.
Python API
Python API
Improvements
- Added typed sub-clients for Models, Studies, Optimizations, Projects, Protocols, and ParameterizedModels, replacing raw HTTP requests for resource management.
- Requests no longer require your organization to be specified in resource paths — it’s resolved from your account automatically.
- Simulation polling now propagates errors immediately instead of swallowing them, and uses typed job status objects with clearer completion/failure fields.
- Fixed the simulation job poll endpoint, which was pointing at an incorrect route.
Data Processing
Data Processing
Fixes
- Fixed a sign-detection bug in the ECM validator where a symmetric current profile (charge / discharge / charge returning to the same net charge) was incorrectly rejected despite having a non-zero SOC span.