Optimizations#
Run and manage design optimizations in Ionworks Studio.
For usage examples and guides, see Managing optimizations on docs.ionworks.com.
Optimization client for managing design optimizations.
This module provides the OptimizationClient for running, monitoring,
and managing battery design optimization jobs.
- class ionworks.optimization.OptimizationClient(client)[source]#
Bases:
objectClient for managing design optimizations.
Optimizations run parameter sweeps and objective-driven searches over parameterized battery models.
- Parameters:
client (Any)
- __init__(client)[source]#
Initialize the OptimizationClient.
- Parameters:
client (Any) – The HTTP client instance for making API requests.
- Return type:
None
- run(data)[source]#
Submit a new optimization job.
- Parameters:
data (dict[str, Any]) – The optimization configuration. See backend documentation for the full schema (varies by optimization type: design optimization, data fit optimization, etc.). Typically includes
name,project_id,parameterized_model_id, and type-specific config.- Returns:
The newly created optimization record (includes
job_id).- Return type:
- list(project_id=None, limit=None, offset=None)[source]#
List optimizations with optional filtering.
- Parameters:
project_id (str | None, optional) – Filter by project ID. If not provided, uses the project_id set on the Ionworks client (resolved from the
IONWORKS_PROJECT_IDenv var if not passed to the client).limit (int | None, optional) – Maximum number of optimizations to return.
offset (int | None, optional) – Number of optimizations to skip for pagination.
- Returns:
Dictionary with
optimizations(job-free resources) andtotalkeys.- Return type:
- update(optimization_id, data)[source]#
Update an optimization’s name and/or description.
- Parameters:
- Returns:
The updated optimization object.
- Return type:
- wait_for_completion(optimization_id, timeout=600, poll_interval=3, verbose=True, raise_on_failure=True)[source]#
Poll an optimization until it completes, fails, or times out.
- Parameters:
optimization_id (str) – The ID of the optimization to wait for.
timeout (int, optional) – Maximum time to wait in seconds. Defaults to 600.
poll_interval (int, optional) – Time between polls in seconds. Defaults to 3.
verbose (bool, optional) – If True, print status updates. Defaults to True.
raise_on_failure (bool, optional) – If True, raise an error when the optimization fails. Defaults to True.
- Returns:
The final optimization resource (including its
status).- Return type:
- Raises:
TimeoutError – If the optimization does not complete within the timeout.
IonworksError – If the optimization fails and
raise_on_failureis True.