calculate key earlier and reuse
key = (catrel, arch, osrel)
if key in self.__data:
  return ...