Skip to content

ark_async_client

ArkAsyncClient

Bases: ABC, ArkClient

Source code in ark_sdk_python/common/ark_async_client.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class ArkAsyncClient(ABC, ArkClient):
    def __init__(
        self,
        async_request_settings: ArkAsyncRequestSettings = None,
        base_url: Optional[str] = None,
        token: Optional[str] = None,
        token_type: str = 'Bearer',
        cookies: Optional[List] = None,
        auth_header_name: str = 'Authorization',
        auth: Optional[Tuple[str, str]] = None,
        refresh_connection_callback: Optional[Callable[['ArkClient'], None]] = None,
    ) -> None:
        super().__init__(
            base_url, token, token_type, cookies, auth_header_name, auth, refresh_connection_callback=refresh_connection_callback
        )
        self.__async_request_settings = async_request_settings or ArkAsyncRequestSettings()

    @abstractmethod
    def async_request_for(self, poll_model: ArkPollableModel, async_task: ArkAsyncTask) -> ArkAsyncRequest:
        """
        Creates an async request for the specified model and task.
        The request polls for async operations as defined by the poll model's implementation.

        Args:
            poll_model (ArkPollableModel): _description_
            async_task (ArkAsyncTask): _description_

        Returns:
            ArkAsyncRequest: _description_
        """

    @staticmethod
    @abstractmethod
    def async_task_type() -> Type[ArkAsyncTask]:
        """
        Returns the client's async task type.

        Returns:
            Type[ArkAsyncTask]: _description_
        """

    @staticmethod
    @abstractmethod
    def async_request_type() -> Type[ArkAsyncRequest]:
        """
        Returns the client's async request type.

        Returns:
            Type[ArkAsyncTask]: _description_
        """

    @property
    def async_request_settings(self) -> ArkAsyncRequestSettings:
        return self.__async_request_settings

async_request_for(poll_model, async_task) abstractmethod

Creates an async request for the specified model and task. The request polls for async operations as defined by the poll model's implementation.

Parameters:

Name Type Description Default
poll_model ArkPollableModel

description

required
async_task ArkAsyncTask

description

required

Returns:

Name Type Description
ArkAsyncRequest ArkAsyncRequest

description

Source code in ark_sdk_python/common/ark_async_client.py
28
29
30
31
32
33
34
35
36
37
38
39
40
@abstractmethod
def async_request_for(self, poll_model: ArkPollableModel, async_task: ArkAsyncTask) -> ArkAsyncRequest:
    """
    Creates an async request for the specified model and task.
    The request polls for async operations as defined by the poll model's implementation.

    Args:
        poll_model (ArkPollableModel): _description_
        async_task (ArkAsyncTask): _description_

    Returns:
        ArkAsyncRequest: _description_
    """

async_request_type() abstractmethod staticmethod

Returns the client's async request type.

Returns:

Type Description
Type[ArkAsyncRequest]

Type[ArkAsyncTask]: description

Source code in ark_sdk_python/common/ark_async_client.py
52
53
54
55
56
57
58
59
60
@staticmethod
@abstractmethod
def async_request_type() -> Type[ArkAsyncRequest]:
    """
    Returns the client's async request type.

    Returns:
        Type[ArkAsyncTask]: _description_
    """

async_task_type() abstractmethod staticmethod

Returns the client's async task type.

Returns:

Type Description
Type[ArkAsyncTask]

Type[ArkAsyncTask]: description

Source code in ark_sdk_python/common/ark_async_client.py
42
43
44
45
46
47
48
49
50
@staticmethod
@abstractmethod
def async_task_type() -> Type[ArkAsyncTask]:
    """
    Returns the client's async task type.

    Returns:
        Type[ArkAsyncTask]: _description_
    """