Skip to content

sift_client.client

CLASS DESCRIPTION
SiftClient

SiftClient is a high-level client for interacting with Sift's APIs.

SiftClient

SiftClient(
    api_key: str | None = None,
    grpc_url: str | None = None,
    rest_url: str | None = None,
    connection_config: SiftConnectionConfig | None = None,
)

Bases: WithGrpcClient, WithRestClient

SiftClient is a high-level client for interacting with Sift's APIs.

It provides both synchronous and asynchronous interfaces, strong type checking, and a Pythonic API design.

Warning

The Sift Client is experimental and is subject to change.

To avoid unexpected breaking changes, pin the exact version of the sift-stack-py library in your dependencies (for example, in requirements.txt or pyproject.toml).

Initialize the SiftClient with specific connection parameters or a connection_config.

PARAMETER DESCRIPTION
api_key

The Sift API key for authentication.

TYPE: str | None DEFAULT: None

grpc_url

The Sift gRPC API URL.

TYPE: str | None DEFAULT: None

rest_url

The Sift REST API URL.

TYPE: str | None DEFAULT: None

connection_config

A SiftConnectionConfig object to configure the connection behavior of the SiftClient.

TYPE: SiftConnectionConfig | None DEFAULT: None

METHOD DESCRIPTION
get_asyncio_loop

Gets the default asyncio loop used by the gRPC client.

ATTRIBUTE DESCRIPTION
assets

Instance of the Assets API for making synchronous requests.

TYPE: AssetsAPI

async_

Accessor for the asynchronous APIs. All asynchronous APIs are available as attributes on this accessor.

TYPE: AsyncAPIs

calculated_channels

Instance of the Calculated Channels API for making synchronous requests.

TYPE: CalculatedChannelsAPI

channels

Instance of the Channels API for making synchronous requests.

TYPE: ChannelsAPI

file_attachments

Instance of the File Attachments API for making synchronous requests.

TYPE: FileAttachmentsAPI

grpc_client

The gRPC client used by the SiftClient for making gRPC API calls.

TYPE: GrpcClient

ingestion

Instance of the Ingestion API for making synchronous requests.

TYPE: IngestionAPIAsync

ping

Instance of the Ping API for making synchronous requests.

TYPE: PingAPI

reports

Instance of the Reports API for making synchronous requests.

TYPE: ReportsAPI

rest_client

The REST client used by the SiftClient for making REST API calls.

TYPE: RestClient

rules

Instance of the Rules API for making synchronous requests.

TYPE: RulesAPI

runs

Instance of the Runs API for making synchronous requests.

TYPE: RunsAPI

tags

Instance of the Tags API for making synchronous requests.

TYPE: TagsAPI

test_results

Instance of the Test Results API for making synchronous requests.

TYPE: TestResultsAPI

assets instance-attribute

assets: AssetsAPI = AssetsAPI(self)

Instance of the Assets API for making synchronous requests.

async_ instance-attribute

async_: AsyncAPIs = AsyncAPIs(
    ping=PingAPIAsync(self),
    assets=AssetsAPIAsync(self),
    calculated_channels=CalculatedChannelsAPIAsync(self),
    channels=ChannelsAPIAsync(self),
    file_attachments=FileAttachmentsAPIAsync(self),
    ingestion=IngestionAPIAsync(self),
    reports=ReportsAPIAsync(self),
    rules=RulesAPIAsync(self),
    runs=RunsAPIAsync(self),
    tags=TagsAPIAsync(self),
    test_results=TestResultsAPIAsync(self),
)

Accessor for the asynchronous APIs. All asynchronous APIs are available as attributes on this accessor.

calculated_channels instance-attribute

calculated_channels: CalculatedChannelsAPI = (
    CalculatedChannelsAPI(self)
)

Instance of the Calculated Channels API for making synchronous requests.

channels instance-attribute

channels: ChannelsAPI = ChannelsAPI(self)

Instance of the Channels API for making synchronous requests.

file_attachments instance-attribute

file_attachments: FileAttachmentsAPI = FileAttachmentsAPI(
    self
)

Instance of the File Attachments API for making synchronous requests.

grpc_client property

grpc_client: GrpcClient

The gRPC client used by the SiftClient for making gRPC API calls.

ingestion instance-attribute

ingestion: IngestionAPIAsync

Instance of the Ingestion API for making synchronous requests.

ping instance-attribute

ping: PingAPI = PingAPI(self)

Instance of the Ping API for making synchronous requests.

reports instance-attribute

reports: ReportsAPI = ReportsAPI(self)

Instance of the Reports API for making synchronous requests.

rest_client property

rest_client: RestClient

The REST client used by the SiftClient for making REST API calls.

rules instance-attribute

rules: RulesAPI = RulesAPI(self)

Instance of the Rules API for making synchronous requests.

runs instance-attribute

runs: RunsAPI = RunsAPI(self)

Instance of the Runs API for making synchronous requests.

tags instance-attribute

tags: TagsAPI = TagsAPI(self)

Instance of the Tags API for making synchronous requests.

test_results instance-attribute

test_results: TestResultsAPI = TestResultsAPI(self)

Instance of the Test Results API for making synchronous requests.

get_asyncio_loop

get_asyncio_loop() -> AbstractEventLoop

Gets the default asyncio loop used by the gRPC client.

RETURNS DESCRIPTION
AbstractEventLoop

The default asyncio loop.