MeasurementClient

class pystclient.clients.MeasurementClient(session: Session)

Bases: BaseClient

Client for accessing simulation result data from the STC platform.

In STC, a measurement is the recorded simulation result for a single model instance — i.e. the time-series data produced by one FMU during a simulation run. A single simulation therefore produces one measurement per model instance involved.

This client provides methods to list, retrieve, and query those per-instance measurements, as well as a convenience method to obtain a paginated iterator over all measurements from a given simulation.

__init__(session: Session) None

Methods

__init__(session)

measurement(measurement_id)

Retrieve the full metadata for the simulation result of a single model instance.

measurements(project_id[, simulation_id])

List all per-instance simulation result records for a project.

query(measurement_id, q)

Query time-series variable data from a single model instance's simulation result.

simulation_results(project_id, simulation_id)

Obtain a paginated iterator over all per-instance simulation results for a run.

Attributes

session

measurement(measurement_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)]) Measurements

Retrieve the full metadata for the simulation result of a single model instance.

A measurement represents the recorded output of one FMU model instance during a simulation run. The returned object includes the list of recorded variables and their instance information.

Parameters:

measurement_id – Unique identifier of the per-instance simulation result to retrieve

Returns:

Complete simulation result metadata for the model instance, including its recorded variables and instance details

measurements(project_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)], simulation_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)] | None = None) list[Measurements]

List all per-instance simulation result records for a project.

Each returned object represents the simulation result (measurement) of a single model instance. A simulation with N model instances will therefore produce N measurement records.

When simulation_id is provided, only the measurements produced by that specific simulation run are returned.

Parameters:
  • project_id – ID of the project whose measurement records to retrieve

  • simulation_id – Restrict results to a specific simulation run, by default None

Returns:

One metadata object per model instance that recorded data in the matching simulation(s)

query(measurement_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)], q: MeasurementQuery) list[QueryResult]

Query time-series variable data from a single model instance’s simulation result.

A measurement is the recorded simulation result for one model instance. This method retrieves variable values from that result within a specified time range. If any variable in q is missing its instance_id, it is resolved automatically from the model instance metadata using the variable’s instance_name.

Parameters:
  • measurement_id – Unique identifier of the per-instance simulation result to query

  • q – Query specification including the time range and the list of variables to retrieve

Returns:

Time-series data for each requested variable from this model instance

simulation_results(project_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)], simulation_id: Annotated[str | UUID, PlainSerializer(func=str, return_type=str, when_used=always)]) SimulationResults | None

Obtain a paginated iterator over all per-instance simulation results for a run.

Each measurement in the iterator represents the recorded result of one model instance from the specified simulation. The returned SimulationResults iterator lets you page through the time-series data of all model instances in configurable time steps.

Parameters:
  • project_id – ID of the project containing the simulation

  • simulation_id – ID of the simulation run whose per-instance results to iterate over

Returns:

A results iterator over all model-instance measurements, or None if the simulation has not yet produced any measurement data