wallaroo.exceptions


@dataclass
class APIErrorResponse:

Standardized structure for API error responses.

Attributes: code: HTTP status code of the error status: Status message (e.g., "error", "failed") error: Detailed error message source: Source of the error (e.g., "engine", "sidekick") original_response: Original response object for fallback

APIErrorResponse( code: Optional[int] = None, status: Optional[str] = None, error: Optional[str] = None, source: Optional[str] = None, original_response: Union[requests.models.Response, httpx.Response, NoneType] = None)
code: Optional[int] = None
status: Optional[str] = None
error: Optional[str] = None
source: Optional[str] = None
original_response: Union[requests.models.Response, httpx.Response, NoneType] = None
@classmethod
def from_response( cls, response: Union[requests.models.Response, httpx.Response]) -> APIErrorResponse:

Create an APIErrorResponse from a requests.Response object. Falls back gracefully if expected fields are missing.

class WallarooAPIError(builtins.Exception):

Base exception class for all Wallaroo API errors.

Attributes: code: HTTP status code of the error status: Status message error: Detailed error message source: Source of the error response: Original APIErrorResponse object

WallarooAPIError( error_response: APIErrorResponse, prefix: str = '')
code
status
error
source
response
prefix
def handle_errors(http_error_class=None):

Decorator to handle HTTP errors and convert them to appropriate custom errors.

Parameters
  • error_class: The specific error class to use for HTTP errors. If None, uses WallarooAPIError.
class InferenceError(WallarooAPIError):

Raised when inference fails

InferenceError(response: Union[requests.models.Response, httpx.Response])
class InferenceTimeoutError(builtins.Exception):

Raised when inference fails because of connection or timeout errors.

InferenceTimeoutError(error)