data-validation-engine 0.7.3__tar.gz → 0.7.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/PKG-INFO +1 -1
  2. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/pyproject.toml +1 -1
  3. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/foundry_ddb_pipeline.py +3 -0
  4. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/pipeline.py +12 -4
  5. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/LICENSE +0 -0
  6. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/README.md +0 -0
  7. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/__init__.py +0 -0
  8. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/common/__init__.py +0 -0
  9. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/common/error_utils.py +0 -0
  10. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/__init__.py +0 -0
  11. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/__init__.py +0 -0
  12. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/__init__.py +0 -0
  13. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/auditing.py +0 -0
  14. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/backend.py +0 -0
  15. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/contract.py +0 -0
  16. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/core.py +0 -0
  17. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/reader.py +0 -0
  18. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/reference_data.py +0 -0
  19. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/rules.py +0 -0
  20. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/base/utilities.py +0 -0
  21. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/exceptions.py +0 -0
  22. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/__init__.py +0 -0
  23. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/__init__.py +0 -0
  24. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/auditing.py +0 -0
  25. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/contract.py +0 -0
  26. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/duckdb_helpers.py +0 -0
  27. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/readers/__init__.py +0 -0
  28. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/readers/csv.py +0 -0
  29. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/readers/json.py +0 -0
  30. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/readers/xml.py +0 -0
  31. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/reference_data.py +0 -0
  32. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/rules.py +0 -0
  33. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/types.py +0 -0
  34. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/duckdb/utilities.py +0 -0
  35. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/__init__.py +0 -0
  36. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/auditing.py +0 -0
  37. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/backend.py +0 -0
  38. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/contract.py +0 -0
  39. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/readers/__init__.py +0 -0
  40. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/readers/csv.py +0 -0
  41. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/readers/json.py +0 -0
  42. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/readers/xml.py +0 -0
  43. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/reference_data.py +0 -0
  44. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/rules.py +0 -0
  45. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/spark_helpers.py +0 -0
  46. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/types.py +0 -0
  47. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/implementations/spark/utilities.py +0 -0
  48. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/metadata/__init__.py +0 -0
  49. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/metadata/contract.py +0 -0
  50. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/metadata/reporting.py +0 -0
  51. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/metadata/rules.py +0 -0
  52. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/readers/__init__.py +0 -0
  53. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/readers/csv.py +0 -0
  54. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/readers/utilities.py +0 -0
  55. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/readers/xml.py +0 -0
  56. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/readers/xml_linting.py +0 -0
  57. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/types.py +0 -0
  58. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/backends/utilities.py +0 -0
  59. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/__init__.py +0 -0
  60. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/base.py +0 -0
  61. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/v1/__init__.py +0 -0
  62. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/v1/filters.py +0 -0
  63. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/v1/rule_stores/__init__.py +0 -0
  64. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/v1/rule_stores/models.py +0 -0
  65. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/configuration/v1/steps.py +0 -0
  66. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/constants.py +0 -0
  67. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/engine.py +0 -0
  68. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/exceptions.py +0 -0
  69. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/functions/__init__.py +0 -0
  70. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/functions/implementations.py +0 -0
  71. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/loggers.py +0 -0
  72. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/message.py +0 -0
  73. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/models.py +0 -0
  74. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/templating.py +0 -0
  75. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/type_hints.py +0 -0
  76. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/core_engine/validation.py +0 -0
  77. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/__init__.py +0 -0
  78. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/domain_types.py +0 -0
  79. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/exc.py +0 -0
  80. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/function_library.py +0 -0
  81. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/function_wrapper.py +0 -0
  82. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/model_generator.py +0 -0
  83. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/models.py +0 -0
  84. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/metadata_parser/utilities.py +0 -0
  85. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/__init__.py +0 -0
  86. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/exceptions.py +0 -0
  87. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/__init__.py +0 -0
  88. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/helpers.py +0 -0
  89. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/implementations/__init__.py +0 -0
  90. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/implementations/base.py +0 -0
  91. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/implementations/dbfs.py +0 -0
  92. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/implementations/file.py +0 -0
  93. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/implementations/s3.py +0 -0
  94. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/log_handler.py +0 -0
  95. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/service.py +0 -0
  96. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/file_handling/utilities.py +0 -0
  97. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/type_hints.py +0 -0
  98. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/parser/utilities.py +0 -0
  99. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/__init__.py +0 -0
  100. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/duckdb_pipeline.py +0 -0
  101. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/spark_pipeline.py +0 -0
  102. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/pipeline/utils.py +0 -0
  103. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/reporting/__init__.py +0 -0
  104. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/reporting/error_report.py +0 -0
  105. {data_validation_engine-0.7.3 → data_validation_engine-0.7.4}/src/dve/reporting/excel_report.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-validation-engine
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: `nhs data validation engine` is a framework used to validate data
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -24,7 +24,7 @@ Issues = "https://github.com/NHSDigital/data-validation-engine/issues"
24
24
  Changelog = "https://github.com/NHSDigital/data-validation-engine/blob/main/CHANGELOG.md"
25
25
 
26
26
  [tool.poetry]
27
- version = "0.7.3"
27
+ version = "0.7.4"
28
28
  packages = [
29
29
  { include = "dve", from = "src" },
30
30
  ]
@@ -152,6 +152,9 @@ class FoundryDDBPipeline(DDBDVEPipeline):
152
152
  )
153
153
  if sub_stats:
154
154
  self._audit_tables.add_submission_statistics_records(sub_stats=[sub_stats])
155
+ else:
156
+ self._audit_tables.mark_failed(submissions=[sub_id])
157
+
155
158
  except Exception as err: # pylint: disable=W0718
156
159
  self._logger.exception(
157
160
  f"During processing of submission_id: {sub_id}, this exception was raised:"
@@ -527,7 +527,7 @@ class BaseDVEPipeline:
527
527
 
528
528
  return processed_files, failed_processing
529
529
 
530
- def apply_business_rules(
530
+ def apply_business_rules( # pylint: disable=R0914
531
531
  self, submission_info: SubmissionInfo, submission_status: Optional[SubmissionStatus] = None
532
532
  ) -> tuple[SubmissionInfo, SubmissionStatus]:
533
533
  """Apply the business rules to a given submission, the submission may have failed at the
@@ -581,15 +581,23 @@ class BaseDVEPipeline:
581
581
 
582
582
  key_fields = {model: conf.reporting_fields for model, conf in model_config.items()}
583
583
 
584
- self.step_implementations.apply_rules(working_directory, entity_manager, rules, key_fields) # type: ignore
584
+ _errors_uri, rules_success = self.step_implementations.apply_rules( # type: ignore
585
+ working_directory,
586
+ entity_manager,
587
+ rules,
588
+ key_fields
589
+ )
585
590
 
586
591
  rule_messages = load_feedback_messages(
587
592
  get_feedback_errors_uri(working_directory, "business_rules")
588
593
  )
589
- submission_status.validation_failed = (
594
+ if (
590
595
  any(not rule_message.is_informational for rule_message in rule_messages)
591
596
  or submission_status.validation_failed
592
- )
597
+ ):
598
+ submission_status.validation_failed = True
599
+ elif not rules_success:
600
+ submission_status.processing_failed = True
593
601
 
594
602
  for entity_name, entity in entity_manager.entities.items():
595
603
  projected = self._step_implementations.write_parquet( # type: ignore