Skip to main content
`Ctrl`+`K`

# Pickle

class numcodecs.pickles.Pickle(protocol=5)

  Codec to encode data as as pickled bytes. Useful for encoding an array of Python string objects.

  Parameters:
    protocol int, defaults to pickle.HIGHEST_PROTOCOL

      The protocol used to pickle data.

  See also

  `numcodecs.msgpacks.MsgPack`

  Examples

      >>> import numcodecs as codecs
      >>> import numpy as np
      >>> x = np.array(['foo', 'bar', 'baz'], dtype='object')
      >>> f = codecs.Pickle()
      >>> f.decode(f.encode(x))
      array(['foo', 'bar', 'baz'], dtype=object)

  codec_id: str | None = 'pickle'

    Codec identifier.

  encode(buf)

    Encode data in buf.

    Parameters:
      buf buffer-like

        Data to be encoded. May be any object supporting the new-style buffer protocol.

    Returns:
      enc buffer-like

        Encoded data. May be any object supporting the new-style buffer protocol.

  decode(buf, out=None)

    Decode data in buf.

    Parameters:
      buf buffer-like

        Encoded data. May be any object supporting the new-style buffer protocol.

      out buffer-like, optional

        Writeable buffer to store decoded data. N.B. if provided, this buffer must be exactly the right size to store the decoded data.

    Returns:
      dec buffer-like

        Decoded data. May be any object supporting the new-style buffer protocol.

  get_config()

    Return a dictionary holding configuration parameters for this codec. Must include an ‘id’ field with the codec identifier. All values must be compatible with JSON encoding.

  classmethod from_config(config)

    Instantiate codec from a configuration object.