code: def via_find_packages(self):  # type: () -> List[str]
          
          packages = []  # type: List[str]
          source = self.setup_py_source()
          if not source:
              return packages
          find_package_args = ""
          for row in source.split("\n"):
              if "find_packages" in row:
                  logger.debug(row)
                  if "find_packages()" in row:
                      packages = find_packages()
                  else:
                      try:
  
                          find_package_args_source = row.split("(")[1].split(")")[0]
                          find_package_args = ast.literal_eval(find_package_args_source)
                          logger.debug(packages)
                      except:
                          logger.debug(source)
                          # raise
          if not find_package_args:
              packages = find_packages()
          else:
              try:
                  # signature find(cls, where='.', exclude=(), include=('*',)):
                  packages = find_packages(find_package_args)
              except:
                  packages = find_packages()
  
          return packages
docs: Use find_packages code to find modules. Can find LOTS of modules.
          :return: