Functions and other objects can be passed, which implies a push when the function is passed to apply.
This relieves one of the most common complaints in IPython.parallel - allowing multi-function tasks without a push call for the intermediate functions.
def baz(c, d):
return bar(c) - bar(d)
view.apply_sync(baz, 4, 5)
Pinging @ogrisel as the source of the idea at PyData.
support non-modules in @require
test new @require behavior
It looks good to me. I would like to pull from your branch to give it a try but the Hyatt wifi is failing me...
remove unnecessary double-uncan for @require
add hook to CannedObject
so that additional post-processing can happen on uncanning
use canning hook in dependent
allows the dependency function to be called even before the real task arguments are unpacked.
docstring for CannedObject.__init__
related to ipython/ipython#2489 ?
This is not really related to #2489, other than being an improvement in what objects can be sent and when.
I have ran the test suite locally under python 2.7 (passed), tried some examples in the notebook and looked through the code. Looks like a nice improvement. I am +1 on merging.