Connecting a streaming data source to bokeh server


I have a currently running process which periodically produces new batches of data at regular time intervals. Also, I have a currently running bokeh server. I wondered what is the best practice for connecting these together, so that I can passively look at the visualization and see the various plots spontaneously update.

I saw a few posts over the last few years - one suggesting using zmq, another AjaxDataSource. From my understanding, the AjaxDataSource would require a separate server process to provide the REST endpoint. zmq seems more low level. It didn’t seem like there was a strong consensus on how best to approach this problem.

One question is, is it better to have the bokeh server periodically poll the third party somehow, or is it possible to “push” new batches of data to the server somehow?

Another thing I would like is for the updates to the data to be decoupled from any particular visualizations, if this is possible.

Thanks very much!

1 Like