Avec l'update de la version v5 de frictionless-py
, la structure du rapport de validation généré par frictionless
s'en voit modifiée :
Certains attributs du rapport de validation ne sont plus inclus dans les metadata et ne sont plus reportés dans la représentation sous forme de dictionnaire du rapport de validation.
Cela implique une modification de la structure du rapport de validation json retourné par l'API de Validata.
La structure du rapport de validation résultante sur l'interface utilisateur de Validata n'est quant à elle pas impactée.
Les modifications portent sur les points suivants :
report.date
correspondant à la date-time d'édition du rapport de validation par frictionless,report.time
correspondant au temps mis par frictionless pour exécuter la validataion (remplacée par report.stats.["seconds"]
),report.version
correspondant à la version utilisée par frictionlessreport.warnings
correspondant à la liste des 'warnings' levés pendant la validation des donnéesreport["stats"]
Rajout de nouvelles propriétés statistiques :
report.stats["seconds"]
, correspondant au temps de validation en secondes mis par frictionles-py
report.stats["warnings"]
, correspondant au nombre de 'warnings' levés pendant la validation des donnéesPour chaque tâche task = report["tasks"][i]
,
task.partial
pour indiquer si la validation est partielle (cette notion n'est pas plus documentée dans frictionless
)task.resource
correspondant aux metadatas de l'objet frictionless Resource
utilisé pour la validation, elle inclut les metadatas suivantes :
task.scope
correspondant à la portée de la validation (erreurs et customs-checks
pris en charge dans la validation)task.time
correspondant au temps d'exécution de la tâche en secondes mis par frictionles-py
task.name
correspondant à un nom court utilisable par urltask.place
correspondant à la l'emplacement du fichiertask.type
précise si la validation porte sur des données tabulairestask["structure_warnings"]
est remplacée par task.warning
task.stats
rajoute de nouvelles infos statistiques :
task.stats["fields"]
correspondant au nombre de champstask.stats["rows"]
correspondant au nombre de lignetask.stats["seconds"]
correspondant au temps d'exécution de la tâche en secondes mis par frictionlesstask.stats.["warnings"]
, correspondant au nombre 'warnings' levés pendant l'exécution de la tâche par frictionlessPour chaque erreurs reportées dans chacune des tâches error = report.tasks[i].errors[i]"
:
error.code
est remplacée par error.type
Lors des travaux réalisés sur l'update de la v5 de frictionless, le contenu du rapport de validation retourné par Validata a été adapté pour assurer une rétrocompatibilité et intégrer les metadatas qui existaient encore dans la version v4.38.0 de frictionless
utiliée auparavant par Validata.