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
Tilebox API Url. Defaults to https://api.tilebox.com.
The API key to authenticate with. If not set, the TILEBOX_API_KEY environment variable is used.
Optional service name for workflow telemetry. If not set, the default service name is used.
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=[...])