Skip to main content
class Client(
    *,
    url: str = "https://api.tilebox.com",
    token: str | None = None,
    name: str | None = None,
    client_id: UUID | None = None,
)
Create a Tilebox workflows client.

Parameters

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.

Sub clients

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.automations() -> AutomationClient
A client for scheduling automations.

Logging

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.

Runners

def Client.runner(...) -> TaskRunner
A client is also used to instantiate runners. Check out the Client.runner API reference for more information.
from tilebox.workflows import Client

# read token from an environment variable
client = Client()

# or provide connection details directly
client = Client(
    url="https://api.tilebox.com",
    token="YOUR_TILEBOX_API_KEY",
    name="sentinel-2-runner",
)

# access sub clients
job_client = client.jobs()
cluster_client = client.clusters()
automation_client = client.automations()

# or instantiate a runner
runner = client.runner(tasks=[...])