docs: def require(self, key: str) -> str:
          """
          Returns a configuration value by its given key.  If it doesn't exist, an error is thrown.
  
          :param str key: The requested configuration key.
          :return: The configuration key's value.
          :rtype: str
          :raises ConfigMissingError: The configuration value did not exist.
          """
          v = self.get(key)
          if v is None:
              raise ConfigMissingError(self.full_key(key))
          return v