<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def wheel_libs(wheel_fname, filt_func = None):
 """ Return analysis of library dependencies with a Python wheel Use this routine for a dump of the dependency tree. Parameters wheel_fname : str Filename of wheel filt_func : None or callable, optional If None, inspect all files for library dependencies. If callable, accepts filename as argument, returns True if we should inspect the file, False otherwise. Returns ------- lib_dict : dict dictionary with (key, value) pairs of (``libpath``, ``dependings_dict``). ``libpath`` is library being depended on, relative to wheel root path if within wheel tree. ``dependings_dict`` is (key, value) of (``depending_lib_path``, ``install_name``). Again, ``depending_lib_path`` is library relative to wheel root path, if within wheel tree. """

    with TemporaryDirectory() as tmpdir:
        zip2dir(wheel_fname, tmpdir)
        lib_dict = tree_libs(tmpdir, filt_func)
    return stripped_lib_dict(lib_dict, realpath(tmpdir) + os.path.sep)