Skip to content

sift_client.transport

MODULE DESCRIPTION
base_connection
grpc_transport

Transport layer for gRPC communication.

rest_transport

Transport layer for REST communication.

CLASS DESCRIPTION
GrpcClient

A simple wrapper around sift_py/grpc/transport.py for making gRPC API calls.

GrpcConfig

Configuration for gRPC API clients.

RestClient

A client wrapper for REST APIs.

RestConfig

Configuration for REST API clients.

SiftConnectionConfig

Configuration for Grpc and Rest connections.

WithGrpcClient

Abstract base class for classes that require a gRPC client.

WithRestClient

Abstract base class for classes that require a REST client.

GrpcClient

GrpcClient(config: GrpcConfig)

A simple wrapper around sift_py/grpc/transport.py for making gRPC API calls.

This class just stores the channel and the stubs, without any additional functionality.

Initialize the gRPC client.

PARAMETER DESCRIPTION
config

The gRPC client configuration.

TYPE: GrpcConfig

METHOD DESCRIPTION
close

Close sync and async channels and stop the default loop.

close_sync

Close the sync channel and all async channels.

get_stub

Get an async stub bound to the current event loop.

ATTRIBUTE DESCRIPTION
default_loop

Return the default event loop used for synchronous API operations.

TYPE: AbstractEventLoop

default_loop property

default_loop: AbstractEventLoop

Return the default event loop used for synchronous API operations.

RETURNS DESCRIPTION
AbstractEventLoop

The default asyncio event loop.

close async

close()

Close sync and async channels and stop the default loop.

close_sync

close_sync()

Close the sync channel and all async channels.

get_stub

get_stub(stub_class: type[Any]) -> Any

Get an async stub bound to the current event loop. Creates a channel and stub for this loop if needed.

GrpcConfig

GrpcConfig(
    url: str,
    api_key: str,
    use_ssl: bool = True,
    cert_via_openssl: bool = False,
    metadata: dict[str, str] | None = None,
)

Configuration for gRPC API clients.

Initialize the gRPC configuration.

PARAMETER DESCRIPTION
url

The URI of the gRPC server.

TYPE: str

api_key

The API key for authentication.

TYPE: str

use_ssl

Whether to use SSL/TLS.

TYPE: bool DEFAULT: True

cert_via_openssl

Whether to use OpenSSL for SSL/TLS.

TYPE: bool DEFAULT: False

use_async

Whether to use async gRPC client.

metadata

Additional metadata to include in all requests.

TYPE: dict[str, str] | None DEFAULT: None

ATTRIBUTE DESCRIPTION
api_key

cert_via_openssl

metadata

uri

use_ssl

api_key instance-attribute

api_key = api_key

cert_via_openssl instance-attribute

cert_via_openssl = cert_via_openssl

metadata instance-attribute

metadata = metadata or {}

uri instance-attribute

uri = normalized_url

use_ssl instance-attribute

use_ssl = use_ssl

RestClient

RestClient(config: RestConfig)

A client wrapper for REST APIs.

This class provides a wrapper around sift_py/rest.py for making REST API calls. It handles authentication, retries, and error mapping.

Initialize the REST client.

PARAMETER DESCRIPTION
config

The REST client configuration.

TYPE: RestConfig

METHOD DESCRIPTION
close

Close the REST client session.

delete

Execute a DELETE request.

get

Execute a GET request.

patch

Execute a PATCH request.

post

Execute a POST request.

put

Execute a PUT request.

ATTRIBUTE DESCRIPTION
base_url

Get the base URL of the REST client.

TYPE: str

base_url property

base_url: str

Get the base URL of the REST client.

RETURNS DESCRIPTION
str

The base URL string.

close

close() -> None

Close the REST client session.

delete

delete(
    endpoint: str, headers: dict | None = None, **kwargs
) -> Response

Execute a DELETE request.

PARAMETER DESCRIPTION
endpoint

The API endpoint to call.

TYPE: str

headers

Additional headers to include in the request.

TYPE: dict | None DEFAULT: None

**kwargs

Additional arguments to pass to the request.

DEFAULT: {}

RETURNS DESCRIPTION
Response

The HTTP response.

get

get(
    endpoint: str, headers: dict | None = None, **kwargs
) -> Response

Execute a GET request.

PARAMETER DESCRIPTION
endpoint

The API endpoint to call.

TYPE: str

headers

Additional headers to include in the request.

TYPE: dict | None DEFAULT: None

**kwargs

Additional arguments to pass to the request.

DEFAULT: {}

RETURNS DESCRIPTION
Response

The HTTP response.

patch

patch(
    endpoint: str,
    headers: dict | None = None,
    data=None,
    **kwargs,
) -> Response

Execute a PATCH request.

PARAMETER DESCRIPTION
endpoint

The API endpoint to call.

TYPE: str

headers

Additional headers to include in the request.

TYPE: dict | None DEFAULT: None

data

The data to send in the request body.

DEFAULT: None

**kwargs

Additional arguments to pass to the request.

DEFAULT: {}

RETURNS DESCRIPTION
Response

The HTTP response.

post

post(
    endpoint: str,
    headers: dict | None = None,
    data=None,
    **kwargs,
) -> Response

Execute a POST request.

PARAMETER DESCRIPTION
endpoint

The API endpoint to call.

TYPE: str

headers

Additional headers to include in the request.

TYPE: dict | None DEFAULT: None

data

The data to send in the request body.

DEFAULT: None

**kwargs

Additional arguments to pass to the request.

DEFAULT: {}

RETURNS DESCRIPTION
Response

The HTTP response.

put

put(
    endpoint: str,
    headers: dict | None = None,
    data=None,
    **kwargs,
) -> Response

Execute a PUT request.

PARAMETER DESCRIPTION
endpoint

The API endpoint to call.

TYPE: str

headers

Additional headers to include in the request.

TYPE: dict | None DEFAULT: None

data

The data to send in the request body.

DEFAULT: None

**kwargs

Additional arguments to pass to the request.

DEFAULT: {}

RETURNS DESCRIPTION
Response

The HTTP response.

RestConfig

RestConfig(
    base_url: str,
    api_key: str,
    use_ssl: bool = True,
    cert_via_openssl: bool = False,
    retry: Retry = _DEFAULT_REST_RETRY,
)

Configuration for REST API clients.

Initialize the REST configuration.

PARAMETER DESCRIPTION
base_url

The base URL of the API.

TYPE: str

api_key

The API key for authentication.

TYPE: str

use_ssl

Whether to use HTTPS.

TYPE: bool DEFAULT: True

cert_via_openssl

Whether to use OpenSSL for SSL/TLS.

TYPE: bool DEFAULT: False

retry

The retry configuration for requests.

TYPE: Retry DEFAULT: _DEFAULT_REST_RETRY

ATTRIBUTE DESCRIPTION
api_key

base_url

cert_via_openssl

retry

use_ssl

api_key instance-attribute

api_key = api_key

base_url instance-attribute

base_url = base_url

cert_via_openssl instance-attribute

cert_via_openssl = cert_via_openssl

retry instance-attribute

retry = retry

use_ssl instance-attribute

use_ssl = use_ssl

SiftConnectionConfig

SiftConnectionConfig(
    grpc_url: str,
    rest_url: str,
    api_key: str,
    use_ssl: bool = True,
    cert_via_openssl: bool = False,
)

Configuration for Grpc and Rest connections.

This class provides a unified configuration for both gRPC and REST connections, allowing for consistent settings across different transport protocols.

Initialize the connection configuration.

PARAMETER DESCRIPTION
grpc_url

The URL for the gRPC service.

TYPE: str

rest_url

The URL for the REST service.

TYPE: str

api_key

The API key for authentication.

TYPE: str

use_ssl

Whether to use SSL/TLS for secure connections.

TYPE: bool DEFAULT: True

cert_via_openssl

Whether to use OpenSSL for certificate validation.

TYPE: bool DEFAULT: False

METHOD DESCRIPTION
get_grpc_config

Create and return a GrpcConfig with the current settings.

get_rest_config

Create and return a RestConfig with the current settings.

ATTRIBUTE DESCRIPTION
api_key

cert_via_openssl

grpc_url

rest_url

use_ssl

api_key instance-attribute

api_key = api_key

cert_via_openssl instance-attribute

cert_via_openssl = cert_via_openssl

grpc_url instance-attribute

grpc_url = grpc_url

rest_url instance-attribute

rest_url = rest_url

use_ssl instance-attribute

use_ssl = use_ssl

get_grpc_config

get_grpc_config()

Create and return a GrpcConfig with the current settings.

RETURNS DESCRIPTION

A GrpcConfig object configured with this instance's settings.

get_rest_config

get_rest_config()

Create and return a RestConfig with the current settings.

RETURNS DESCRIPTION

A RestConfig object configured with this instance's settings.

WithGrpcClient

WithGrpcClient(grpc_client: GrpcClient)

Bases: ABC

Abstract base class for classes that require a gRPC client.

This class provides access to a gRPC client for making API calls.

Initialize with a gRPC client.

PARAMETER DESCRIPTION
grpc_client

The gRPC client to use for API calls.

TYPE: GrpcClient

METHOD DESCRIPTION
get_asyncio_loop

Gets the default asyncio loop used by the gRPC client.

get_asyncio_loop

get_asyncio_loop() -> AbstractEventLoop

Gets the default asyncio loop used by the gRPC client.

RETURNS DESCRIPTION
AbstractEventLoop

The default asyncio loop.

WithRestClient

WithRestClient(rest_client: RestClient)

Bases: ABC

Abstract base class for classes that require a REST client.

This class provides access to a REST client for making API calls.

Initialize with a REST client.

PARAMETER DESCRIPTION
rest_client

The REST client to use for API calls.

TYPE: RestClient