import inspect
import warnings


def valid_func_args(func, *args):
    """
    Helper function to test that a function's parameters match the desired
    signature, if not then issue a deprecation warning.
    """
    keys = inspect.signature(func).parameters.keys()
    if set(args) == set(keys):
        return True
    label = getattr(func, '__name__', str(func))
    msg = (
        f'{label}({", ".join(keys)}) is deprecated, please override '
        f'with {label}({", ".join(args)})'
    )
    warnings.warn(msg, DeprecationWarning)
    return False