Source code for taimoe.platform.errors.rate_limit_error
"""Rate limit error — 429 RESOURCE_EXHAUSTED.
Retryable. Callers should respect ``retry_after_seconds`` when present
in ``details``.
"""
from __future__ import annotations
from ._base import TaimoeAPIError, _Retryable, _register_code, _register_status
[docs]
@_register_status(429)
@_register_code("RESOURCE_EXHAUSTED")
class RateLimitError(TaimoeAPIError, _Retryable):
"""Quota or rate limit was exhausted for this caller."""
default_code = "RESOURCE_EXHAUSTED"
@property
def retry_after_seconds(self) -> int | None:
"""Seconds the server asked the caller to wait before retrying, if any."""
value = self.details.get("retry_after_seconds")
return int(value) if value is not None else None