# 13.1 `pickle` -- Python object serialization

The `pickle` module implements a fundamental, but powerful algorithm for serializing and de-serializing a Python object structure. ``Pickling'' is the process whereby a Python object hierarchy is converted into a byte stream, and ``unpickling'' is the inverse operation, whereby a byte stream is converted back into an object hierarchy. Pickling (and unpickling) is alternatively known as ``serialization'', ``marshalling,''13.1 or ``flattening'', however, to avoid confusion, the terms used here are ``pickling'' and ``unpickling''.

This documentation describes both the `pickle` module and the `cPickle` module.

#### Footnotes

... ``marshalling,''13.1
  Don't confuse this with the `marshal` module