Skip to main content
This quickstart runs protocol simulations — you provide a Universal Cycler Protocol and simulate it against a model, optionally sweeping parameters as a design of experiments (DOE). To run a simulation inside a study (as on the Studies page), see Run a simulation in a study — it uses the same call with a study_id.
Install and authenticate first: pip install ionworks-api and set IONWORKS_API_KEY and IONWORKS_PROJECT_ID. See the Python API client page.
What’s happening
  • Protocols are Universal Cycler Protocol (UCP) YAML, passed inline or as a saved protocol id. Every run needs a parameterized_model — a parameterized-model id or an inline quick model.
  • Single = client.simulation.protocol(...); batch/DOE = client.simulation.protocol_batch(...) with a design_parameters_doe block whose rows sweep named parameters under a sampling strategy.
  • wait_for_completion(...) accepts one id or a list. get_result(id) returns .time_series and .steps dataframes (joinable on Step count) plus a .metrics dict.
  • Dataframes are polars by default; call set_dataframe_backend("pandas") once at session start if you prefer pandas.

Learn more