for arg in required_args:
    if arg not in kwargs:
        raise TypeError('Argument %s is required' % arg)
How to get __init__() to raise a more useful exception instead of TypeError when incorrect # of arguments?