From ee874d94a69f641fb506b83ad70a0c7f355dd089 Mon Sep 17 00:00:00 2001 From: "James K. Glasbrenner" Date: Tue, 3 Sep 2024 13:06:24 -0400 Subject: [PATCH] feat: add factory functions for constructing response and json dioptra clients --- src/dioptra/client/__init__.py | 12 ++++++++++-- src/dioptra/client/client.py | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/dioptra/client/__init__.py b/src/dioptra/client/__init__.py index e6ab1b931..0da6a6511 100644 --- a/src/dioptra/client/__init__.py +++ b/src/dioptra/client/__init__.py @@ -14,6 +14,14 @@ # # ACCESS THE FULL CC BY 4.0 LICENSE HERE: # https://creativecommons.org/licenses/by/4.0/legalcode -from .client import DioptraClient, connect_dioptra_client +from .client import ( + DioptraClient, + connect_json_dioptra_client, + connect_response_dioptra_client, +) -__all__ = ["connect_dioptra_client", "DioptraClient"] +__all__ = [ + "connect_response_dioptra_client", + "connect_json_dioptra_client", + "DioptraClient", +] diff --git a/src/dioptra/client/client.py b/src/dioptra/client/client.py index 91082a683..5ba7a1193 100644 --- a/src/dioptra/client/client.py +++ b/src/dioptra/client/client.py @@ -14,7 +14,7 @@ # # ACCESS THE FULL CC BY 4.0 LICENSE HERE: # https://creativecommons.org/licenses/by/4.0/legalcode -from typing import Generic, TypeVar +from typing import Any, Generic, TypeVar import structlog from structlog.stdlib import BoundLogger @@ -97,9 +97,17 @@ def close(self) -> None: self._session.close() -def connect_dioptra_client(address: str) -> DioptraClient[DioptraResponseProtocol]: +def connect_response_dioptra_client( + address: str, +) -> DioptraClient[DioptraResponseProtocol]: from .sessions import DioptraRequestsSession return DioptraClient[DioptraResponseProtocol]( session=DioptraRequestsSession(address) ) + + +def connect_json_dioptra_client(address: str) -> DioptraClient[dict[str, Any]]: + from .sessions import DioptraRequestsSessionJson + + return DioptraClient[dict[str, Any]](session=DioptraRequestsSessionJson(address))