Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: kernel.zmq.serialize
¶
serialization utilities for apply messages
4 Functions¶
-
IPython.kernel.zmq.serialize.
serialize_object
(obj, buffer_threshold=1024, item_threshold=64)¶ Serialize an object into a list of sendable buffers.
Parameters: obj : object
The object to be serialized
buffer_threshold : int
The threshold (in bytes) for pulling out data buffers to avoid pickling them.
item_threshold : int
The maximum number of items over which canning will iterate. Containers (lists, dicts) larger than this will be pickled without introspection.
Returns: [bufs] : list of buffers representing the serialized object.
-
IPython.kernel.zmq.serialize.
unserialize_object
(buffers, g=None)¶ reconstruct an object serialized by serialize_object from data buffers.
Parameters: bufs : list of buffers/bytes
g : globals to be used when uncanning
Returns: (newobj, bufs) : unpacked object, and the list of remaining unused buffers.
-
IPython.kernel.zmq.serialize.
pack_apply_message
(f, args, kwargs, buffer_threshold=1024, item_threshold=64)¶ pack up a function, args, and kwargs to be sent over the wire
Each element of args/kwargs will be canned for special treatment, but inspection will not go any deeper than that.
Any object whose data is larger than threshold will not have their data copied (only numpy arrays and bytes/buffers support zero-copy)
Message will be a list of bytes/buffers of the format:
[ cf, pinfo, <arg_bufs>, <kwarg_bufs> ]
With length at least two + len(args) + len(kwargs)
-
IPython.kernel.zmq.serialize.
unpack_apply_message
(bufs, g=None, copy=True)¶ unpack f,args,kwargs from buffers packed by pack_apply_message() Returns: original f,args,kwargs