docs: def get_path(self, key, rel_to_cwd=False, rel_to_conf=False):
          """
          Retrieve a path from the config, resolving it against
          the invokation directory or the configuration file directory,
          depending on whether it was passed through the command-line
          or the configuration file.
  
          Args:
              key: str, the key to lookup the path with
  
          Returns:
              str: The path, or `None`
          """
          if key in self.__cli:
              path = self.__cli[key]
              from_conf = False
          else:
              path = self.__config.get(key)
              from_conf = True
  
          if not isinstance(path, str):
              return None
  
          res = self.__abspath(path, from_conf)
  
          if rel_to_cwd:
              return os.path.relpath(res, self.__invoke_dir)
          if rel_to_conf:
              return os.path.relpath(res, self.__conf_dir)
  
          return self.__abspath(path, from_conf)