code: def get_backends():
      
      IGNORE_DIRS = ["core", "tools", "utils"]
  
      global backends
      if backends is None:
          backends = {}
          i3pystatus_dir = os.path.dirname(i3pystatus.__file__)
          subdirs = [
              x
              for x in next(os.walk(i3pystatus_dir))[1]
              if not x.startswith("_") and x not in IGNORE_DIRS
          ]
          for subdir in subdirs:
              dirs = next(os.walk(os.path.join(i3pystatus_dir, subdir)))[2]
              backends.update(
                  {
                      x[:-3]: "i3pystatus.%s.%s" % (subdir, x[:-3])
                      for x in dirs
                      if not x.startswith("_") and x.endswith(".py")
                  }
              )
      return backends
docs: Get backends info so that we can find the correct one.
      We just look in the directory structure to find modules.