Client

Kelvin API Client 2.

class kelvin.sdk.client.Client(config: Optional[Union[kelvin.sdk.client.base_client.ClientConfiguration, Mapping[str, Any]]] = None, password: Optional[str] = None, totp: Optional[str] = None, verbose: bool = False, use_keychain: bool = True, store_token: bool = True, login: bool = False, mirror: Optional[Union[pathlib.Path, str]] = None, mirror_mode: Optional[Union[kelvin.sdk.client.base_client.MirrorMode, str, Sequence[str]]] = None, _adapter: Optional[requests.adapters.BaseAdapter] = None)

Kelvin API Client.

Parameters
  • config (ClientConfiguration, optional) – Configuration object

  • password (str, optional) – Password for obtaining access token

  • totp (str, optional) – Time-based one-time password

  • verbose (bool, optional) – Log requests/responses

  • use_keychain (bool, optional) – Store credentials securely in system keychain

  • store_token (bool, optional) – Store access token

  • login (bool, optional) – Login to API

  • mirror (str, optional) – Directory to use for caching mirrored responses (created if not existing)

  • mirror_mode (MirrorMode, str or list, optional) –

    Mode of response mirroring:
    • dump: Save responses in mirror cache

    • load: Load responses from mirror cache (if available)

    • both: Both dump and load

    • none: Do not dump or load

  • _adapter (requests.adapters.BaseAdapter, optional) – Optional requests adapter instance (e.g. requests.adapters.HTTPAdapter). Useful for testing.

class kelvin.sdk.client.ClientConfiguration(values: Optional[Mapping[str, Any]] = None, _filename: Optional[Path] = None, _site: Optional[str] = None, _key: Optional[Union[str, EllipsisType]] = Ellipsis, _data: Optional[Mapping[str, Any]] = None, *, sites: Dict[str, Dict[str, Any]] = {}, site: str = None, metadata: Dict[str, Any] = None, url: pydantic.networks.AnyUrl = None, realm_name: str = None, username: str, client_id: str = 'kelvin-client', client_secret: str = None, token: Dict[str, Any] = None, retries: int = 3, timeout: Union[float, Tuple[float, float]] = (6.05, 10.0), gzip: bool = False, verify: bool = None, history: int = 5, headers: Dict[str, Any] = {})

Configuration for resource client.

class Config

Model Configuration.

classmethod check_realm_name(value: Optional[str], values: MutableMapping[str, Any]) str

Validate realm field.

classmethod check_url(value: Optional[str], values: MutableMapping[str, Any]) str

Validate URL field.

classmethod validate_verify(value: Optional[bool], values: MutableMapping[str, Any]) bool

Validate verify option.