Skip to content

Client

class Client(
*,
url: str = "https://api.tilebox.com",
token: str | None = None,
name: str | None = None,
client_id: UUID | None = None,
transport: Literal["grpc", "http1"] = "grpc",
)

Create a Tilebox workflows client.

url str

Tilebox API Url. Defaults to https://api.tilebox.com.

token str | None

The API key to authenticate with. If not set, the TILEBOX_API_KEY environment variable is used.

name str | None

Optional service name for workflow telemetry. If not set, the default service name is used.

client_id UUID | None

Optional stable ID used to scope internal loggers. If not set, a random ID is generated.

transport Literal["grpc", "http1"]

Network transport to use for API requests. Defaults to "grpc". Use "http1" to force the Connect protocol over HTTP/1.1 on networks that do not support gRPC over HTTP/2 correctly.

The workflows client exposes sub clients for interacting with different parts of the Tilebox workflows API.

def Client.jobs() -> JobClient

A client for interacting with jobs.

def Client.clusters() -> ClusterClient

A client for managing clusters.

def Client.workflows() -> WorkflowClient

A client for managing workflows and workflow release deployments.

def Client.automations() -> AutomationClient

A client for scheduling automations.

def Client.configure_logging(
level: int | logging.Logger,
runner_level: int | None = None,
) -> None

Configure which task and runner logs this client exports. See Client.configure_logging.

def Client.runner(...) -> TaskRunner

A client is also used to instantiate runners. Check out the Client.runner API reference for more information.