Skip to content

Register now for

# Reference for `hub_sdk/base/api_client.py`

Note

This file is available at https://github.com/ultralytics/hub-sdk/blob/main/hub_sdk/base/api_client.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!

## `` hub_sdk.base.api_client.APIClientError

    APIClientError(message: str, status_code: int | None = None)

Bases: `Exception`

Custom exception class for API client errors.

Attributes:

Name | Type | Description
--- | --- | ---
`message` | `str` | A human-readable error message.
`status_code` | `int` | The HTTP status code associated with the error, if available.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`message` | `str` | A human-readable error message. | required
`status_code` | `int` | The HTTP status code associated with the error. | `None`

Source code in `hub_sdk/base/api_client.py`

    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    def __init__(self, message: str, status_code: int | None = None):
        """
        Initialize the APIClientError instance.

        Args:
            message (str): A human-readable error message.
            status_code (int, optional): The HTTP status code associated with the error.
        """
        super().__init__(message)
        self.status_code = status_code
        self.message = message

### `` __str__

    __str__() -> str

Return a string representation of the APIClientError instance.

Source code in `hub_sdk/base/api_client.py`

    33
    34
    35
    def __str__(self) -> str:
        """Return a string representation of the APIClientError instance."""
        return f"{self.__class__.__name__}: {self.args[0]}"

## `` hub_sdk.base.api_client.APIClient

    APIClient(base_url: str, headers: dict | None = None)

Represents an API client for making requests to a specified base URL.

Attributes:

Name | Type | Description
--- | --- | ---
`base_url` | `str` | The base URL for the API.
`headers` | `Dict` | Headers to be included in each request.
`logger` | `Logger` | An instance of the logger for logging purposes.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`base_url` | `str` | The base URL for the API. | required
`headers` | `Dict` | Headers to be included in each request. | `None`

Source code in `hub_sdk/base/api_client.py`

    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    def __init__(self, base_url: str, headers: dict | None = None):
        """
        Initialize an instance of the APIClient class.

        Args:
            base_url (str): The base URL for the API.
            headers (Dict, optional): Headers to be included in each request.
        """
        self.base_url = base_url
        self.headers = headers
        self.logger = logger

### `` delete

    delete(endpoint: str, params: dict | None = None) -> requests.Response | None

Make a DELETE request to the API.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`endpoint` | `str` | The endpoint to append to the base URL for the request. | required
`params` | `dict` | Parameters to include in the request. | `None`

Returns:

Type | Description
--- | ---
`Optional[Response]` | The response object from the HTTP DELETE request, or None if it fails.

Source code in `hub_sdk/base/api_client.py`

    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    def delete(self, endpoint: str, params: dict | None = None) -> requests.Response | None:
        """
        Make a DELETE request to the API.

        Args:
            endpoint (str): The endpoint to append to the base URL for the request.
            params (dict, optional): Parameters to include in the request.

        Returns:
            (Optional[requests.Response]): The response object from the HTTP DELETE request, or None if it fails.
        """
        return self._make_request("DELETE", endpoint, params=params)

### `` get

    get(endpoint: str, params=None) -> requests.Response | None

Make a GET request to the API.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`endpoint` | `str` | The endpoint to append to the base URL for the request. | required
`params` | `dict` | Query parameters for the request. | `None`

Returns:

Type | Description
--- | ---
`Optional[Response]` | The response object from the HTTP GET request, None if it fails.

Source code in `hub_sdk/base/api_client.py`

    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    def get(self, endpoint: str, params=None) -> requests.Response | None:
        """
        Make a GET request to the API.

        Args:
            endpoint (str): The endpoint to append to the base URL for the request.
            params (dict, optional): Query parameters for the request.

        Returns:
            (Optional[requests.Response]): The response object from the HTTP GET request, None if it fails.
        """
        return self._make_request("GET", endpoint, params=params)

### `` patch

    patch(
        endpoint: str, data: dict | None = None, json: dict | None = None
    ) -> requests.Response | None

Make a PATCH request to the API.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`endpoint` | `str` | The endpoint to append to the base URL for the request. | required
`data` | `Dict` | Data to be sent in the request's body. | `None`
`json` | `Dict` | JSON data to be sent in the request's body. | `None`

Returns:

Type | Description
--- | ---
`Optional[Response]` | The response object from the HTTP PATCH request.

Source code in `hub_sdk/base/api_client.py`

    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    def patch(self, endpoint: str, data: dict | None = None, json: dict | None = None) -> requests.Response | None:
        """
        Make a PATCH request to the API.

        Args:
            endpoint (str): The endpoint to append to the base URL for the request.
            data (Dict, optional): Data to be sent in the request's body.
            json (Dict, optional): JSON data to be sent in the request's body.

        Returns:
            (Optional[requests.Response]): The response object from the HTTP PATCH request.
        """
        return self._make_request("PATCH", endpoint, data=data, json=json)

### `` post

    post(
        endpoint: str,
        data: dict | None = None,
        json: dict | None = None,
        files: dict | None = None,
        stream=False,
    ) -> requests.Response | None

Make a POST request to the API.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`endpoint` | `str` | The endpoint to append to the base URL for the request. | required
`data` | `Dict` | Data to be sent in the request's body. | `None`
`json` | `Dict` | JSON data to be sent in the request's body. | `None`
`files` | `Dict` | Files to be included in the request. | `None`
`stream` | `bool` | If True, the response content will be streamed. | `False`

Returns:

Type | Description
--- | ---
`Optional[Response]` | The response object from the HTTP POST request.

Source code in `hub_sdk/base/api_client.py`

    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    def post(
        self,
        endpoint: str,
        data: dict | None = None,
        json: dict | None = None,
        files: dict | None = None,
        stream=False,
    ) -> requests.Response | None:
        """
        Make a POST request to the API.

        Args:
            endpoint (str): The endpoint to append to the base URL for the request.
            data (Dict, optional): Data to be sent in the request's body.
            json (Dict, optional): JSON data to be sent in the request's body.
            files (Dict, optional): Files to be included in the request.
            stream (bool): If True, the response content will be streamed.

        Returns:
            (Optional[requests.Response]): The response object from the HTTP POST request.
        """
        return self._make_request("POST", endpoint, data=data, json=json, files=files, stream=stream)

### `` put

    put(
        endpoint: str, data: dict | None = None, json: dict | None = None
    ) -> requests.Response | None

Make a PUT request to the API.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`endpoint` | `str` | The endpoint to append to the base URL for the request. | required
`data` | `Dict` | Data to be sent in the request's body. | `None`
`json` | `Dict` | JSON data to be sent in the request's body. | `None`

Returns:

Type | Description
--- | ---
`Optional[Response]` | The response object from the HTTP PUT request.

Source code in `hub_sdk/base/api_client.py`

    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    def put(self, endpoint: str, data: dict | None = None, json: dict | None = None) -> requests.Response | None:
        """
        Make a PUT request to the API.

        Args:
            endpoint (str): The endpoint to append to the base URL for the request.
            data (Dict, optional): Data to be sent in the request's body.
            json (Dict, optional): JSON data to be sent in the request's body.

        Returns:
            (Optional[requests.Response]): The response object from the HTTP PUT request.
        """
        return self._make_request("PUT", endpoint, data=data, json=json)

📅 Created 1 year ago ✏️ Updated 1 month ago