Retries and Error Handling
Retry configuration (RetryConfig)
Section titled “Retry configuration (RetryConfig)”max_retries=3initial_delay=1.0max_delay=60.0exponential_base=2.0retry_on_rate_limit=True
Total attempts are max_retries + 1.
Request flow (_request_json)
Section titled “Request flow (_request_json)”- Send request.
- If
429, parseRetry-After; retry if enabled and budget remains. - If
5xx, retry with exponential backoff while budget remains. - If
4xx(non-429), raiseOdinsEyeAPIError. - On success, parse JSON.
- On network timeout/transport errors, retry within budget.
Error classes
Section titled “Error classes”OdinsEyeError: client-side failures (validation/network/non-JSON)OdinsEyeAPIError: API non-2xx responses
OdinsEyeAPIError fields:
messagestatus_codeerrorerror_detailsresponse_textrate_limit_reset
Logging
Section titled “Logging”When enable_logging=True, logs include:
- request method/path and attempt number
- response status code
- rate-limit warnings
- retry delays