Skip to main content
The new Lab view for tracking cyclers and channels, measurement analyses, and throughput-based degradation in the ECM

Lab view — see every cycler and channel at a glance

A new project-scoped Lab dashboard shows all of your test equipment organized as sites → cyclers → channels, so you can tell at a glance what’s running where. The Lab wall lists every cycler with a utilization bar and per-state channel counts, filterable by site and by amp/volt rating range. Drill into a cycler to see its full channel grid, or into a single channel to see exactly which cell is on test, its measurement history, and an editable out-of-service toggle with notes.Each channel’s state — occupied, stale (a run that stopped updating and likely needs attention), free, or out of commission — is derived from the measurements linked to it, so the view stays accurate without any live telemetry hookup. Channel cards also show an estimated end time for still-running tests when one is available. A set of scheduling rules keeps the data honest: two runs can’t overlap on the same channel, and a channel can’t be taken out of commission while a test is active.The same equipment picture is available programmatically through the new client.lab sub-client in the Python SDK — ask for overall utilization, list free channels (optionally filtered by required ratings), find stale channels that need attention, or look up what’s on a specific channel, all from a single call.

Measurement analyses

You can now attach analyses to a measurement — a named table of extracted features (e.g. ECM parameters from EIS, or LLI/LAM degradation points from RPT data) stored alongside the raw measurement. The measurement detail page lists a measurement’s analyses, and each analysis has its own detail page with a data preview, downloadable parquet, and a link back to its source measurement. Analyses are fully supported in the Python SDK via the new client.analysis client (create from a polars/pandas DataFrame, list, fetch data, update, delete).

Throughput-based degradation in the ECM

The Equivalent Circuit Model (iwp.models.ECM) gained an opt-in degradation capability: capacity and internal resistance can now evolve as user-supplied functions of capacity throughput (the running integral of |current|), so a single simulation can capture fade over the course of a run. Both options default to constant, so existing ECM configs are unaffected.
Improvements
  • Global search now covers cyclers and channels alongside projects, studies, and cells — search from anywhere and jump straight to a channel’s detail page.
  • The cell specification detail page is now organized into three tabs — Measurements, Instances, and Parameterized models — each with server-side pagination, filtering, and sorting.
  • Organization admins can now deactivate a member to suspend their access while preserving their membership and role, then reactivate them later. A deactivated user sees a dedicated screen with an option to switch to another organization.
  • Materials and components are now scoped to the project of the cell specification that references them, keeping each project’s parameter data within its own boundary.
Fixes
  • Sorting the project measurements grid by the measurement id column no longer makes every row disappear.
Improvements
  • DataFit runs with a Bayesian sampler now return the full posterior sample chain (per-parameter samples and per-sample costs), not just the point estimate, retrievable from the job result.
Improvements
  • New client.lab sub-client for point-in-time equipment questions: overall utilization, free channels (optionally filtered by required amp/volt ratings), stale channels needing attention, and what’s on a given channel.
  • New client.analysis sub-client for creating, listing, fetching, updating, and deleting measurement analyses, serializing DataFrames to and from parquet transparently.
  • Submitted pipelines can now reference local data with file: and folder: refs; their contents are read and inlined at submit time, and the same inline row cap that applies to raw DataFrames is now correctly enforced for these refs (a file: pointing at a very large CSV no longer slips through).
  • Raw-data upload now uses the same fast signed-URL flow as regular measurement uploads.
Improvements
  • Arbin Power Simulation drive cycles are now supported — they parse into a drive-cycle step that can apply a power (W) waveform rather than current, and Arbin cumulative capacity/energy counters are modelled correctly across steps.
Fixes
  • Arbin SetValue steps that read a last-step quantity (e.g. MV_UD1 = LS_CHAN_Discharge_Capacity, the “measure C/20 capacity then log it” idiom) now resolve correctly at simulation time instead of failing with an unresolved-variable error, so the downstream steps that depend on that value run.
  • Arbin subschedule steps that happen to share a step index and label with a step in the parent schedule no longer collide with a duplicate-step-name error; each subschedule’s steps are kept distinct while still resolving goto targets correctly.