stormlog.tui.widgets

Textual widgets composed by the GPU profiler TUI.

class stormlog.tui.widgets.AlertHistoryTable(*args, **kwargs)[source]

Bases: DataTable

Table displaying recent alerts.

Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Any

on_mount()[source]
Return type:

None

update_rows(events)[source]
Parameters:

events (List[dict])

Return type:

None

class stormlog.tui.widgets.AnomalySummaryTable(*args, **kwargs)[source]

Bases: DataTable

Table displaying first-cause anomaly indicators.

Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Any

on_mount()[source]
Return type:

None

update_rows(indicators)[source]
Parameters:

indicators (list[AnomalyIndicator])

Return type:

None

class stormlog.tui.widgets.AsciiWelcome(*args, **kwargs)[source]

Bases: Static

Animated ASCII welcome banner, uses pyfiglet when available.

Parameters:
  • messages (list[str])

  • font (str)

  • interval (float)

  • figlet_cls (Any | None)

  • logger (logging.Logger | None)

  • kwargs (Any)

on_mount()[source]
Return type:

None

class stormlog.tui.widgets.DistributedRankTable(*args, **kwargs)[source]

Bases: DataTable

Table displaying per-rank distributed diagnostics metrics.

Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Any

on_mount()[source]
Return type:

None

update_rows(rows)[source]
Parameters:

rows (list[RankDiagnosticsRow])

Return type:

None

static rank_from_row_key(row_key)[source]
Parameters:

row_key (Any)

Return type:

int | None

class stormlog.tui.widgets.DistributedTimelineCanvas(*args, **kwargs)[source]

Bases: Static

ASCII renderer for comparing per-rank timeline trends.

Parameters:
  • width (int)

  • max_ranks (int)

  • kwargs (Any)

render_rank_timelines(timelines, active_rank=None, markers_by_rank=None)[source]
Parameters:
  • timelines (dict[int, dict[str, list[int]]])

  • active_rank (int | None)

  • markers_by_rank (Mapping[int, Sequence[TimelineMarker]] | None)

Return type:

None

render_placeholder(message)[source]
Parameters:

message (str)

Return type:

None

class stormlog.tui.widgets.GPUStatsTable(*args, **kwargs)[source]

Bases: DataTable

Live-updating table of GPU stats.

Parameters:
  • title (str)

  • provider (Callable[[], list[dict[str, Any]]])

  • refresh_interval (float)

on_mount()[source]
Return type:

None

refresh_rows()[source]
Return type:

None

class stormlog.tui.widgets.KeyValueTable(*args, **kwargs)[source]

Bases: DataTable

Simple key/value table for monitoring stats.

Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Any

on_mount()[source]
Return type:

None

class stormlog.tui.widgets.MarkdownPanel(*args, **kwargs)[source]

Bases: Markdown

Reusable Markdown panel with refresh support.

Parameters:
  • builder (Callable[[], str])

  • kwargs (Any)

refresh_content()[source]
Return type:

None

on_mount()[source]
Return type:

None

class stormlog.tui.widgets.ProfileResultsTable(*args, **kwargs)[source]

Bases: DataTable

Reusable table for displaying profile summaries.

Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Any

on_mount()[source]
Return type:

None

update_rows(rows)[source]
Parameters:

rows (List[ProfileRow])

Return type:

None

class stormlog.tui.widgets.TimelineCanvas(*args, **kwargs)[source]

Bases: Static

ASCII timeline renderer for quick visual feedback.

Parameters:
  • width (int)

  • height (int)

  • kwargs (Any)

render_timeline(timeline)[source]
Parameters:

timeline (dict[str, Any])

Return type:

None

render_placeholder(message)[source]
Parameters:

message (str)

Return type:

None

Modules

panels

Markdown panel widgets used by the Textual TUI.

tables

Table widgets used by the Textual TUI.

timeline

Timeline widgets used by the Textual TUI.

welcome

Welcome banner widget used by the Textual TUI.