kempnerpulse.lifecycle¶
Cross-cutting lifecycle — run the Read → Translate → Compute → Present pipeline.
This is the only module that owns the process lifecycle: it builds the backend, translator, and per-GPU compute state; drives the live TUI / one-shot / CSV export modes; and centralizes signal handling and teardown. Each sampling tick flows Read (RawRecord) → Translate (CanonicalRecord) → Compute (ComputedRecord) → Present (render / CSV).
Functions
|
Validate, identify hardware, build the pipeline, and dispatch a run mode. |
Classes
Translate + Compute a tick of RawRecords into sorted ComputedRecords. |
|
Runs a backend's tick stream in a daemon thread; publishes the latest tick. |
- class kempnerpulse.lifecycle.ThreadedTickReader[source]¶
Bases:
objectRuns a backend’s tick stream in a daemon thread; publishes the latest tick.
The live TUI needs to read input and render while waiting for the next sample, so the blocking tick stream runs off-thread and the newest tick is published under a condition variable with a monotonically increasing counter.