"""Shared exceptions for iklim.co clients.""" from __future__ import annotations from typing import Any class ConfigurationError(ValueError): """Raised when a required local setting is missing or invalid.""" class ApiError(RuntimeError): """Raised after an API request fails and eligible retries are exhausted.""" def __init__( self, message: str, *, status_code: int | None = None, response_data: Any = None, ) -> None: super().__init__(message) self.status_code = status_code self.response_data = response_data