'Transfer an object by value to the remote host (the object must be picklable)
and return a proxy for the new remote object.'

def transfer(self, obj, **kwds):

    if (obj.__class__ is np.ndarray):
        opts = {'dtype': obj.dtype, 'shape': obj.shape}
        return self.send(request='transferArray', opts=opts, byteData=[obj], **kwds)
    else:
        return self.send(request='transfer', opts=dict(obj=obj), **kwds)
