Skip to content

Widgets

Catalogue, rows, and detail surface shared by consumer-owned pages.

Workbench

Workbench(labels: WorkbenchLabels | None = None)

Bases: Widget

Shared page surface with navigation left and rows/detail right.

catalogue property

catalogue: Tree[Any]

labels instance-attribute

labels = labels or WorkbenchLabels()

rows_table property

rows_table: DataTable[Any]

sections property

sections: OptionList

selection_table property

selection_table: SelectionList[str]

SelectionChanged

SelectionChanged(
    workbench: Workbench,
    row_key: str,
    selected_keys: tuple[str, ...],
)

Bases: Message

Posted when a workbench-owned selection table changes selected row keys.

control property

control: Workbench

row_key instance-attribute

row_key = row_key

selected_keys instance-attribute

selected_keys = selected_keys

workbench instance-attribute

workbench = workbench

SelectionHighlighted

SelectionHighlighted(workbench: Workbench, row_key: str)

Bases: Message

Posted when the highlighted row changes in a selection table.

control property

control: Workbench

row_key instance-attribute

row_key = row_key

workbench instance-attribute

workbench = workbench

action_key

action_key(button_id: str | None) -> str | None

compose

compose() -> ComposeResult

on_mount

on_mount() -> None

on_selection_list_selection_highlighted

on_selection_list_selection_highlighted(
    event: SelectionHighlighted[str],
) -> None

on_selection_list_selection_toggled

on_selection_list_selection_toggled(
    event: SelectionToggled[str],
) -> None

populate_catalogue

populate_catalogue(items: Sequence[CatalogueItem]) -> None

set_status

set_status(status: SemanticStatus | str) -> None

set_summary

set_summary(title: str, message: str | None = None) -> None

show_actions

show_actions(actions: Sequence[ViewAction]) -> None

show_context_table

show_context_table(
    rows: Iterable[tuple[str, str]],
    *,
    columns: tuple[str, ...] | None = None,
) -> None

show_detail

show_detail(detail: DetailView) -> None

show_detail_table

show_detail_table(detail: TableView) -> None

show_empty

show_empty(view: EmptyView) -> None

show_loading

show_loading(view: LoadingView) -> None

show_navigation

show_navigation(navigation: PageNavigation) -> None

show_rows

show_rows(
    view: TableView, *, select_first: bool = True
) -> None

show_selection_rows

show_selection_rows(
    view: SelectionTableView,
    *,
    highlight_first: bool = True,
) -> None

show_surface

show_surface(view: SurfaceView) -> None

show_tree

show_tree(view: TreeView) -> None

Small stateless widgets used by the shared workbench.

EmptyState

Bases: Static

Placeholder shown where rows would otherwise be rendered.

hide_empty

hide_empty() -> None

show_empty

show_empty(
    message: str, *, command: str | None = None
) -> None

LoadingState

Bases: Static

Frame-driven loading indicator.

FRAMES class-attribute instance-attribute

FRAMES = ('|', '/', '-', '\\')

hide_loading

hide_loading() -> None

show_loading

show_loading(
    message: str,
    *,
    detail: str | None = None,
    command: str | None = None,
    frame: int = 0,
) -> None

Textual widgets that render normalized telemetry snapshots.

TelemetryMetricGrid

Bases: Static

Capability-aware metric grid driven by normalized snapshots.

render_snapshot

render_snapshot(snapshot: TelemetrySnapshot) -> None