class_docstr: A pickler to persist big data efficiently.
  
  The main features of this object are:
  * persistence of numpy arrays in a single file.
  * optional compression with a special care on avoiding memory copies.
  
  Attributes
  ----------
  fp: file
      File object handle used for serializing the input object.
  protocol: int, optional
      Pickle protocol used. Default is pickle.DEFAULT_PROTOCOL.
code: def __init__(self, fp, protocol=None):
      self.file_handle = fp
      self.buffered = isinstance(self.file_handle, BinaryZlibFile)
  
      # By default we want a pickle protocol that only changes with
      # the major python version and not the minor one
      if protocol is None:
          protocol = pickle.DEFAULT_PROTOCOL
  
      Pickler.__init__(self, self.file_handle, protocol=protocol)
      # delayed import of numpy, to avoid tight coupling
      try:
          import numpy as np
      except ImportError:
          np = None
      self.np = np
  
imports: import pickle
  import os
  import warnings
  import io
  from pathlib import Path
  from .compressor import lz4, LZ4_NOT_INSTALLED_ERROR
  from .compressor import _COMPRESSORS, register_compressor, BinaryZlibFile
  from .compressor import ZlibCompressorWrapper, GzipCompressorWrapper, BZ2CompressorWrapper, LZMACompressorWrapper, XZCompressorWrapper, LZ4CompressorWrapper
  from .numpy_pickle_utils import Unpickler, Pickler
  from .numpy_pickle_utils import _read_fileobject, _write_fileobject
  from .numpy_pickle_utils import _read_bytes, BUFFER_SIZE
  from .numpy_pickle_utils import _ensure_native_byte_order
  from .numpy_pickle_compat import load_compatibility
  from .numpy_pickle_compat import NDArrayWrapper
  from .numpy_pickle_compat import ZNDArrayWrapper
  from .backports import make_memmap
label_desc: Use image node_id 1 to create a new NumpyPickler object from inherited base classes: Pickler with example: obj = NumpyPickler(fp, protocol)