Extract from setup.py's setup() arg list.
        :return:

def read_setup_py(self):  # type: ()-> Dict[str,str]
        """
        Extract from setup.py's setup() arg list.
        :return:
        """
        found = {}  # type: Dict[str,str]
        setup_py = os.path.join("setup.py")

        if not os.path.isfile(setup_py):
            if self.strict:
                logger.debug(unicode(os.getcwd()))
                logger.debug(unicode(os.listdir(os.getcwd())))
                # return ""
                # raise JiggleVersionException(
                #     "Can't find setup.py : {0}, path :{1}".format(setup_py, self.SRC)
                # )
                return found
            else:
                return found

        self.setup_py_source = self.file_opener.open_this(setup_py, "r").read()

        if "use_scm_version=True" in self.setup_py_source:
            die(
                -1,
                "setup.py has use_scm_version=True in it- this means we expect no file to have a version string. Nothing to change",
            )
            return {}

        with self.file_opener.open_this(setup_py, "r") as infile:
            for line in infile:
                version = kwarg_version.find_in_line(line)
                if version:
                    found[setup_py] = version
                    continue
                version, _ = dunder_version.find_in_line(line)
                if version:
                    found[setup_py] = version
                    continue

        # stress testing
        # if "version" in self.setup_py_source and not found:
        #     raise TypeError(self.setup_py_source)

        return found