def _parse_python_lib(self, library, args):
        lib_with_args = self._lib_arg_formatter(library, args)
        kws = {}
        try:
            lib = self.libdoc.build(lib_with_args)
        except DataError:
            raise ValueError(
                'Library does not exist: {0}'.format(library))
        if library in STDLIBS:
            import_name = 'robot.libraries.' + library
        else:
            import_name = library
        importer = Importer('test library')
        libcode = importer.import_class_or_module(
            import_name, return_source=False)
        for keyword in lib.keywords:
            kw = {}
            kw[DBJsonSetting.keyword_name] = keyword.name
            kw[DBJsonSetting.tags] = list(keyword.tags._tags)
            kw[DBJsonSetting.keyword_arguments] = keyword.args
            kw[DBJsonSetting.documentation] = keyword.doc
            kw[DBJsonSetting.keyword_file] = self._get_library_kw_source(
                libcode, keyword.name)
            kws[strip_and_lower(keyword.name)] = kw
        return kws
dataset/ETHPy150Open andriyko/sublime-robot-framework-assistant/dataparser/data_parser/data_parser.py/DataParser._parse_python_lib/original