code: def import_recursive(path):
      
      results = {}
      obj = importlib.import_module(path)
      results[path] = obj
      path = getattr(obj, '__path__', os.path.dirname(obj.__file__))
      for loader, name, is_pkg in pkgutil.walk_packages(path):
          full_name = obj.__name__ + '.' + name
          results[full_name] = importlib.import_module(full_name)
          if is_pkg:
              results.update(import_recursive(full_name))
      return results
docs: Recursively import all modules and packages
      Thanks http://stackoverflow.com/a/25562415/1267398
      XXX: Needs UT
  
      :attr path: Path to package/module