Skip to main content

BaseConfig Objects

class BaseConfig(ABC)
Abstract base class for configuration. Arguments:
  • endpoint str - The API endpoint URL.
  • requests_settings RequestsSettings - Settings for HTTP requests.
Attributes:
  • read_timeout int - Timeout for read operations.
  • write_timeout int - Timeout for write operations.
  • connect_timeout int - Timeout for connection operations.
  • endpoint str - The API endpoint URL.
  • requests_settings RequestsSettings - Settings for HTTP requests.

define_headers

@abstractmethod
def define_headers(resource_id: Optional[str], resource_type: Optional[str],
                   data: str) -> Dict[str, Any]
Define headers for a request. Arguments:
  • resource_id Optional[str] - The resource ID.
  • resource_type Optional[str] - The resource type.
  • data str - The request data.
Returns: Dict[str, Any]: A dictionary of headers.

define_headers_v2

@abstractmethod
def define_headers_v2(request: PreparedRequest) -> PreparedRequest
Define headers for a request (v2). Arguments:
  • request PreparedRequest - The prepared request.
Returns:
  • PreparedRequest - The prepared request with headers defined.

UserConfig Objects

class UserConfig(BaseConfig)
Configuration for user-specific requests, redirecting to the β€œ/public/user” endpoint. Arguments:
  • config Config - The base configuration.
Attributes:
  • config Config - The base configuration.

domain

@property
def domain() -> str
Get the domain from the base configuration. Returns:
  • str - The domain.

define_headers

def define_headers(resource_id: Optional[str], resource_type: Optional[str],
                   data: str) -> Dict[str, Any]
Define headers for a user-specific request. Arguments:
  • resource_id Optional[str] - The resource ID.
  • resource_type Optional[str] - The resource type.
  • data str - The request data.
Returns: Dict[str, Any]: A dictionary of headers.

define_headers_v2

def define_headers_v2(request: PreparedRequest) -> PreparedRequest
Define headers for a user-specific request (v2). Arguments:
  • request PreparedRequest - The prepared request.
Returns:
  • PreparedRequest - The prepared request with headers defined.

Config Objects

class Config(BaseConfig)
Configuration defining endpoint, project ID, API key, and timeouts. Arguments:
  • web_file_path str - The web file path for the endpoint.
  • domain Optional[str] - The domain.
  • requests_settings RequestsSettings - Settings for HTTP requests.
Attributes:
  • domain str - The domain.

get_env_ssh_key

def get_env_ssh_key() -> str
Get the raw SSH key from environment variables. Returns:
  • str - The raw SSH key.
Raises:
  • ResourceNotFoundError - If the SSH key file or key is not found or is empty.

SshConfig Objects

class SshConfig(Config)
Configuration for SSH key-based authorization. Arguments:
  • private_key Ed25519PrivateKey - The private SSH key.
  • domain str - The domain.
  • requests_settings RequestsSettings - Settings for HTTP requests.
Attributes:
  • private_key Ed25519PrivateKey - The private SSH key.
  • public_key Ed25519PublicKey - The public SSH key.
  • public_key_hex str - The public key in hexadecimal format.

define_headers

def define_headers(resource_id: Optional[str], resource_type: Optional[str],
                   data: str) -> Dict[str, Any]
Define headers for an SSH key-based request. Arguments:
  • resource_id Optional[str] - The resource ID.
  • resource_type Optional[str] - The resource type.
  • data str - The request data.
Returns: Dict[str, Any]: A dictionary of headers.

define_headers_v2

def define_headers_v2(request: PreparedRequest) -> PreparedRequest
Define headers for an SSH key-based request (v2). Arguments:
  • request PreparedRequest - The prepared request.
Returns:
  • PreparedRequest - The prepared request with headers defined.

from_ssh_private_key

@staticmethod
def from_ssh_private_key(
        ssh_private_key: str,
        password: Optional[str] = "",
        requests_settings: RequestsSettings = DEFAULT_REQUESTS_SETTINGS,
        domain: str = ENCORD_DOMAIN,
        **kwargs) -> SshConfig
Instantiate a SshConfig object by the content of a private SSH key. Arguments:
  • ssh_private_key - The content of a private key file.
  • password - The password for the private key file.
  • requests_settings - The requests settings for all outgoing network requests.
  • domain - Base domain for the endpoints
Returns:
  • SshConfig - The SSH configuration.
Raises:
  • ValueError - If the provided key content is not of the correct format.

BearerConfig Objects

class BearerConfig(Config)
Configuration for bearer token-based authorization. Arguments:
  • token str - The bearer token.
  • domain str - The domain.
  • requests_settings RequestsSettings - Settings for HTTP requests.
Attributes:
  • token str - The bearer token.

define_headers

def define_headers(resource_id: Optional[str], resource_type: Optional[str],
                   data: str) -> Dict[str, Any]
Define headers for a bearer token-based request. Arguments:
  • resource_id Optional[str] - The resource ID.
  • resource_type Optional[str] - The resource type.
  • data str - The request data.
Returns: Dict[str, Any]: A dictionary of headers.

define_headers_v2

def define_headers_v2(request: PreparedRequest) -> PreparedRequest
Define headers for a bearer token-based request (v2). Arguments:
  • request PreparedRequest - The prepared request.
Returns:
  • PreparedRequest - The prepared request with headers defined.

from_bearer_token

@staticmethod
def from_bearer_token(
        token: str,
        requests_settings: RequestsSettings = DEFAULT_REQUESTS_SETTINGS,
        domain: str = ENCORD_DOMAIN,
        **kwargs) -> BearerConfig
Instantiate a BearerConfig object using a bearer token. Arguments:
  • token - The bearer token.
  • requests_settings - The requests settings for all outgoing network requests.
  • domain - Base domain for the endpoints
Returns:
  • BearerConfig - The bearer token configuration.