@classmethod
def from_str_params(cls, params_str):
    """
        Creates an instance from a str->str hash.

        :param params_str: dict of param name -> value as string.
        """
    kwargs = {}
    for param_name, param in cls.get_params():
        if param_name in params_str:
            param_str = params_str[param_name]
            if isinstance(param_str, list):
                kwargs[param_name] = param._parse_list(param_str)
            else:
                kwargs[param_name] = param.parse(param_str)
    return cls(**kwargs)
