Skip to content

Statuses

client.statuses reads what the dashboard’s Running page shows: ingests, check runs, training jobs and pipeline runs that are queued or running, and work that ended recently. Each item is a qualia.v1.Status, one operation rebuilt from its latest state change. Work is named under its workspace, accounts/{a}/workspaces/{w}/statuses/{operation}, or under the organization for the organization’s own work. accounts/{a}/statuses/{operation} reads any of them.

from datetime import timedelta
from qualia import Qualia
client = Qualia()
page = client.statuses.list(filter="state = QUEUED OR state = RUNNING")
for status in page.items:
progress = status.progress
print(status.operation, status.kind, status.state,
progress and f"{progress.phase} {progress.done}/{progress.total}")
whole_org = client.statuses.list(organization=True, recent=timedelta(days=7))
ArgumentDescription
parentA workspace ID or accounts/{a}/workspaces/{w}. Defaults to the workspace the client acts in.
organizationTrue lists the whole organization: every workspace’s work and the organization’s own.
recentHow far back ended work goes, as a timedelta or seconds. Default 24 hours, at most 90 days.
filterAIP-160 on state, kind and service, e.g. service = "pipeline" AND state != FAILED. OR binds tighter than AND.
limitPage size; the server’s default is 100, its maximum 500.
cursorpage.page_info.end_cursor of the previous page.

The list is a PaginatedPage; follow page.page_info.end_cursor while page.page_info.has_next. Pages follow the order at each read, so work that changes between reads may show on two pages or on neither.

A key restricted to workspaces can neither list nor cancel work.

status = client.statuses.cancel(status.name)
# or by operation ID, read through the organization
status = client.statuses.cancel("3f2b8c1e-7d4a-4e9b-9c2f-0a6e5d1b8f47")

cancel asks the service that runs the work to stop it and returns once the service accepted. The status still reads as before; it turns CANCELLED a moment later. It needs jobs:write and a contributor role on the work’s workspace, whichever name you pass. Work that has ended, or whose kind cannot be cancelled (status.cancellable is false), is refused.

The CLI has the same: qualia status list and qualia status cancel.