def UniqueTemplates(existing_templates, new_possibilities, selection_cols:
    list=['Model', 'ModelParameters', 'TransformationParameters', 'Ensemble']):
    """
    Returns unique dataframe rows from new_possiblities not in existing_templates
    
    Args:
        selection_cols (list): list of column namess to use to judge uniqueness/match on
    """
    keys = list(new_possibilities[selection_cols].columns.values)
    idx1 = existing_templates.copy().set_index(keys).index
    idx2 = new_possibilities.set_index(keys).index
    new_template = new_possibilities[~idx2.isin(idx1)]
    return new_template
