def METHOD_NAME(func: Callable[..., T]) -> BaseRowFactory[T]:
    """Generate a row factory calling `!func` with keyword parameters for every row.
    :param func: The function to call for each row. It must support the fields
        returned by the query as keyword arguments.
    """
    def kwargs_row_(cursor: "BaseCursor[Any, T]") -> "RowMaker[T]":
        names = _get_names(cursor)
        if names is None:
            return no_result
        def kwargs_row__(values: Sequence[Any]) -> T:
            return func(**dict(zip(names, values)))
        return kwargs_row__
    return kwargs_row_