def extract_init_args(instance):
    """
    Given an instance, and under the assumption that member variables have the
    same name as the __init__ arguments, extract the arguments so they can
    be used to reconstruct the instance when deserializing
    """
    cls = instance.__class__
    args = [x for x in inspect.getargspec(cls.__init__).args if x != 'self']
    return [instance.__dict__[key] for key in args]
Given an instance, and under the assumption that member variables have the
    same name as the __init__ arguments, extract the arguments so they can
    be used to reconstruct the instance when deserializing