class_docstr: Pickler that accepts custom reducers.
  
  HIGHEST_PROTOCOL is selected by default as this pickler is used
  to pickle ephemeral datastructures for interprocess communication
  hence no backward compatibility is required.
  
  `reducers` is expected to be a dictionary with key/values
  being `(type, callable)` pairs where `callable` is a function that
  give an instance of `type` will return a tuple `(constructor,
  tuple_of_objects)` to rebuild an instance out of the pickled
  `tuple_of_objects` as would return a `__reduce__` method. See the
  standard library documentation on pickling for more details.
class_docstr_tok: ["Pickler","that","accepts","custom","reducers",".","HIGHEST_PROTOCOL","is","selected","by","default","as","this","pickler","is","used","to","pickle","ephemeral","datastructures","for","interprocess","communication","hence","no","backward","compatibility","is","required",".","`","reducers","`","is","expected","to","be","a","dictionary","with","key\/values","being","`","(","type",",","callable",")","`","pairs","where","`","callable","`","is","a","function","that","give","an","instance","of","`","type","`","will","return","a","tuple","`","(","constructor",",","tuple_of_objects",")","`","to","rebuild","an","instance","out","of","the","pickled","`","tuple_of_objects","`","as","would","return","a","`","__reduce__","`","method",".","See","the","standard","library","documentation","on","pickling","for","more","details","."]
code: def __init__(self, writer, reducers=None, protocol=HIGHEST_PROTOCOL):
      Pickler.__init__(self, writer, protocol=protocol)
      if reducers is None:
          reducers = {}
      if hasattr(Pickler, "dispatch"):
          # Make the dispatch registry an instance level attribute instead of
          # a reference to the class dictionary under Python 2
          self.dispatch = Pickler.dispatch.copy()
      else:
          # Under Python 3 initialize the dispatch table with a copy of the
          # default registry
          self.dispatch_table = copyreg.dispatch_table.copy()
      for type, reduce_func in reducers.items():
          self.register(type, reduce_func)
  
imports: from mmap import mmap
  import errno
  import os
  import stat
  import sys
  import threading
  import atexit
  import tempfile
  import shutil
  import warnings
  from time import sleep
  from pickle import whichmodule
  from pickle import Pickler
  from pickle import HIGHEST_PROTOCOL
  from io import BytesIO
  from ._multiprocessing_helpers import mp, assert_spawning
  from multiprocessing.pool import Pool
  from .numpy_pickle import load
  from .numpy_pickle import dump
  from .hashing import hash
label_desc: Use image node_id 1 to create a new CustomizablePickler object from inherited base classes: Pickler with example: obj = CustomizablePickler(writer, reducers, protocol)