<reponame>1byte2bytes/cpython
\section{\module{copy_reg} ---
         Register \module{pickle} support functions.}
\declaremodule[copyreg]{standard}{copy_reg}

\modulesynopsis{Register \module{pickle} support functions.}


The \module{copy_reg} module provides support for the
\module{pickle}\refstmodindex{pickle} and
\module{cPickle}\refbimodindex{cPickle} modules.  The
\module{copy}\refstmodindex{copy} module is likely to use this in the
future as well.  It provides configuration information about object
constructors which are not classes.  Such constructors may be factory
functions or class instances.


\begin{funcdesc}{constructor}{object}
  Declares \var{object} to be a valid constructor.
\end{funcdesc}

\begin{funcdesc}{pickle}{type, function\optional{, constructor}}
  Declares that \var{function} should be used as a ``reduction''
  function for objects of type or class \var{type}.  \var{function}
  should return either a string or a tuple.  The optional
  \var{constructor} parameter, if provided, is a callable object which
  can be used to reconstruct the object when called with the tuple of
  arguments returned by \var{function} at pickling time.
\end{funcdesc}
