Skip to content

honeyhive._generated

DEFAULT_BASE_URL module-attribute

DEFAULT_BASE_URL = 'https://api.dp1.us.honeyhive.ai'

APIConfig

Bases: BaseModel

Source code in src/honeyhive/_generated/api_config.py
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
class APIConfig(BaseModel):
    model_config = {"validate_assignment": True}

    base_path: str = DEFAULT_BASE_URL
    verify: Union[bool, str] = True
    access_token: Optional[str] = None

    @classmethod
    def from_env(
        cls,
        api_key: Optional[str] = None,
        base_url: Optional[str] = None,
    ) -> "APIConfig":
        """Create APIConfig from environment variables with overrides.

        Environment variables:
            HH_API_KEY: API key for authentication
            HH_API_URL: Base URL for Data Plane API

        Args:
            api_key: Override for HH_API_KEY
            base_url: Override for HH_API_URL
        """
        resolved_api_key = api_key or os.environ.get("HH_API_KEY")
        resolved_base_url = base_url or os.environ.get("HH_API_URL") or DEFAULT_BASE_URL

        return cls(
            base_path=resolved_base_url,
            access_token=resolved_api_key,
        )

    def get_access_token(self) -> Optional[str]:
        return self.access_token

    def set_access_token(self, value: str):
        self.access_token = value

    def get_default_headers(self) -> Dict[str, str]:
        """Get default headers for API requests, including SDK metadata."""
        return {
            "Content-Type": "application/json",
            "Accept": "application/json",
            "Authorization": f"Bearer {self.get_access_token() or ''}",
            "hh-client-version": _get_sdk_version(),
            "hh-client-language": "python",
            "hh-client-package": "honeyhive",
            "hh-client-timestamp": str(_get_or_stamp_call_time_ns()),
        }

base_path class-attribute instance-attribute

base_path: str = DEFAULT_BASE_URL

verify class-attribute instance-attribute

verify: Union[bool, str] = True

access_token class-attribute instance-attribute

access_token: Optional[str] = None

from_env classmethod

from_env(
    api_key: Optional[str] = None,
    base_url: Optional[str] = None,
) -> APIConfig

Create APIConfig from environment variables with overrides.

Environment variables

HH_API_KEY: API key for authentication HH_API_URL: Base URL for Data Plane API

Parameters:

Name Type Description Default
api_key Optional[str]

Override for HH_API_KEY

None
base_url Optional[str]

Override for HH_API_URL

None
Source code in src/honeyhive/_generated/api_config.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@classmethod
def from_env(
    cls,
    api_key: Optional[str] = None,
    base_url: Optional[str] = None,
) -> "APIConfig":
    """Create APIConfig from environment variables with overrides.

    Environment variables:
        HH_API_KEY: API key for authentication
        HH_API_URL: Base URL for Data Plane API

    Args:
        api_key: Override for HH_API_KEY
        base_url: Override for HH_API_URL
    """
    resolved_api_key = api_key or os.environ.get("HH_API_KEY")
    resolved_base_url = base_url or os.environ.get("HH_API_URL") or DEFAULT_BASE_URL

    return cls(
        base_path=resolved_base_url,
        access_token=resolved_api_key,
    )

get_access_token

get_access_token() -> Optional[str]
Source code in src/honeyhive/_generated/api_config.py
43
44
def get_access_token(self) -> Optional[str]:
    return self.access_token

set_access_token

set_access_token(value: str)
Source code in src/honeyhive/_generated/api_config.py
46
47
def set_access_token(self, value: str):
    self.access_token = value

get_default_headers

get_default_headers() -> Dict[str, str]

Get default headers for API requests, including SDK metadata.

Source code in src/honeyhive/_generated/api_config.py
49
50
51
52
53
54
55
56
57
58
59
def get_default_headers(self) -> Dict[str, str]:
    """Get default headers for API requests, including SDK metadata."""
    return {
        "Content-Type": "application/json",
        "Accept": "application/json",
        "Authorization": f"Bearer {self.get_access_token() or ''}",
        "hh-client-version": _get_sdk_version(),
        "hh-client-language": "python",
        "hh-client-package": "honeyhive",
        "hh-client-timestamp": str(_get_or_stamp_call_time_ns()),
    }

HTTPException

Bases: Exception

Source code in src/honeyhive/_generated/api_config.py
72
73
74
75
76
77
78
79
class HTTPException(Exception):
    def __init__(self, status_code: int, message: str):
        self.status_code = status_code
        self.message = message
        super().__init__(f"{status_code} {message}")

    def __str__(self):
        return f"{self.status_code} {self.message}"

status_code instance-attribute

status_code = status_code

message instance-attribute

message = message