You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Especially when using QueueServer, it would be useful to have a way to send progress information across a network, so that, e.g., motor moves, can be monitored remotely by arbitrary (and yet-to-be-written) programs or widgets.
The built-in Bluesky TerminalProgressBar only outputs to stdout, which may not always be desirable or sufficient, especially if a QueueServer is running on a VM, and the clients that would like to display progress are Qt Apps, Web apps, etc.
A KafkaProgressBar would be a bluesky ProgressBarBase subclass that sends progress info over the network, separate from other data streams like console output or documents. This could still leverage a library such as tqdm, but it may be more prudent to send the progress info (values, timestamps, labels) as a dictionary (which may naturally be passed into tqdm.format_meter), so that the raw values could also be shoved into any other progress bar in any target language/framework, rather than just passing tqdm formatted strings.
A corresponding KafkaProgressBarDispatcher could be implemented to subscribe to the stream, and dispatch progress messages to a desired output library (like tqdm, QProgressBar, etc). This could be implemented as an example in Qt and non-Qt versions, but could also be left for users to implement in their own programs (i.e, web-based GUIs)
To be determined
format of progress info
default stream name
if a KafkaProgressBarDispatcher should be implemented
Comments/Suggestions welcome
The text was updated successfully, but these errors were encountered:
Enhancement Idea
Especially when using QueueServer, it would be useful to have a way to send progress information across a network, so that, e.g., motor moves, can be monitored remotely by arbitrary (and yet-to-be-written) programs or widgets.
The built-in Bluesky
TerminalProgressBar
only outputs tostdout
, which may not always be desirable or sufficient, especially if aQueueServer
is running on a VM, and the clients that would like to display progress are Qt Apps, Web apps, etc.A
KafkaProgressBar
would be a blueskyProgressBarBase
subclass that sends progress info over the network, separate from other data streams like console output or documents. This could still leverage a library such astqdm
, but it may be more prudent to send the progress info (values, timestamps, labels) as a dictionary (which may naturally be passed intotqdm.format_meter
), so that the raw values could also be shoved into any other progress bar in any target language/framework, rather than just passingtqdm
formatted strings.A corresponding
KafkaProgressBarDispatcher
could be implemented to subscribe to the stream, and dispatch progress messages to a desired output library (liketqdm
,QProgressBar
, etc). This could be implemented as an example in Qt and non-Qt versions, but could also be left for users to implement in their own programs (i.e, web-based GUIs)To be determined
KafkaProgressBarDispatcher
should be implementedComments/Suggestions welcome
The text was updated successfully, but these errors were encountered: