Serialization and IPC

Inter-Process Communication

ipc.new_file(sink, schema, *[, …])

Create an Arrow columnar IPC file writer instance

ipc.open_file(source[, footer_offset])

Create reader for Arrow file format.

ipc.new_stream(sink, schema, *[, …])

Create an Arrow columnar IPC stream writer instance


Create reader for Arrow streaming format.


Read length-prefixed message from file or buffer-like object

ipc.read_record_batch(obj, Schema schema, …)

Read RecordBatch from message, given a known schema.

ipc.get_record_batch_size(RecordBatch batch)

Return total size of serialized RecordBatch including metadata and padding.


Read pyarrow.Tensor from pyarrow.NativeFile object from current position.

ipc.write_tensor(Tensor tensor, NativeFile dest)

Write pyarrow.Tensor to pyarrow.NativeFile object its current position.

ipc.get_tensor_size(Tensor tensor)

Return total size of serialized Tensor including metadata and padding.


Container for an Arrow IPC message with metadata and optional body


Interface for reading Message objects from some source (like an InputStream)

ipc.RecordBatchFileReader(source[, …])

Class for reading Arrow record batch data from the Arrow binary file format

ipc.RecordBatchFileWriter(sink, schema, *[, …])

Writer to create the Arrow binary file format


Reader for the Arrow streaming binary format.

ipc.RecordBatchStreamWriter(sink, schema, *)

Writer for the Arrow streaming binary format



The serialization functionality is deprecated in pyarrow 2.0, and will be removed in a future version. Use the standard library pickle or the IPC functionality of pyarrow (see Streaming, Serialization, and IPC).

serialize(value, …)

EXPERIMENTAL: Serialize a general Python sequence for transient storage and transport.

serialize_to(value, sink, …)

EXPERIMENTAL: Serialize a Python sequence to a file.

deserialize(obj, …)

EXPERIMENTAL: Deserialize Python object from Buffer or other Python object supporting the buffer protocol.

deserialize_components(components, …)

Reconstruct Python object from output of SerializedPyObject.to_components.

deserialize_from(source, base, …)

EXPERIMENTAL: Deserialize a Python sequence from a file.

read_serialized(source[, base])

EXPERIMENTAL: Read serialized Python sequence from file-like object.


Arrow-serialized representation of Python object.