docs: def _get_modules(path):
      """Finds modules in folder recursively
  
      :param path: directory
      :return: list of modules
      """
      lst = []
      folder_contents = os.listdir(path)
      is_python_module = "__init__.py" in folder_contents
  
      if is_python_module:
          for file in folder_contents:
              full_path = os.path.join(path, file)
  
              if is_file(full_path):
                  lst.append(full_path)
  
              if is_folder(full_path):
                  lst += _get_modules(full_path)  # recurse in folder
  
      return list(set(lst))