from IPython import parallel rc = parallel.Client() dv = rc[:] rc.ids %px a=5 %px print a %px a with dv.sync_imports(): import sys %px print >> sys.stderr, "ERROR" %pxconfig --noblock %px import time %px time.sleep(5) %px time.time() %pxresult %pxconfig --block %px %pylab inline dv.scatter('id', dv.targets, flatten=True) dv['stride'] = len(dv) %%px --noblock x = linspace(0,pi,1000) for n in range(id,12, stride): print n plt.plot(x,sin(n*x)) plt.title("Plot %i" % id) %pxresult %%px --group-outputs=engine x = linspace(0,pi,1000) for n in range(id+1,12, stride): print n plt.figure() plt.plot(x,sin(n*x)) plt.title("Plot %i" % n) %pxresult --group-outputs=order def generate_output(): """function for testing output publishes two outputs of each type, and returns something """ import sys,os from IPython.core.display import display, HTML, Math print "stdout" print >> sys.stderr, "stderr" display(HTML("HTML")) print "stdout2" print >> sys.stderr, "stderr2" display(Math(r"\alpha=\beta")) return os.getpid() dv['generate_output'] = generate_output e0 = rc[-1] e0.block = True e0.activate('0') %px0 generate_output() %px generate_output() %pxresult --group-outputs order %pxresult --group-outputs engine %%px from numpy.random import random A = random((100,100,'invalid shape')) %%px %%timeit from numpy.random import random from numpy.linalg import norm A = random((100,100)) norm(A, 2)