code: def copy_recurse(lib_path, copy_filt_func = None, copied_libs = None):
      
      if copied_libs is None:
          copied_libs = {}
      else:
          copied_libs = dict(copied_libs)
      done = False
      while not done:
          in_len = len(copied_libs)
          _copy_required(lib_path, copy_filt_func, copied_libs)
          done = len(copied_libs) == in_len
      return copied_libs
docs: Analyze `lib_path` for library dependencies and copy libraries
  
      `lib_path` is a directory containing libraries.  The libraries might
      themselves have dependencies.  This function analyzes the dependencies and
      copies library dependencies that match the filter `copy_filt_func`. It also
      adjusts the depending libraries to use the copy. It keeps iterating over
      `lib_path` until all matching dependencies (of dependencies of dependencies
      ...) have been copied.
  
      Parameters
      ----------
      lib_path : str
          Directory containing libraries
      copy_filt_func : None or callable, optional
          If None, copy any library that found libraries depend on.  If callable,
          called on each depended library name; copy where
          ``copy_filt_func(libname)`` is True, don't copy otherwise
      copied_libs : dict
          Dict with (key, value) pairs of (``copied_lib_path``,
          ``dependings_dict``) where ``copied_lib_path`` is the canonical path of
          a library that has been copied to `lib_path`, and ``dependings_dict``
          is a dictionary with (key, value) pairs of (``depending_lib_path``,
          ``install_name``).  ``depending_lib_path`` is the canonical path of the
          library depending on ``copied_lib_path``, ``install_name`` is the name
          that ``depending_lib_path`` uses to refer to ``copied_lib_path`` (in
          its install names).
  
      Returns
      -------
      copied_libs : dict
          Input `copied_libs` dict with any extra libraries and / or dependencies
          added.