kempnerpulse.present.format

Display formatting, styling, and canonical→display unit conversion.

The Present layer renders ComputedRecord objects whose metric values are canonical: ratios in [0, 1], throughputs in bytes/second, energy in joules, and so on. Display, however, wants percents, GB/s, and watts. The converters here are the single place that bridge the two: a presenter never multiplies by 100 inline, it calls fraction_to_percent(). None (an unavailable reading) always maps to None and renders as -- — never coerced to 0.

The fmt_* formatters and *_style colour helpers are ported verbatim from the single-file implementation so the rendered output is byte-for-byte familiar.

Functions

bytes_per_second_to_gigabytes(value)

A bytes/second throughput → GB/s (decimal, ÷1e9).

fmt_bytes_per_s(v)

fmt_duration(seconds, *[, signed])

Compact duration label that picks units to keep the number readable.

fmt_gbps(v[, digits])

fmt_joules(v)

fmt_mhz(v)

fmt_mib(v)

fmt_num(v[, digits])

fmt_pct(v[, digits])

fmt_temp(v)

fmt_watts(v)

fraction_to_percent(value)

A [0, 1] fraction → a [0, 100] percent, clamped defensively.

get_temp_thresholds([model_name])

Return the warning/critical temperature thresholds for a GPU model.

io_rate_style_gbps(v)

make_bar(pct[, width, style_override])

A fixed-width horizontal bar for a [0, 100] percent value.

millijoules_to_joules(value)

Cumulative millijoules → joules.

nvlink_util_style(gbps, limit_gbps)

Colour an NVLink value by % of its theoretical max (usage_style scale).

power_style(w)

sparkline(values[, width, vmax])

A unicode-block sparkline of values rendered into width columns.

temp_style(t[, model_name])

usage_style(p)

kempnerpulse.present.format.get_temp_thresholds(model_name=None)[source]

Return the warning/critical temperature thresholds for a GPU model.

Parameters:

model_name (str | None)

Return type:

Dict[str, int]

kempnerpulse.present.format.fraction_to_percent(value)[source]

A [0, 1] fraction → a [0, 100] percent, clamped defensively.

Parameters:

value (float | None)

Return type:

float | None

kempnerpulse.present.format.bytes_per_second_to_gigabytes(value)[source]

A bytes/second throughput → GB/s (decimal, ÷1e9).

Applied to NVLink and PCIe alike. NVLink GB/s computed this way equals the legacy MB/s ÷ 1e3 figure, since the canonical NVLink rate is the legacy MB/s gauge × 1e6.

Parameters:

value (float | None)

Return type:

float | None

kempnerpulse.present.format.millijoules_to_joules(value)[source]

Cumulative millijoules → joules. (Canonical energy is already joules.)

Parameters:

value (float | None)

Return type:

float | None

kempnerpulse.present.format.fmt_pct(v, digits=0)[source]
Parameters:
Return type:

str

kempnerpulse.present.format.fmt_num(v, digits=1)[source]
Parameters:
Return type:

str

kempnerpulse.present.format.fmt_temp(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_watts(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_mhz(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_mib(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_bytes_per_s(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_gbps(v, digits=2)[source]
Parameters:
Return type:

str

kempnerpulse.present.format.fmt_joules(v)[source]
Parameters:

v (float | None)

Return type:

str

kempnerpulse.present.format.fmt_duration(seconds, *, signed=False)[source]

Compact duration label that picks units to keep the number readable.

Used by the footer’s poll= indicator (always positive) and by the line-plot x-axis tick labels (which pass signed=True for offsets like -50ms relative to “now”).

Examples:

fmt_duration(1.0)    -> "1s"
fmt_duration(0.5)    -> "500ms"
fmt_duration(0.05)   -> "50ms"
fmt_duration(0.001)  -> "1ms"
fmt_duration(0.0)    -> "0s"
fmt_duration(-0.05, signed=True) -> "-50ms"
Parameters:
Return type:

str

kempnerpulse.present.format.usage_style(p)[source]
Parameters:

p (float | None)

Return type:

str

kempnerpulse.present.format.temp_style(t, model_name=None)[source]
Parameters:
  • t (float | None)

  • model_name (str | None)

Return type:

str

kempnerpulse.present.format.power_style(w)[source]
Parameters:

w (float | None)

Return type:

str

kempnerpulse.present.format.io_rate_style_gbps(v)[source]
Parameters:

v (float | None)

Return type:

str

Colour an NVLink value by % of its theoretical max (usage_style scale).

Parameters:
Return type:

str

kempnerpulse.present.format.sparkline(values, width=24, vmax=None)[source]

A unicode-block sparkline of values rendered into width columns.

Parameters:
Return type:

str

kempnerpulse.present.format.make_bar(pct, width=18, style_override=None)[source]

A fixed-width horizontal bar for a [0, 100] percent value.

Parameters:
  • pct (float | None)

  • width (int)

  • style_override (str | None)

Return type:

Text