def check_model_params_dict(params):
    if type(params) is not dict:
        raise TypeError("params should be a dict")

    keys = ['mu', 'kappa']

    for key in keys:
        if key not in params:
            raise KeyError("missing key in params: %r" % (key,))

    for key, value in six.iteritems(params):
        if key not in keys:
            raise KeyError("invalid params key: %r" % (key,))

        if not isinstance(value, (float, numpy.float64)):
            raise TypeError("%r should be float" % (key,))

        if key == "kappa":
            if value >= 0.0:
                raise ValueError("kappa should be greater than 0")
        elif key != "mu":
            raise KeyError("Invalid params key: %r" % (key,))
        else:
            if value < 0.0 or value > 2*pi:
                raise ValueError("mu should be in [0,2*pi]")

###############################################################################
#   The class extension
###############################################################################
dataset/ETHPy150Open probcomp/crosscat/src/tests/component_model_extensions/CyclicComponentModel.py/check_model_params_dict/operator `<=` -> `>=`