Skip to main content

aip_sdk.ExternalRunner

aip_sdk.ExternalRunner(run_config: RunConfig | None = None)

Runner backend for developer-owned evaluation infrastructure.

Every platform API call is wrapped with a configurable retry loop. On connection failure the SDK waits retry_backoff_initial seconds, multiplies by retry_backoff_multiplier after each attempt (capped at retry_backoff_max), and raises RunConnectionError once retry_attempts are exhausted.

Parameters

  • run_config RunConfig | None: Backoff/retry settings; defaults to RunConfig defaults (3 attempts, 1 s initial backoff, 2x multiplier, 30 s cap).

aip_sdk.ExternalRunner.create_run​

aip_sdk.ExternalRunner.create_run(client: Any, request_body: dict[str, Any]) -> dict[str, Any]

Create a run on external infrastructure with retry logic.

Parameters

  • client Any: API client instance.
  • request_body dict[str, Any]: Request payload for the run.

Returns

  • dict[str, Any]: The API response as a dict.

Raises

  • RunConnectionError: If the connection fails after exhausting retry attempts.
  • APIError: If the platform API rejects or fails the request.

aip_sdk.ExternalRunner.get_runner_mode​

aip_sdk.ExternalRunner.get_runner_mode() -> str

Return the runner mode identifier for external infrastructure.

Returns

  • str: The string "external".

aip_sdk.ExternalRunner.get_status​

aip_sdk.ExternalRunner.get_status(client: Any, run_id: str) -> dict[str, Any]

Fetch the current run status from external infrastructure.

Parameters

  • client Any: API client instance.
  • run_id str: ID of the run to fetch.

Returns

  • dict[str, Any]: The API response as a dict.

Raises

  • RunConnectionError: If the connection fails after exhausting retry attempts.
  • APIError: If the platform API rejects or fails the request.