def __getattr__(self, name):
        if name.startswith('get_'):
            name = name.replace('get_', '', 1)
            if name in self.extension_kinds:
                return partial(self.get_extension, kind=name)
        if name.startswith('list_'):
            name = name.replace('list_', '', 1).rstrip('s')
            if name in self.extension_kinds:
                return partial(self.list_extensions, kind=name)
        if name.startswith('has_'):
            name = name.replace('has_', '', 1)
            if name in self.extension_kinds:
                return partial(self.has_extension, kind=name)
        raise AttributeError(name)
This resolves methods for specific extensions types based on corresponding
dataset/ETHPy150Open ARM-software/workload-automation/wlauto/core/extension_loader.py/ExtensionLoader.__getattr__