Motivation: I'm interacting with a complex piece of HW via a Data Acquisition (DAQ) system. I would like to send complex interactive debugging control sequences to the DUT while also seeing status in one or more Rich Live Panels.
I would like to leverage Rich to handle the screen-update grunt-work.
Normally, I might try to run the Rich Live Panels in one Python process and the REPL in another (IPython), but the DAQ does not like sharing access with more than one process.
Is there an easy way to leverage Rich Live to keep my status information displayed in Live Panels while still having access to the power and flexibility of the Python REPL?
Alternately, is there another approach that would be as relatively easy-to-use as Rich?
from rich.live import Live
from rich.layout import Layout
from rich.panel import Panel
layout = Layout(name="root")
layout.split_column(Layout(name="Inputs panel"),
Layout(name="Outputs panel"),
Layout(name="REPL panel"),
)
layout["REPL panel"].size = 20
with Live(layout, refresh_per_second=1) as Live:
while True:
layout["Inputs panel"].update(input_panel())
layout["Ouputs panel"].update(output_panel())
layout["REPL panel"].???