Real-time terminal dashboard for monitoring parallel Cython compilation across all factory sets.
CompileTUI is a Rich-based TUI dashboard launched by ObjCompile.compile_build() when the all CLI command is used. It displays per-process compilation progress, overall statistics, and a live log panel.
┌─────────────────────────── Header ───────────────────────────────┐
│ ♥ ⚡ Axion Compiler Monitor | Factories: 3/20 | Elapsed: 0:01:23 │
├──────────────┬───────────────────────────────────────────────────┤
│ Sidebar │ Processes (top) │
│ ├───────────────────────────────────────────────────┤
│ Summary │ Log (bottom) │
│ Stats │ │
│ + bar │ │
├──────────────┴───────────────────────────────────────────────────┤
│ Footer / Status │
└──────────────────────────────────────────────────────────────────┘
compile_build() creates a multiprocessing.Manager dict and passes it to both CompileTUI.attach_progress() and _compile_worker. Workers update the dict with their status, PID, and start/end timestamps. The TUI polls the dict on each refresh cycle.
Progress bars within each factory set are inferred from the build filesystem: .py source files are deleted by compile_factory() after Cython compiles them, so the ratio of deleted files to the original count gives per-process progress.
Instantiated automatically by the all CLI command in ObjCompile.py. Not intended for direct use.
| Method | Description |
|---|---|
__init__(build_space) |
Initialise with the staged build directory path |
attach_progress(progress_dict, factory_sets) |
Register shared Manager dict; pre-count .py files per factory set |
start() |
Start the Live display and background update thread |
stop() |
Stop the update thread and restore the terminal |
log(message, level) |
Append a timestamped entry to the log panel |
set_status(message) |
Update the footer status line |