### Navigation

- index
- modules |
- next |
- previous |
- home|
- search|
- documentation »
- The IPython API »

# Module: `lib.deepreload`

A module to change reload() so that it acts recursively. To enable it type:

    import __builtin__, deepreload
    __builtin__.reload = deepreload.reload

You can then disable it with:

    __builtin__.reload = deepreload.original_reload

Alternatively, you can add a dreload builtin alongside normal reload with:

    __builtin__.dreload = deepreload.reload

This code is almost entirely based on knee.py, which is a Python re-implementation of hierarchical module import.

## 9 Functions

`IPython.lib.deepreload.``replace_import_hook`(*args, **kwds)

`IPython.lib.deepreload.``get_parent`(globals, level)

  Return the package that an import is being performed in. If globals comes from the module foo.bar.bat (not itself a package), this returns the sys.modules entry for foo.bar. If globals is from a package’s __init__.py, the package’s entry in sys.modules is returned.

  If globals doesn’t come from a package or a module in a package, or a corresponding entry is not found in sys.modules, None is returned.

`IPython.lib.deepreload.``load_next`(mod, altmod, name, buf)

  altmod is either None or same as mod

`IPython.lib.deepreload.``import_submodule`(mod, subname, fullname)

`IPython.lib.deepreload.``add_submodule`(mod, submod, fullname, subname)

  mod.{subname} = submod

`IPython.lib.deepreload.``ensure_fromlist`(mod, fromlist, buf, recursive)

  Handle ‘from module import a, b, c’ imports.

`IPython.lib.deepreload.``deep_import_hook`(name, globals=None, locals=None, fromlist=None, level=-1)

  Replacement for __import__()

`IPython.lib.deepreload.``deep_reload_hook`(m)

  Replacement for reload().

`IPython.lib.deepreload.``reload`(module, exclude=['sys', 'os.path', '__builtin__', '__main__'])

  Recursively reload all modules used in the given module. Optionally takes a list of modules to exclude from reloading. The default exclude list contains sys, __main__, and __builtin__, to prevent, e.g., resetting display, exception, and io hooks.

### Navigation

- index
- modules |
- next |
- previous |
- home|
- search|
- documentation »
- The IPython API »