code: def from_directory_import(
          self,
          module,
          real_names,
          local_names,
          import_alias_mapping,
          skip_init=False
      ):
          
          module_path = module[1]
  
          init_file_location = os.path.join(module_path, '__init__.py')
          init_exists = os.path.isfile(init_file_location)
  
          if init_exists and not skip_init:
              package_name = os.path.split(module_path)[1]
              return self.add_module(
                  module=(module[0], init_file_location),
                  module_or_package_name=package_name,
                  local_names=local_names,
                  import_alias_mapping=import_alias_mapping,
                  is_init=True,
                  from_from=True
              )
          for real_name in real_names:
              full_name = os.path.join(module_path, real_name)
              if os.path.isdir(full_name):
                  new_init_file_location = os.path.join(full_name, '__init__.py')
                  if os.path.isfile(new_init_file_location):
                      self.add_module(
                          module=(real_name, new_init_file_location),
                          module_or_package_name=real_name,
                          local_names=local_names,
                          import_alias_mapping=import_alias_mapping,
                          is_init=True,
                          from_from=True,
                          from_fdid=True
                      )
                  else:
                      raise Exception('from anything import directory needs an __init__.py file in directory')
              else:
                  file_module = (real_name, full_name + '.py')
                  self.add_module(
                      module=file_module,
                      module_or_package_name=real_name,
                      local_names=local_names,
                      import_alias_mapping=import_alias_mapping,
                      from_from=True
                  )
          return IgnoredNode()
docs: Directories don't need to be packages.