%matplotlib inline from IPython.parallel import Client c = Client() dv = c[:] dv.block = False dv def publish_it(): from IPython.kernel.zmq.datapub import publish_data publish_data(dict(a='hi')) ar = dv.apply_async(publish_it) ar.data def simulation_loop(): from IPython.kernel.zmq.datapub import publish_data import time import numpy as np for i in range(10): publish_data(dict(a=np.random.rand(20), i=i)) time.sleep(1) ar = dv.apply_async(simulation_loop) import matplotlib.pyplot as plt data = ar.data for i, d in enumerate(data): plt.plot(d['a'], label='engine: '+str(i)) plt.title('Data published at time step: ' + str(data[0]['i'])) plt.legend()