def new_main(): from codetools.contexts.api import DataContext from blockcanvas.app.experiment import Experiment code2 = "from blockcanvas.debug.my_operator import add, mul\n" \ "c = mul(a,b)\n" \ "d = mul(c, 2)\n" \ "e = mul(c, 3)\n" \ "f = add(d,e)" context = DataContext(name='data') context.update(dict(a=2, b=3)) exp = Experiment(code=code2, shared_context=context) interactor = ShadowInteractor(inputs=exp.exec_model.block.inputs, context=exp.context) interactor.configure_traits() from pprint import pprint print "***** Experiment executing context *****" pprint(exp.context.items()) print "\n***** Shared context *****" pprint(context.items())