This works:
valid_instances = []
validation_exceptions = []
for row in df_in.itertuples(index=False):
try:
valid_instances.append(
validity_class(
**{
key: row[i]
for i, key in enumerate(validity_class.__
}
)
)
except ValidationError as ve: # pylint: disable=invalid-name
validation_exceptions.append(ve)
The main issue seems to be getting good validation error messages.