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_configRunConfig | None: Backoff/retry settings; defaults toRunConfigdefaults (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
clientAny: API client instance.request_bodydict[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
clientAny: API client instance.run_idstr: 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.