import inspect


def get_bf_param_names(basis_func):
    """Get a list of the parameters of the bais function (excluding x
    inputs).

    Parameters
    ----------
    basis_func: function

    Returns
    -------
    param_names: list of strs
    """
    assert basis_func.__name__ in ['gg_1d', 'gg_2d', 'ta_1d', 'ta_2d']
    param_names = list(inspect.signature(basis_func).parameters)
    for par in ['x', 'x1', 'x2']:
        try:
            param_names.remove(par)
        except ValueError:
            pass
    return param_names