dataops-testgen 5.32.2__tar.gz → 5.33.2__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 (721) hide show
  1. dataops-testgen-5.33.2/PKG-INFO +169 -0
  2. dataops-testgen-5.33.2/README.md +76 -0
  3. dataops-testgen-5.33.2/dataops_testgen.egg-info/PKG-INFO +169 -0
  4. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/dataops_testgen.egg-info/SOURCES.txt +2 -0
  5. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/pyproject.toml +1 -1
  6. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/__main__.py +109 -16
  7. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_launch_db_config.py +5 -4
  8. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_quick_start.py +5 -4
  9. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/flavor_service.py +9 -2
  10. dataops-testgen-5.33.2/testgen/common/enums.py +29 -0
  11. dataops-testgen-5.33.2/testgen/common/models/hygiene_issue.py +462 -0
  12. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/profiling_run.py +17 -0
  13. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/standalone_postgres.py +7 -0
  14. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/prompts/workflows.py +34 -0
  15. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/server.py +23 -2
  16. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/common.py +93 -0
  17. dataops-testgen-5.33.2/testgen/mcp/tools/hygiene_issues.py +420 -0
  18. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/reference.py +49 -6
  19. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/test_definitions.py +13 -12
  20. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/scheduler/cli_scheduler.py +4 -0
  21. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/settings.py +9 -10
  22. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Freshness_Trend.yaml +5 -5
  23. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/connections.js +23 -3
  24. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table.js +5 -0
  25. dataops-testgen-5.32.2/PKG-INFO +0 -356
  26. dataops-testgen-5.32.2/README.md +0 -263
  27. dataops-testgen-5.32.2/dataops_testgen.egg-info/PKG-INFO +0 -356
  28. dataops-testgen-5.32.2/testgen/common/models/hygiene_issue.py +0 -178
  29. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/LICENSE +0 -0
  30. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/NOTICE +0 -0
  31. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/dataops_testgen.egg-info/dependency_links.txt +0 -0
  32. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/dataops_testgen.egg-info/entry_points.txt +0 -0
  33. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/dataops_testgen.egg-info/requires.txt +0 -0
  34. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/dataops_testgen.egg-info/top_level.txt +0 -0
  35. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/setup.cfg +0 -0
  36. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/setup.py +0 -0
  37. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/__init__.py +0 -0
  38. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/__init__.py +0 -0
  39. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/app.py +0 -0
  40. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/deps.py +0 -0
  41. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/jobs.py +0 -0
  42. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/__init__.py +0 -0
  43. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/login.py +0 -0
  44. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/metadata.py +0 -0
  45. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/models.py +0 -0
  46. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/routes.py +0 -0
  47. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/oauth/server.py +0 -0
  48. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/runs.py +0 -0
  49. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/schemas.py +0 -0
  50. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/test_definition_service.py +0 -0
  51. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/api/test_definitions.py +0 -0
  52. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/__init__.py +0 -0
  53. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/exec_job.py +0 -0
  54. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/job_registry.py +0 -0
  55. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/job_runner.py +0 -0
  56. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/__init__.py +0 -0
  57. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/contingency_query.py +0 -0
  58. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/execute_tests_query.py +0 -0
  59. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/profiling_query.py +0 -0
  60. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/refresh_data_chars_query.py +0 -0
  61. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/queries/rollup_scores_query.py +0 -0
  62. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_get_entities.py +0 -0
  63. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_observability_exporter.py +0 -0
  64. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_pairwise_contingency_check.py +0 -0
  65. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_profiling.py +0 -0
  66. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_recalculate_project_scores.py +0 -0
  67. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_refresh_data_chars.py +0 -0
  68. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_refresh_score_cards_results.py +0 -0
  69. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_rollup_scores.py +0 -0
  70. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_score_update.py +0 -0
  71. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_test_execution.py +0 -0
  72. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_test_metadata_exporter.py +0 -0
  73. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_test_validation.py +0 -0
  74. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/run_upgrade_db_config.py +0 -0
  75. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/test_generation.py +0 -0
  76. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/commands/test_thresholds_prediction.py +0 -0
  77. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/__init__.py +0 -0
  78. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/auth.py +0 -0
  79. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/clean_sql.py +0 -0
  80. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/credentials.py +0 -0
  81. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/__init__.py +0 -0
  82. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/database_service.py +0 -0
  83. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/__init__.py +0 -0
  84. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/bigquery_flavor_service.py +0 -0
  85. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/databricks_flavor_service.py +0 -0
  86. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/mssql_flavor_service.py +0 -0
  87. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/oracle_flavor_service.py +0 -0
  88. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/postgresql_flavor_service.py +0 -0
  89. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/redshift_flavor_service.py +0 -0
  90. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/redshift_spectrum_flavor_service.py +0 -0
  91. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/sap_hana_flavor_service.py +0 -0
  92. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/snowflake_flavor_service.py +0 -0
  93. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/database/flavor/trino_flavor_service.py +0 -0
  94. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/date_service.py +0 -0
  95. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/display_service.py +0 -0
  96. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/docker_service.py +0 -0
  97. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/encrypt.py +0 -0
  98. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/freshness_service.py +0 -0
  99. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/job_context.py +0 -0
  100. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/logs.py +0 -0
  101. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/mixpanel_service.py +0 -0
  102. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/__init__.py +0 -0
  103. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/connection.py +0 -0
  104. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/custom_types.py +0 -0
  105. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/data_column.py +0 -0
  106. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/data_table.py +0 -0
  107. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/entity.py +0 -0
  108. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/job_execution.py +0 -0
  109. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/notification_settings.py +0 -0
  110. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/profile_result.py +0 -0
  111. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/project.py +0 -0
  112. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/project_membership.py +0 -0
  113. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/scheduler.py +0 -0
  114. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/scores.py +0 -0
  115. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/settings.py +0 -0
  116. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/table_group.py +0 -0
  117. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/test_definition.py +0 -0
  118. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/test_result.py +0 -0
  119. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/test_run.py +0 -0
  120. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/test_suite.py +0 -0
  121. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/models/user.py +0 -0
  122. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/__init__.py +0 -0
  123. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/base.py +0 -0
  124. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/monitor_run.py +0 -0
  125. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/notifications.py +0 -0
  126. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/profiling_run.py +0 -0
  127. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/score_drop.py +0 -0
  128. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/notifications/test_run.py +0 -0
  129. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/pii_masking.py +0 -0
  130. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/read_file.py +0 -0
  131. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/read_yaml_metadata_records.py +0 -0
  132. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/source_data_service.py +0 -0
  133. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/time_series_service.py +0 -0
  134. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/common/version_service.py +0 -0
  135. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/__init__.py +0 -0
  136. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/auth.py +0 -0
  137. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/exceptions.py +0 -0
  138. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/permissions.py +0 -0
  139. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/prompts/__init__.py +0 -0
  140. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/services/__init__.py +0 -0
  141. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/services/inventory_service.py +0 -0
  142. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/__init__.py +0 -0
  143. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/discovery.py +0 -0
  144. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/execution.py +0 -0
  145. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/markdown.py +0 -0
  146. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/profiling.py +0 -0
  147. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/source_data.py +0 -0
  148. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/test_results.py +0 -0
  149. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/mcp/tools/test_runs.py +0 -0
  150. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/scheduler/__init__.py +0 -0
  151. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/scheduler/base.py +0 -0
  152. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/server/__init__.py +0 -0
  153. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/contingency/contingency_columns.sql +0 -0
  154. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/contingency/contingency_counts.sql +0 -0
  155. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/data_chars/data_chars_staging_delete.sql +0 -0
  156. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/data_chars/data_chars_update.sql +0 -0
  157. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/010_create_base_schema.sql +0 -0
  158. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/020_create_standard_functions_sprocs.sql +0 -0
  159. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/030_initialize_new_schema_structure.sql +0 -0
  160. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/040_populate_new_schema_project.sql +0 -0
  161. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/050_populate_new_schema_metadata.sql +0 -0
  162. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/055_recreate_metadata_constraints.sql +0 -0
  163. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/060_create_standard_views.sql +0 -0
  164. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/070_create_default_users.sql +0 -0
  165. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/075_grant_role_rights.sql +0 -0
  166. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup/080_set_current_revision.sql +0 -0
  167. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Boolean_Value_Mismatch.yaml +0 -0
  168. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Char_Column_Date_Values.yaml +0 -0
  169. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Char_Column_Number_Units.yaml +0 -0
  170. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Char_Column_Number_Values.yaml +0 -0
  171. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Column_Pattern_Mismatch.yaml +0 -0
  172. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Delimited_Data_Embedded.yaml +0 -0
  173. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Inconsistent_Casing.yaml +0 -0
  174. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Invalid_Zip3_USA.yaml +0 -0
  175. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Invalid_Zip_USA.yaml +0 -0
  176. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Leading_Spaces.yaml +0 -0
  177. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Multiple_Types_Major.yaml +0 -0
  178. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Multiple_Types_Minor.yaml +0 -0
  179. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_No_Values.yaml +0 -0
  180. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Alpha_Name_Address.yaml +0 -0
  181. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Alpha_Prefixed_Name.yaml +0 -0
  182. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Printing_Chars.yaml +0 -0
  183. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Standard_Blanks.yaml +0 -0
  184. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Potential_Duplicates.yaml +0 -0
  185. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Potential_PII.yaml +0 -0
  186. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Quoted_Values.yaml +0 -0
  187. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Recency_One_Year.yaml +0 -0
  188. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Recency_Six_Months.yaml +0 -0
  189. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Small_Divergent_Value_Ct.yaml +0 -0
  190. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Small_Missing_Value_Ct.yaml +0 -0
  191. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Small_Numeric_Value_Ct.yaml +0 -0
  192. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Standardized_Value_Matches.yaml +0 -0
  193. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Suggested_Type.yaml +0 -0
  194. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Table_Pattern_Mismatch.yaml +0 -0
  195. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unexpected_Emails.yaml +0 -0
  196. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unexpected_US_States.yaml +0 -0
  197. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unlikely_Date_Values.yaml +0 -0
  198. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Variant_Coded_Values.yaml +0 -0
  199. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance.yaml +0 -0
  200. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance_Percent.yaml +0 -0
  201. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance_Range.yaml +0 -0
  202. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Aggregate_Minimum.yaml +0 -0
  203. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Alpha_Trunc.yaml +0 -0
  204. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Avg_Shift.yaml +0 -0
  205. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_CUSTOM.yaml +0 -0
  206. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Combo_Match.yaml +0 -0
  207. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Condition_Flag.yaml +0 -0
  208. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Constant.yaml +0 -0
  209. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Daily_Record_Ct.yaml +0 -0
  210. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Dec_Trunc.yaml +0 -0
  211. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Distinct_Date_Ct.yaml +0 -0
  212. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Distinct_Value_Ct.yaml +0 -0
  213. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Distribution_Shift.yaml +0 -0
  214. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Dupe_Rows.yaml +0 -0
  215. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Email_Format.yaml +0 -0
  216. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Future_Date.yaml +0 -0
  217. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Future_Date_1Y.yaml +0 -0
  218. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Incr_Avg_Shift.yaml +0 -0
  219. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_LOV_All.yaml +0 -0
  220. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_LOV_Match.yaml +0 -0
  221. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Metric_Trend.yaml +0 -0
  222. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Min_Date.yaml +0 -0
  223. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Min_Val.yaml +0 -0
  224. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Missing_Pct.yaml +0 -0
  225. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Monthly_Rec_Ct.yaml +0 -0
  226. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Outlier_Pct_Above.yaml +0 -0
  227. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Outlier_Pct_Below.yaml +0 -0
  228. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Pattern_Match.yaml +0 -0
  229. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Recency.yaml +0 -0
  230. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Required.yaml +0 -0
  231. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Row_Ct.yaml +0 -0
  232. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Row_Ct_Pct.yaml +0 -0
  233. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Schema_Drift.yaml +0 -0
  234. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Street_Addr_Pattern.yaml +0 -0
  235. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Table_Freshness.yaml +0 -0
  236. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Timeframe_Combo_Gain.yaml +0 -0
  237. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Timeframe_Combo_Match.yaml +0 -0
  238. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_US_State.yaml +0 -0
  239. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Unique.yaml +0 -0
  240. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Unique_Pct.yaml +0 -0
  241. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Valid_Characters.yaml +0 -0
  242. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Valid_Month.yaml +0 -0
  243. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Valid_US_Zip.yaml +0 -0
  244. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Valid_US_Zip3.yaml +0 -0
  245. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Variability_Decrease.yaml +0 -0
  246. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Variability_Increase.yaml +0 -0
  247. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Volume_Trend.yaml +0 -0
  248. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbsetup_test_types/test_types_Weekly_Rec_Ct.yaml +0 -0
  249. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0100_incremental_upgrade.sql +0 -0
  250. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0101_incremental_upgrade.sql +0 -0
  251. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0102_incremental_upgrade.sql +0 -0
  252. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0103_incremental_upgrade.sql +0 -0
  253. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0104_incremental_upgrade.sql +0 -0
  254. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0105_incremental_upgrade.sql +0 -0
  255. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0106_incremental_upgrade.sql +0 -0
  256. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0107_incremental_upgrade.sql +0 -0
  257. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0108_incremental_upgrade.sql +0 -0
  258. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0109_incremental_upgrade.sql +0 -0
  259. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0110_incremental_upgrade.sql +0 -0
  260. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0111_incremental_upgrade.sql +0 -0
  261. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0112_incremental_upgrade.sql +0 -0
  262. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0113_incremental_upgrade.sql +0 -0
  263. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0114_incremental_upgrade.sql +0 -0
  264. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0115_incremental_upgrade.sql +0 -0
  265. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0116_incremental_upgrade.sql +0 -0
  266. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0117_incremental_upgrade.sql +0 -0
  267. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0118_incremental_upgrade.sql +0 -0
  268. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0119_incremental_upgrade.sql +0 -0
  269. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0120_incremental_upgrade.sql +0 -0
  270. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0121_incremental_upgrade.sql +0 -0
  271. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0122_incremental_upgrade.sql +0 -0
  272. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0123_incremental_upgrade.sql +0 -0
  273. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0124_incremental_upgrade.sql +0 -0
  274. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0125_incremental_upgrade.sql +0 -0
  275. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0126_incremental_upgrade.sql +0 -0
  276. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0127_incremental_upgrade.sql +0 -0
  277. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0128_incremental_upgrade.sql +0 -0
  278. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0129_incremental_upgrade.sql +0 -0
  279. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0130_incremental_upgrade.sql +0 -0
  280. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0131_incremental_upgrade.sql +0 -0
  281. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0132_incremental_upgrade.sql +0 -0
  282. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0133_incremental_upgrade.sql +0 -0
  283. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0134_incremental_upgrade.sql +0 -0
  284. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0135_incremental_upgrade.sql +0 -0
  285. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0136_incremental_upgrade.sql +0 -0
  286. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0137_incremental_upgrade.sql +0 -0
  287. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0138_incremental_upgrade.sql +0 -0
  288. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0139_incremental_upgrade.sql +0 -0
  289. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0140_incremental_upgrade.sql +0 -0
  290. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0141_incremental_upgrade.sql +0 -0
  291. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0142_incremental_upgrade.sql +0 -0
  292. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0143_incremental_upgrade.sql +0 -0
  293. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0144_incremental_upgrade.sql +0 -0
  294. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0145_incremental_upgrade.sql +0 -0
  295. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0146_incremental_upgrade.sql +0 -0
  296. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0147_incremental_upgrade.sql +0 -0
  297. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0148_incremental_upgrade.sql +0 -0
  298. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0149_incremental_upgrade.sql +0 -0
  299. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0150_incremental_upgrade.sql +0 -0
  300. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0151_incremental_upgrade.sql +0 -0
  301. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0152_incremental_upgrade.sql +0 -0
  302. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0153_incremental_upgrade.sql +0 -0
  303. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0154_incremental_upgrade.sql +0 -0
  304. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0155_incremental_upgrade.sql +0 -0
  305. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0156_incremental_upgrade.sql +0 -0
  306. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0157_incremental_upgrade.sql +0 -0
  307. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0158_incremental_upgrade.sql +0 -0
  308. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0159_incremental_upgrade.sql +0 -0
  309. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0160_incremental_upgrade.sql +0 -0
  310. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0161_incremental_upgrade.sql +0 -0
  311. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0162_incremental_upgrade.sql +0 -0
  312. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0163_incremental_upgrade.sql +0 -0
  313. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0164_incremental_upgrade.sql +0 -0
  314. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0165_incremental_upgrade.sql +0 -0
  315. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0166_incremental_upgrade.sql +0 -0
  316. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0167_incremental_upgrade.sql +0 -0
  317. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0168_incremental_upgrade.sql +0 -0
  318. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0169_incremental_upgrade.sql +0 -0
  319. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0170_incremental_upgrade.sql +0 -0
  320. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0171_incremental_upgrade.sql +0 -0
  321. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0172_incremental_upgrade.sql +0 -0
  322. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0173_incremental_upgrade.sql +0 -0
  323. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0174_incremental_upgrade.sql +0 -0
  324. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0175_incremental_upgrade.sql +0 -0
  325. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0176_incremental_upgrade.sql +0 -0
  326. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0177_incremental_upgrade.sql +0 -0
  327. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0178_incremental_upgrade.sql +0 -0
  328. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0179_incremental_upgrade.sql +0 -0
  329. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0180_incremental_upgrade.sql +0 -0
  330. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0181_incremental_upgrade.sql +0 -0
  331. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0182_incremental_upgrade.sql +0 -0
  332. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0183_incremental_upgrade.sql +0 -0
  333. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0184_incremental_upgrade.sql +0 -0
  334. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0185_incremental_upgrade.sql +0 -0
  335. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0186_incremental_upgrade.sql +0 -0
  336. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade/0187_incremental_upgrade.sql +0 -0
  337. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/dbupgrade_helpers/get_tg_revision.sql +0 -0
  338. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/disable_invalid_test_definitions.sql +0 -0
  339. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/ex_get_tests_metadata.sql +0 -0
  340. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/get_active_test_definitions.sql +0 -0
  341. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/get_errored_autogen_monitors.sql +0 -0
  342. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/get_missing_freshness_monitors.sql +0 -0
  343. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/has_schema_changes.sql +0 -0
  344. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/update_history_calc_thresholds.sql +0 -0
  345. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/update_test_results.sql +0 -0
  346. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/execution/update_test_run_stats.sql +0 -0
  347. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/data_chars/get_schema_ddf.sql +0 -0
  348. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  349. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/gen_query_tests/gen_Table_Freshness.sql +0 -0
  350. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/profiling/project_profiling_query.sql +0 -0
  351. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/profiling/project_secondary_profiling_query.sql +0 -0
  352. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/profiling/templated_functions.yaml +0 -0
  353. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/bigquery/validate_tests/get_target_identifiers.sql +0 -0
  354. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/data_chars/get_schema_ddf.sql +0 -0
  355. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  356. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/gen_query_tests/gen_Table_Freshness.sql +0 -0
  357. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/profiling/project_profiling_query.sql +0 -0
  358. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/profiling/project_secondary_profiling_query.sql +0 -0
  359. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/databricks/profiling/templated_functions.yaml +0 -0
  360. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/generic/validate_tests/get_target_identifiers.sql +0 -0
  361. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/data_chars/get_schema_ddf.sql +0 -0
  362. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  363. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/gen_query_tests/gen_Table_Freshness.sql +0 -0
  364. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/profiling/project_profiling_query.sql +0 -0
  365. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/profiling/project_secondary_profiling_query.sql +0 -0
  366. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/mssql/profiling/templated_functions.yaml +0 -0
  367. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/data_chars/get_schema_ddf.sql +0 -0
  368. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  369. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  370. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/gen_query_tests/gen_Table_Freshness.sql +0 -0
  371. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/profiling/project_profiling_query.sql +0 -0
  372. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/profiling/project_secondary_profiling_query.sql +0 -0
  373. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/profiling/templated_functions.yaml +0 -0
  374. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/oracle/validate_tests/get_target_identifiers.sql +0 -0
  375. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/postgresql/data_chars/get_schema_ddf.sql +0 -0
  376. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/postgresql/profiling/project_profiling_query.sql +0 -0
  377. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/postgresql/profiling/project_secondary_profiling_query.sql +0 -0
  378. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/postgresql/profiling/templated_functions.yaml +0 -0
  379. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift/data_chars/get_schema_ddf.sql +0 -0
  380. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift/profiling/project_profiling_query.sql +0 -0
  381. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift/profiling/project_secondary_profiling_query.sql +0 -0
  382. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift/profiling/templated_functions.yaml +0 -0
  383. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift_spectrum/data_chars/get_schema_ddf.sql +0 -0
  384. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift_spectrum/profiling/project_profiling_query.sql +0 -0
  385. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift_spectrum/profiling/project_secondary_profiling_query.sql +0 -0
  386. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift_spectrum/profiling/templated_functions.yaml +0 -0
  387. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/redshift_spectrum/validate_tests/get_target_identifiers.sql +0 -0
  388. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/data_chars/get_schema_ddf.sql +0 -0
  389. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  390. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  391. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Table_Freshness.sql +0 -0
  392. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/profiling/project_profiling_query.sql +0 -0
  393. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/profiling/project_secondary_profiling_query.sql +0 -0
  394. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/profiling/templated_functions.yaml +0 -0
  395. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/sap_hana/validate_tests/get_target_identifiers.sql +0 -0
  396. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/snowflake/data_chars/get_schema_ddf.sql +0 -0
  397. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/snowflake/profiling/project_profiling_query.sql +0 -0
  398. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/snowflake/profiling/project_secondary_profiling_query.sql +0 -0
  399. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/snowflake/profiling/templated_functions.yaml +0 -0
  400. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/flavors/trino/profiling/project_profiling_query.yaml +0 -0
  401. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_funny_cat_tests/gen_Constant.sql +0 -0
  402. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_funny_cat_tests/gen_Distinct_Value_Ct.sql +0 -0
  403. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  404. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  405. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_query_tests/gen_Schema_Drift.sql +0 -0
  406. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_query_tests/gen_Table_Freshness.sql +0 -0
  407. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/gen_query_tests/gen_Volume_Trend.sql +0 -0
  408. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/generation/delete_stale_autogen_tests.sql +0 -0
  409. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/generation/delete_stale_monitors.sql +0 -0
  410. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/generation/gen_selection_tests.sql +0 -0
  411. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/generation/get_test_types.sql +0 -0
  412. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_connections_list.sql +0 -0
  413. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_profile_info.sql +0 -0
  414. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_profile_list.sql +0 -0
  415. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_profile_screen.sql +0 -0
  416. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_project_list.sql +0 -0
  417. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_table_group_list.sql +0 -0
  418. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_generation_list.sql +0 -0
  419. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_info.sql +0 -0
  420. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_results_for_run_cli.sql +0 -0
  421. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_run_list.sql +0 -0
  422. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_suite.sql +0 -0
  423. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/get_test_suite_list.sql +0 -0
  424. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/get_entities/list_test_types.sql +0 -0
  425. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/observability/get_event_data.sql +0 -0
  426. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/observability/get_test_results.sql +0 -0
  427. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/observability/update_test_results_exported_to_observability.sql +0 -0
  428. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/prediction/delete_staging_test_definitions.sql +0 -0
  429. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/prediction/get_historical_test_results.sql +0 -0
  430. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/prediction/update_predicted_test_thresholds.sql +0 -0
  431. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/cde_flagger_query.sql +0 -0
  432. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/datatype_suggestions.sql +0 -0
  433. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/dq_score_weight_update.sql +0 -0
  434. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/functional_datatype.sql +0 -0
  435. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/functional_tabletype_stage.sql +0 -0
  436. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/functional_tabletype_update.sql +0 -0
  437. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/pii_flag.sql +0 -0
  438. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/pii_flag_update.sql +0 -0
  439. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomalies_screen_column.sql +0 -0
  440. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomalies_screen_multi_column.sql +0 -0
  441. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomalies_screen_table.sql +0 -0
  442. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomalies_screen_table_dates.sql +0 -0
  443. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomalies_screen_variants.sql +0 -0
  444. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomaly_scoring.sql +0 -0
  445. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/profile_anomaly_types_get.sql +0 -0
  446. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/project_update_profile_results_to_estimates.sql +0 -0
  447. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/refresh_anomalies.sql +0 -0
  448. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/secondary_profiling_columns.sql +0 -0
  449. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/secondary_profiling_delete.sql +0 -0
  450. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/profiling/secondary_profiling_update.sql +0 -0
  451. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/add_cat_tests.sql +0 -0
  452. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/initial_data_seeding.sql +0 -0
  453. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/populate_target_data.sql +0 -0
  454. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/recreate_target_data_schema.sql +0 -0
  455. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/run_monitor_iteration.sql +0 -0
  456. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_cat_tests.sql +0 -0
  457. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_target_data.sql +0 -0
  458. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_target_data_iter0.sql +0 -0
  459. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_target_data_iter1.sql +0 -0
  460. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_target_data_iter2.sql +0 -0
  461. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/quick_start/update_target_data_iter3.sql +0 -0
  462. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/rollup_scores/calc_prevalence_test_results.sql +0 -0
  463. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/rollup_scores/rollup_scores_profile_run.sql +0 -0
  464. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/rollup_scores/rollup_scores_profile_table_group.sql +0 -0
  465. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/rollup_scores/rollup_scores_test_run.sql +0 -0
  466. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/rollup_scores/rollup_scores_test_table_group.sql +0 -0
  467. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/add_latest_runs.sql +0 -0
  468. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_category_scores_by_column.sql +0 -0
  469. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_category_scores_by_dimension.sql +0 -0
  470. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_category_scores_by_impact_dimension.sql +0 -0
  471. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_historical_overall_scores_by_column.sql +0 -0
  472. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_overall_scores_by_column.sql +0 -0
  473. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_breakdown_by_column.sql +0 -0
  474. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_breakdown_by_dimension.sql +0 -0
  475. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_breakdown_by_impact_dimension.sql +0 -0
  476. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_issues_by_column.sql +0 -0
  477. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_issues_by_dimension.sql +0 -0
  478. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/template/score_cards/get_score_card_issues_by_impact_dimension.sql +0 -0
  479. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/__init__.py +0 -0
  480. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/app.py +0 -0
  481. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/dk_icon.svg +0 -0
  482. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/dk_logo.svg +0 -0
  483. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/favicon.ico +0 -0
  484. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/azure_sql.svg +0 -0
  485. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/azure_synapse_table.svg +0 -0
  486. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/bigquery.svg +0 -0
  487. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/databricks.svg +0 -0
  488. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/mssql.svg +0 -0
  489. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/oracle.svg +0 -0
  490. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/postgresql.svg +0 -0
  491. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/redshift.svg +0 -0
  492. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/sap_hana.svg +0 -0
  493. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/flavors/snowflake.svg +0 -0
  494. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets/question_mark.png +0 -0
  495. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/assets.py +0 -0
  496. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/auth.py +0 -0
  497. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/bootstrap.py +0 -0
  498. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/__init__.py +0 -0
  499. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/column_distribution.js +0 -0
  500. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/column_profiling_history.js +0 -0
  501. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/column_profiling_results.js +0 -0
  502. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/data_characteristics.js +0 -0
  503. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/data_issues.js +0 -0
  504. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/data_profiling_utils.js +0 -0
  505. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/metadata_tags.js +0 -0
  506. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/table_create_script.js +0 -0
  507. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/data_profiling/table_size.js +0 -0
  508. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/application_logs.js +0 -0
  509. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/breadcrumbs.js +0 -0
  510. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/column_selector_dialog.js +0 -0
  511. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/confirmation_dialog.js +0 -0
  512. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/data_catalog.js +0 -0
  513. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/edit_monitor_settings.js +0 -0
  514. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/edit_table_monitors.js +0 -0
  515. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/help_menu.js +0 -0
  516. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/hygiene_issues.js +0 -0
  517. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/import_metadata_dialog.js +0 -0
  518. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/monitors_dashboard.js +0 -0
  519. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/notification_settings.js +0 -0
  520. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/profiling_results.js +0 -0
  521. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/profiling_runs.js +0 -0
  522. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/project_dashboard.js +0 -0
  523. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/quality_dashboard.js +0 -0
  524. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/schedule_list.js +0 -0
  525. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/schema_changes_dialog.js +0 -0
  526. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/score_details.js +0 -0
  527. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/score_explorer.js +0 -0
  528. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/sidebar.js +0 -0
  529. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/table_create_script_dialog.js +0 -0
  530. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/table_group_delete_confirmation.js +0 -0
  531. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/table_group_list.js +0 -0
  532. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/table_group_wizard.js +0 -0
  533. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/table_monitoring_trends.js +0 -0
  534. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_definition_notes.js +0 -0
  535. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_definition_summary.js +0 -0
  536. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_definitions.js +0 -0
  537. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_results.js +0 -0
  538. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_results_chart.js +0 -0
  539. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_runs.js +0 -0
  540. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/pages/test_suites.js +0 -0
  541. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/index.js +0 -0
  542. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/connection_list.js +0 -0
  543. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/connection_wizard.js +0 -0
  544. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/delete_confirmation.js +0 -0
  545. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/edit_connection.js +0 -0
  546. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/flavor_selector.js +0 -0
  547. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/login/index.js +0 -0
  548. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/login/pages/sso_login.js +0 -0
  549. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/users/index.js +0 -0
  550. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/users/pages/delete_confirmation.js +0 -0
  551. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/users/pages/user_form.js +0 -0
  552. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/users/pages/user_list.js +0 -0
  553. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugin_pages/users/types.js +0 -0
  554. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/plugins.js +0 -0
  555. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/shared/application_logs_dialog.js +0 -0
  556. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/shared/column_history_dialog.js +0 -0
  557. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/shared/data_preview_dialog.js +0 -0
  558. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/shared/profiling_results_dialog.js +0 -0
  559. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/shared/source_data_dialog.js +0 -0
  560. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/js/types.js +0 -0
  561. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/frontend/standalone/project_settings/index.js +0 -0
  562. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/utils/__init__.py +0 -0
  563. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/utils/callbacks.py +0 -0
  564. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/utils/component.py +0 -0
  565. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/__init__.py +0 -0
  566. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/card.py +0 -0
  567. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/download_dialog.py +0 -0
  568. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/page.py +0 -0
  569. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/select.py +0 -0
  570. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/sidebar.py +0 -0
  571. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/components/widgets/summary.py +0 -0
  572. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/navigation/__init__.py +0 -0
  573. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/navigation/menu.py +0 -0
  574. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/navigation/page.py +0 -0
  575. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/navigation/router.py +0 -0
  576. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/__init__.py +0 -0
  577. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/dataframe_table.py +0 -0
  578. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/dk_logo.py +0 -0
  579. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/hygiene_issue_report.py +0 -0
  580. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/style.py +0 -0
  581. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/templates.py +0 -0
  582. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/pdf/test_result_report.py +0 -0
  583. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/__init__.py +0 -0
  584. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/profiling_queries.py +0 -0
  585. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/scoring_queries.py +0 -0
  586. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/source_data_queries.py +0 -0
  587. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/table_group_queries.py +0 -0
  588. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/queries/test_result_queries.py +0 -0
  589. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/scripts/__init__.py +0 -0
  590. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/scripts/patch_streamlit.py +0 -0
  591. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/__init__.py +0 -0
  592. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/database_service.py +0 -0
  593. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/form_service.py +0 -0
  594. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/javascript_service.py +0 -0
  595. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/query_cache.py +0 -0
  596. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/rerun_service.py +0 -0
  597. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/services/string_service.py +0 -0
  598. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/session.py +0 -0
  599. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/css/highlight-default-theme.min.css +0 -0
  600. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/css/material-symbols-rounded.css +0 -0
  601. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/css/roboto-font-faces.css +0 -0
  602. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/css/shared.css +0 -0
  603. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/css/style.css +0 -0
  604. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 +0 -0
  605. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 +0 -0
  606. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  607. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  608. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/fonts/material-symbols-rounded.woff2 +0 -0
  609. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/axis_utils.js +0 -0
  610. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/alert.js +0 -0
  611. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/attribute.js +0 -0
  612. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/box_plot.js +0 -0
  613. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/breadcrumbs.js +0 -0
  614. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/button.js +0 -0
  615. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/caption.js +0 -0
  616. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/card.js +0 -0
  617. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/chart_canvas.js +0 -0
  618. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/checkbox.js +0 -0
  619. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/code.js +0 -0
  620. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/column_selector_dialog.js +0 -0
  621. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/connection_form.js +0 -0
  622. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/crontab_input.js +0 -0
  623. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/dialog.js +0 -0
  624. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/dot.js +0 -0
  625. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/dropdown_button.js +0 -0
  626. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/dual_pane.js +0 -0
  627. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/editable_card.js +0 -0
  628. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/empty_state.js +0 -0
  629. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/expander_toggle.js +0 -0
  630. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/expansion_panel.js +0 -0
  631. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/explorer_column_selector.js +0 -0
  632. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/file_input.js +0 -0
  633. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/frequency_bars.js +0 -0
  634. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/freshness_chart.js +0 -0
  635. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/generate_tests_dialog.js +0 -0
  636. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/help_menu.js +0 -0
  637. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/icon.js +0 -0
  638. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/input.js +0 -0
  639. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/line_chart.js +0 -0
  640. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/link.js +0 -0
  641. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/monitor_anomalies_summary.js +0 -0
  642. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/monitor_settings_form.js +0 -0
  643. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/monitoring_sparkline.js +0 -0
  644. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/notification_settings.js +0 -0
  645. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/paginator.js +0 -0
  646. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/percent_bar.js +0 -0
  647. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/portal.js +0 -0
  648. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/radio_group.js +0 -0
  649. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/run_profiling_dialog.js +0 -0
  650. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/run_tests_dialog.js +0 -0
  651. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/schedule_list.js +0 -0
  652. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/schema_changes_chart.js +0 -0
  653. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/schema_changes_dialog.js +0 -0
  654. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/schema_changes_list.js +0 -0
  655. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_breakdown.js +0 -0
  656. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_card.js +0 -0
  657. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_history.js +0 -0
  658. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_issues.js +0 -0
  659. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_legend.js +0 -0
  660. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/score_metric.js +0 -0
  661. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/select.js +0 -0
  662. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/slider.js +0 -0
  663. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/spark_line.js +0 -0
  664. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/spinner.js +0 -0
  665. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/summary_bar.js +0 -0
  666. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/summary_counts.js +0 -0
  667. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_create_script_dialog.js +0 -0
  668. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_group_edit_dialog.js +0 -0
  669. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_group_form.js +0 -0
  670. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_group_stats.js +0 -0
  671. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_group_test.js +0 -0
  672. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/table_group_wizard.js +0 -0
  673. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/tabs.js +0 -0
  674. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/test_definition_form.js +0 -0
  675. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/textarea.js +0 -0
  676. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/threshold_chart.js +0 -0
  677. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/toggle.js +0 -0
  678. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/tooltip.js +0 -0
  679. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/tree.js +0 -0
  680. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/truncated_text.js +0 -0
  681. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/components/wizard_progress_indicator.js +0 -0
  682. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/display_utils.js +0 -0
  683. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/form_validators.js +0 -0
  684. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/highlight.min.js +0 -0
  685. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/page_lifecycle.js +0 -0
  686. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/score_utils.js +0 -0
  687. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/scripts.js +0 -0
  688. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/sidebar.js +0 -0
  689. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/timers.js +0 -0
  690. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/utils.js +0 -0
  691. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/values.js +0 -0
  692. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/static/js/van.min.js +0 -0
  693. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/utils.py +0 -0
  694. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/__init__.py +0 -0
  695. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/connections.py +0 -0
  696. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/data_catalog.py +0 -0
  697. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/generate_tests_dialog.py +0 -0
  698. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/import_metadata_dialog.py +0 -0
  699. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/manage_notifications.py +0 -0
  700. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/manage_schedules.py +0 -0
  701. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/run_profiling_dialog.py +0 -0
  702. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/run_tests_dialog.py +0 -0
  703. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/dialogs/table_create_script_dialog.py +0 -0
  704. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/hygiene_issues.py +0 -0
  705. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/login.py +0 -0
  706. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/monitors_dashboard.py +0 -0
  707. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/profiling_results.py +0 -0
  708. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/profiling_runs.py +0 -0
  709. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/project_dashboard.py +0 -0
  710. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/project_settings.py +0 -0
  711. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/quality_dashboard.py +0 -0
  712. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/score_details.py +0 -0
  713. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/score_explorer.py +0 -0
  714. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/table_groups.py +0 -0
  715. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/test_definitions.py +0 -0
  716. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/test_results.py +0 -0
  717. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/test_runs.py +0 -0
  718. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/ui/views/test_suites.py +0 -0
  719. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/utils/__init__.py +0 -0
  720. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/utils/plugins.py +0 -0
  721. {dataops-testgen-5.32.2 → dataops-testgen-5.33.2}/testgen/utils/singleton.py +0 -0
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.1
2
+ Name: dataops-testgen
3
+ Version: 5.33.2
4
+ Summary: DataKitchen's Data Quality DataOps TestGen
5
+ Author-email: "DataKitchen, Inc." <info@datakitchen.io>
6
+ Maintainer-email: "DataKitchen, Inc." <info@datakitchen.io>
7
+ Project-URL: Source Code, https://github.com/DataKitchen/dataops-testgen
8
+ Project-URL: Bug Tracker, https://github.com/DataKitchen/dataops-testgen/issues
9
+ Project-URL: Documentation, https://docs.datakitchen.io/testgen/what-is-testgen/
10
+ Project-URL: Release Notes, https://docs.datakitchen.io/testgen/release-notes/
11
+ Project-URL: Slack, https://data-observability-slack.datakitchen.io/join
12
+ Project-URL: Homepage, https://example.com
13
+ Keywords: dataops,data,quality,testing,database,profiling
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: System :: Monitoring
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ License-File: NOTICE
25
+ Requires-Dist: PyYAML==6.0.3
26
+ Requires-Dist: click==8.3.1
27
+ Requires-Dist: sqlalchemy==2.0.48
28
+ Requires-Dist: databricks-sql-connector==4.2.5
29
+ Requires-Dist: databricks-sqlalchemy==2.0.9
30
+ Requires-Dist: databricks-sdk>=0.20.0
31
+ Requires-Dist: snowflake-sqlalchemy==1.9.0
32
+ Requires-Dist: sqlalchemy-bigquery==1.16.0
33
+ Requires-Dist: oracledb==3.4.0
34
+ Requires-Dist: hdbcli==2.25.31
35
+ Requires-Dist: sqlalchemy-hana==4.4.0
36
+ Requires-Dist: pyodbc==5.2.0
37
+ Requires-Dist: psycopg2-binary==2.9.11
38
+ Requires-Dist: pycryptodome==3.21
39
+ Requires-Dist: prettytable==3.7.0
40
+ Requires-Dist: requests_extensions==1.1.3
41
+ Requires-Dist: numpy==2.1.3
42
+ Requires-Dist: pandas==2.2.3
43
+ Requires-Dist: streamlit==1.55.0
44
+ Requires-Dist: streamlit-extras==0.3.0
45
+ Requires-Dist: streamlit-aggrid==0.3.4.post3
46
+ Requires-Dist: plotly_express==0.4.1
47
+ Requires-Dist: streamlit-authenticator==0.2.3
48
+ Requires-Dist: streamlit-javascript==0.1.5
49
+ Requires-Dist: progress==1.6
50
+ Requires-Dist: beautifulsoup4==4.12.3
51
+ Requires-Dist: trino==0.327.0
52
+ Requires-Dist: xlsxwriter==3.2.0
53
+ Requires-Dist: psutil==5.9.8
54
+ Requires-Dist: concurrent_log_handler==0.9.25
55
+ Requires-Dist: cryptography==46.0.6
56
+ Requires-Dist: validators==0.33.0
57
+ Requires-Dist: reportlab==4.2.2
58
+ Requires-Dist: cron-converter==1.2.1
59
+ Requires-Dist: cron-descriptor==2.0.5
60
+ Requires-Dist: pybars3==0.9.7
61
+ Requires-Dist: azure-identity==1.25.1
62
+ Requires-Dist: statsmodels==0.14.6
63
+ Requires-Dist: holidays~=0.89
64
+ Requires-Dist: pyarrow==21.0.0
65
+ Requires-Dist: matplotlib==3.9.2
66
+ Requires-Dist: scipy==1.14.1
67
+ Requires-Dist: jinja2==3.1.6
68
+ Requires-Dist: pillow==12.2.0
69
+ Requires-Dist: protobuf==6.33.5
70
+ Requires-Dist: mcp[cli]==1.26.0
71
+ Requires-Dist: uvicorn==0.41.0
72
+ Requires-Dist: PyJWT==2.12.0
73
+ Requires-Dist: bcrypt==5.0.0
74
+ Requires-Dist: authlib~=1.6.6
75
+ Requires-Dist: fastapi==0.135.1
76
+ Provides-Extra: standalone
77
+ Requires-Dist: pixeltable-pgserver>=0.5.1; extra == "standalone"
78
+ Provides-Extra: dev
79
+ Requires-Dist: invoke==2.2.0; extra == "dev"
80
+ Requires-Dist: ruff==0.4.1; extra == "dev"
81
+ Requires-Dist: mypy==1.9.0; extra == "dev"
82
+ Requires-Dist: pre-commit==3.6.2; extra == "dev"
83
+ Requires-Dist: types-PyYAML==6.0.12.20240311; extra == "dev"
84
+ Requires-Dist: types-setuptools==69.2.0.20240317; extra == "dev"
85
+ Requires-Dist: semver==3.0.2; extra == "dev"
86
+ Requires-Dist: pytest==8.1.1; extra == "dev"
87
+ Requires-Dist: pytest-cov==4.1.0; extra == "dev"
88
+ Requires-Dist: tomli==2.0.1; extra == "dev"
89
+ Provides-Extra: release
90
+ Requires-Dist: build==1.2.1; extra == "release"
91
+ Requires-Dist: bumpver==2023.1129; extra == "release"
92
+ Requires-Dist: twine==5.1.1; extra == "release"
93
+
94
+ # DataOps Data Quality TestGen
95
+ ![apache 2.0 license Badge](https://img.shields.io/badge/License%20-%20Apache%202.0%20-%20blue) ![PRs Badge](https://img.shields.io/badge/PRs%20-%20Welcome%20-%20green) [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2Ftags%2F&query=results%5B0%5D.name&label=latest%20version&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2F&query=pull_count&style=flat&label=docker%20pulls&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Documentation](https://img.shields.io/badge/docs-On%20datakitchen.io-06A04A?style=flat)](https://docs.datakitchen.io/testgen/what-is-testgen/) [![Static Badge](https://img.shields.io/badge/Slack-Join%20Discussion-blue?style=flat&logo=slack)](https://data-observability-slack.datakitchen.io/join)
96
+
97
+ *<p style="text-align: center;">DataOps Data Quality TestGen, or "TestGen" for short, can help you find data issues so you can alert your users and notify your suppliers. It does this by delivering simple, fast data quality test generation and execution by data profiling, new dataset screening and hygiene review, algorithmic generation of data quality validation tests, ongoing production testing of new data refreshes, and continuous anomaly monitoring of datasets. TestGen is part of DataKitchen's Open Source Data Observability.</p>*
98
+
99
+ ## Documentation
100
+
101
+ [DataOps TestGen Overview](https://datakitchen.io/dataops-testgen-product/)
102
+
103
+ [DataOps TestGen Documentation](https://docs.datakitchen.io/testgen/what-is-testgen/)
104
+
105
+
106
+ ## Features
107
+
108
+ [Interactive Product Tour](https://datakitchen.storylane.io/share/byag8vimd5tn)
109
+
110
+ What does DataKitchen's DataOps Data Quality TestGen do? It helps you understand and <b>find data issues in new data</b>.
111
+ <p align="center">
112
+ <img alt="DatKitchen Open Source Data Quality TestGen Features - New Data" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.22.57 PM.png" width="70%">
113
+ </p>
114
+ It constantly <b>watches your data for data quality anomalies</b> and lets you drill into problems.
115
+ <br></br>
116
+ <p align="center">
117
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Data Ingestion and Quality Testing" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.23.07 PM.png" width="70%">
118
+ </p>
119
+ A <b>single place to manage Data Quality</b> across data sets, locations, and teams.
120
+ <br></br>
121
+ <p align="center">
122
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Single Place" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-dataops-testgen-centralize.png" width="70%">
123
+ </p>
124
+
125
+ ## Installation
126
+
127
+ The [dk-installer](https://github.com/DataKitchen/data-observability-installer/?tab=readme-ov-file#install-the-testgen-application) program installs TestGen in either Docker or pip mode. For complete instructions, see the documentation:
128
+
129
+ * [Install on Mac/Linux](https://docs.datakitchen.io/testgen/get-started/install-on-mac-linux/)
130
+ * [Install on Windows](https://docs.datakitchen.io/testgen/get-started/install-on-windows/)
131
+
132
+ ## What Next?
133
+
134
+ ### Getting started guide
135
+ We recommend you start by going through the [Data Observability Overview Demo](https://docs.datakitchen.io/tutorials/quickstart-demo/).
136
+
137
+ ### Support
138
+ For support requests, [join the Data Observability Slack](https://data-observability-slack.datakitchen.io/join) 👋 and post on the `#support` channel.
139
+
140
+ ### Connect to your database
141
+ Follow [these instructions](https://docs.datakitchen.io/testgen/connect-your-database/) to improve the quality of data in your database.
142
+
143
+ ### Community
144
+ Talk and learn with other data practitioners who are building with DataKitchen. Share knowledge, get help, and contribute to our open-source project.
145
+
146
+ Join our community here:
147
+
148
+ * 👋 [Join us on Slack](https://data-observability-slack.datakitchen.io/join), this is also how you get support (see above)
149
+
150
+ * 🌟 [Star us on GitHub](https://github.com/DataKitchen/data-observability-installer)
151
+
152
+ * 🐦 [Follow us on Twitter](https://twitter.com/i/flow/login?redirect_after_login=%2Fdatakitchen_io)
153
+
154
+ * 🕴️ [Follow us on LinkedIn](https://www.linkedin.com/company/datakitchen)
155
+
156
+ * 📺 [Get Free DataOps Fundamentals Certification](https://info.datakitchen.io/training-certification-dataops-fundamentals)
157
+
158
+ * 📚 [Read our blog posts](https://datakitchen.io/blog/)
159
+
160
+ * 🗃 [Sign The DataOps Manifesto](https://DataOpsManifesto.org)
161
+
162
+ * 🗃 [Sign The Data Journey Manifesto](https://DataJourneyManifesto.org)
163
+
164
+
165
+ ### Contributing
166
+ For details on contributing or running the project for development, check out our [contributing guide](CONTRIBUTING.md).
167
+
168
+ ### License
169
+ DataKitchen's DataOps Data Quality TestGen is Apache 2.0 licensed.
@@ -0,0 +1,76 @@
1
+ # DataOps Data Quality TestGen
2
+ ![apache 2.0 license Badge](https://img.shields.io/badge/License%20-%20Apache%202.0%20-%20blue) ![PRs Badge](https://img.shields.io/badge/PRs%20-%20Welcome%20-%20green) [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2Ftags%2F&query=results%5B0%5D.name&label=latest%20version&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2F&query=pull_count&style=flat&label=docker%20pulls&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Documentation](https://img.shields.io/badge/docs-On%20datakitchen.io-06A04A?style=flat)](https://docs.datakitchen.io/testgen/what-is-testgen/) [![Static Badge](https://img.shields.io/badge/Slack-Join%20Discussion-blue?style=flat&logo=slack)](https://data-observability-slack.datakitchen.io/join)
3
+
4
+ *<p style="text-align: center;">DataOps Data Quality TestGen, or "TestGen" for short, can help you find data issues so you can alert your users and notify your suppliers. It does this by delivering simple, fast data quality test generation and execution by data profiling, new dataset screening and hygiene review, algorithmic generation of data quality validation tests, ongoing production testing of new data refreshes, and continuous anomaly monitoring of datasets. TestGen is part of DataKitchen's Open Source Data Observability.</p>*
5
+
6
+ ## Documentation
7
+
8
+ [DataOps TestGen Overview](https://datakitchen.io/dataops-testgen-product/)
9
+
10
+ [DataOps TestGen Documentation](https://docs.datakitchen.io/testgen/what-is-testgen/)
11
+
12
+
13
+ ## Features
14
+
15
+ [Interactive Product Tour](https://datakitchen.storylane.io/share/byag8vimd5tn)
16
+
17
+ What does DataKitchen's DataOps Data Quality TestGen do? It helps you understand and <b>find data issues in new data</b>.
18
+ <p align="center">
19
+ <img alt="DatKitchen Open Source Data Quality TestGen Features - New Data" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.22.57 PM.png" width="70%">
20
+ </p>
21
+ It constantly <b>watches your data for data quality anomalies</b> and lets you drill into problems.
22
+ <br></br>
23
+ <p align="center">
24
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Data Ingestion and Quality Testing" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.23.07 PM.png" width="70%">
25
+ </p>
26
+ A <b>single place to manage Data Quality</b> across data sets, locations, and teams.
27
+ <br></br>
28
+ <p align="center">
29
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Single Place" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-dataops-testgen-centralize.png" width="70%">
30
+ </p>
31
+
32
+ ## Installation
33
+
34
+ The [dk-installer](https://github.com/DataKitchen/data-observability-installer/?tab=readme-ov-file#install-the-testgen-application) program installs TestGen in either Docker or pip mode. For complete instructions, see the documentation:
35
+
36
+ * [Install on Mac/Linux](https://docs.datakitchen.io/testgen/get-started/install-on-mac-linux/)
37
+ * [Install on Windows](https://docs.datakitchen.io/testgen/get-started/install-on-windows/)
38
+
39
+ ## What Next?
40
+
41
+ ### Getting started guide
42
+ We recommend you start by going through the [Data Observability Overview Demo](https://docs.datakitchen.io/tutorials/quickstart-demo/).
43
+
44
+ ### Support
45
+ For support requests, [join the Data Observability Slack](https://data-observability-slack.datakitchen.io/join) 👋 and post on the `#support` channel.
46
+
47
+ ### Connect to your database
48
+ Follow [these instructions](https://docs.datakitchen.io/testgen/connect-your-database/) to improve the quality of data in your database.
49
+
50
+ ### Community
51
+ Talk and learn with other data practitioners who are building with DataKitchen. Share knowledge, get help, and contribute to our open-source project.
52
+
53
+ Join our community here:
54
+
55
+ * 👋 [Join us on Slack](https://data-observability-slack.datakitchen.io/join), this is also how you get support (see above)
56
+
57
+ * 🌟 [Star us on GitHub](https://github.com/DataKitchen/data-observability-installer)
58
+
59
+ * 🐦 [Follow us on Twitter](https://twitter.com/i/flow/login?redirect_after_login=%2Fdatakitchen_io)
60
+
61
+ * 🕴️ [Follow us on LinkedIn](https://www.linkedin.com/company/datakitchen)
62
+
63
+ * 📺 [Get Free DataOps Fundamentals Certification](https://info.datakitchen.io/training-certification-dataops-fundamentals)
64
+
65
+ * 📚 [Read our blog posts](https://datakitchen.io/blog/)
66
+
67
+ * 🗃 [Sign The DataOps Manifesto](https://DataOpsManifesto.org)
68
+
69
+ * 🗃 [Sign The Data Journey Manifesto](https://DataJourneyManifesto.org)
70
+
71
+
72
+ ### Contributing
73
+ For details on contributing or running the project for development, check out our [contributing guide](CONTRIBUTING.md).
74
+
75
+ ### License
76
+ DataKitchen's DataOps Data Quality TestGen is Apache 2.0 licensed.
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.1
2
+ Name: dataops-testgen
3
+ Version: 5.33.2
4
+ Summary: DataKitchen's Data Quality DataOps TestGen
5
+ Author-email: "DataKitchen, Inc." <info@datakitchen.io>
6
+ Maintainer-email: "DataKitchen, Inc." <info@datakitchen.io>
7
+ Project-URL: Source Code, https://github.com/DataKitchen/dataops-testgen
8
+ Project-URL: Bug Tracker, https://github.com/DataKitchen/dataops-testgen/issues
9
+ Project-URL: Documentation, https://docs.datakitchen.io/testgen/what-is-testgen/
10
+ Project-URL: Release Notes, https://docs.datakitchen.io/testgen/release-notes/
11
+ Project-URL: Slack, https://data-observability-slack.datakitchen.io/join
12
+ Project-URL: Homepage, https://example.com
13
+ Keywords: dataops,data,quality,testing,database,profiling
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: System :: Monitoring
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ License-File: NOTICE
25
+ Requires-Dist: PyYAML==6.0.3
26
+ Requires-Dist: click==8.3.1
27
+ Requires-Dist: sqlalchemy==2.0.48
28
+ Requires-Dist: databricks-sql-connector==4.2.5
29
+ Requires-Dist: databricks-sqlalchemy==2.0.9
30
+ Requires-Dist: databricks-sdk>=0.20.0
31
+ Requires-Dist: snowflake-sqlalchemy==1.9.0
32
+ Requires-Dist: sqlalchemy-bigquery==1.16.0
33
+ Requires-Dist: oracledb==3.4.0
34
+ Requires-Dist: hdbcli==2.25.31
35
+ Requires-Dist: sqlalchemy-hana==4.4.0
36
+ Requires-Dist: pyodbc==5.2.0
37
+ Requires-Dist: psycopg2-binary==2.9.11
38
+ Requires-Dist: pycryptodome==3.21
39
+ Requires-Dist: prettytable==3.7.0
40
+ Requires-Dist: requests_extensions==1.1.3
41
+ Requires-Dist: numpy==2.1.3
42
+ Requires-Dist: pandas==2.2.3
43
+ Requires-Dist: streamlit==1.55.0
44
+ Requires-Dist: streamlit-extras==0.3.0
45
+ Requires-Dist: streamlit-aggrid==0.3.4.post3
46
+ Requires-Dist: plotly_express==0.4.1
47
+ Requires-Dist: streamlit-authenticator==0.2.3
48
+ Requires-Dist: streamlit-javascript==0.1.5
49
+ Requires-Dist: progress==1.6
50
+ Requires-Dist: beautifulsoup4==4.12.3
51
+ Requires-Dist: trino==0.327.0
52
+ Requires-Dist: xlsxwriter==3.2.0
53
+ Requires-Dist: psutil==5.9.8
54
+ Requires-Dist: concurrent_log_handler==0.9.25
55
+ Requires-Dist: cryptography==46.0.6
56
+ Requires-Dist: validators==0.33.0
57
+ Requires-Dist: reportlab==4.2.2
58
+ Requires-Dist: cron-converter==1.2.1
59
+ Requires-Dist: cron-descriptor==2.0.5
60
+ Requires-Dist: pybars3==0.9.7
61
+ Requires-Dist: azure-identity==1.25.1
62
+ Requires-Dist: statsmodels==0.14.6
63
+ Requires-Dist: holidays~=0.89
64
+ Requires-Dist: pyarrow==21.0.0
65
+ Requires-Dist: matplotlib==3.9.2
66
+ Requires-Dist: scipy==1.14.1
67
+ Requires-Dist: jinja2==3.1.6
68
+ Requires-Dist: pillow==12.2.0
69
+ Requires-Dist: protobuf==6.33.5
70
+ Requires-Dist: mcp[cli]==1.26.0
71
+ Requires-Dist: uvicorn==0.41.0
72
+ Requires-Dist: PyJWT==2.12.0
73
+ Requires-Dist: bcrypt==5.0.0
74
+ Requires-Dist: authlib~=1.6.6
75
+ Requires-Dist: fastapi==0.135.1
76
+ Provides-Extra: standalone
77
+ Requires-Dist: pixeltable-pgserver>=0.5.1; extra == "standalone"
78
+ Provides-Extra: dev
79
+ Requires-Dist: invoke==2.2.0; extra == "dev"
80
+ Requires-Dist: ruff==0.4.1; extra == "dev"
81
+ Requires-Dist: mypy==1.9.0; extra == "dev"
82
+ Requires-Dist: pre-commit==3.6.2; extra == "dev"
83
+ Requires-Dist: types-PyYAML==6.0.12.20240311; extra == "dev"
84
+ Requires-Dist: types-setuptools==69.2.0.20240317; extra == "dev"
85
+ Requires-Dist: semver==3.0.2; extra == "dev"
86
+ Requires-Dist: pytest==8.1.1; extra == "dev"
87
+ Requires-Dist: pytest-cov==4.1.0; extra == "dev"
88
+ Requires-Dist: tomli==2.0.1; extra == "dev"
89
+ Provides-Extra: release
90
+ Requires-Dist: build==1.2.1; extra == "release"
91
+ Requires-Dist: bumpver==2023.1129; extra == "release"
92
+ Requires-Dist: twine==5.1.1; extra == "release"
93
+
94
+ # DataOps Data Quality TestGen
95
+ ![apache 2.0 license Badge](https://img.shields.io/badge/License%20-%20Apache%202.0%20-%20blue) ![PRs Badge](https://img.shields.io/badge/PRs%20-%20Welcome%20-%20green) [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2Ftags%2F&query=results%5B0%5D.name&label=latest%20version&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2F&query=pull_count&style=flat&label=docker%20pulls&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Documentation](https://img.shields.io/badge/docs-On%20datakitchen.io-06A04A?style=flat)](https://docs.datakitchen.io/testgen/what-is-testgen/) [![Static Badge](https://img.shields.io/badge/Slack-Join%20Discussion-blue?style=flat&logo=slack)](https://data-observability-slack.datakitchen.io/join)
96
+
97
+ *<p style="text-align: center;">DataOps Data Quality TestGen, or "TestGen" for short, can help you find data issues so you can alert your users and notify your suppliers. It does this by delivering simple, fast data quality test generation and execution by data profiling, new dataset screening and hygiene review, algorithmic generation of data quality validation tests, ongoing production testing of new data refreshes, and continuous anomaly monitoring of datasets. TestGen is part of DataKitchen's Open Source Data Observability.</p>*
98
+
99
+ ## Documentation
100
+
101
+ [DataOps TestGen Overview](https://datakitchen.io/dataops-testgen-product/)
102
+
103
+ [DataOps TestGen Documentation](https://docs.datakitchen.io/testgen/what-is-testgen/)
104
+
105
+
106
+ ## Features
107
+
108
+ [Interactive Product Tour](https://datakitchen.storylane.io/share/byag8vimd5tn)
109
+
110
+ What does DataKitchen's DataOps Data Quality TestGen do? It helps you understand and <b>find data issues in new data</b>.
111
+ <p align="center">
112
+ <img alt="DatKitchen Open Source Data Quality TestGen Features - New Data" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.22.57 PM.png" width="70%">
113
+ </p>
114
+ It constantly <b>watches your data for data quality anomalies</b> and lets you drill into problems.
115
+ <br></br>
116
+ <p align="center">
117
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Data Ingestion and Quality Testing" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-2.23.07 PM.png" width="70%">
118
+ </p>
119
+ A <b>single place to manage Data Quality</b> across data sets, locations, and teams.
120
+ <br></br>
121
+ <p align="center">
122
+ <img alt="DataKitchen Open Source Data Quality TestGen Features - Single Place" src="https://datakitchen.io/wp-content/uploads/2024/07/Screenshot-dataops-testgen-centralize.png" width="70%">
123
+ </p>
124
+
125
+ ## Installation
126
+
127
+ The [dk-installer](https://github.com/DataKitchen/data-observability-installer/?tab=readme-ov-file#install-the-testgen-application) program installs TestGen in either Docker or pip mode. For complete instructions, see the documentation:
128
+
129
+ * [Install on Mac/Linux](https://docs.datakitchen.io/testgen/get-started/install-on-mac-linux/)
130
+ * [Install on Windows](https://docs.datakitchen.io/testgen/get-started/install-on-windows/)
131
+
132
+ ## What Next?
133
+
134
+ ### Getting started guide
135
+ We recommend you start by going through the [Data Observability Overview Demo](https://docs.datakitchen.io/tutorials/quickstart-demo/).
136
+
137
+ ### Support
138
+ For support requests, [join the Data Observability Slack](https://data-observability-slack.datakitchen.io/join) 👋 and post on the `#support` channel.
139
+
140
+ ### Connect to your database
141
+ Follow [these instructions](https://docs.datakitchen.io/testgen/connect-your-database/) to improve the quality of data in your database.
142
+
143
+ ### Community
144
+ Talk and learn with other data practitioners who are building with DataKitchen. Share knowledge, get help, and contribute to our open-source project.
145
+
146
+ Join our community here:
147
+
148
+ * 👋 [Join us on Slack](https://data-observability-slack.datakitchen.io/join), this is also how you get support (see above)
149
+
150
+ * 🌟 [Star us on GitHub](https://github.com/DataKitchen/data-observability-installer)
151
+
152
+ * 🐦 [Follow us on Twitter](https://twitter.com/i/flow/login?redirect_after_login=%2Fdatakitchen_io)
153
+
154
+ * 🕴️ [Follow us on LinkedIn](https://www.linkedin.com/company/datakitchen)
155
+
156
+ * 📺 [Get Free DataOps Fundamentals Certification](https://info.datakitchen.io/training-certification-dataops-fundamentals)
157
+
158
+ * 📚 [Read our blog posts](https://datakitchen.io/blog/)
159
+
160
+ * 🗃 [Sign The DataOps Manifesto](https://DataOpsManifesto.org)
161
+
162
+ * 🗃 [Sign The Data Journey Manifesto](https://DataJourneyManifesto.org)
163
+
164
+
165
+ ### Contributing
166
+ For details on contributing or running the project for development, check out our [contributing guide](CONTRIBUTING.md).
167
+
168
+ ### License
169
+ DataKitchen's DataOps Data Quality TestGen is Apache 2.0 licensed.
@@ -61,6 +61,7 @@ testgen/common/date_service.py
61
61
  testgen/common/display_service.py
62
62
  testgen/common/docker_service.py
63
63
  testgen/common/encrypt.py
64
+ testgen/common/enums.py
64
65
  testgen/common/freshness_service.py
65
66
  testgen/common/job_context.py
66
67
  testgen/common/logs.py
@@ -128,6 +129,7 @@ testgen/mcp/tools/__init__.py
128
129
  testgen/mcp/tools/common.py
129
130
  testgen/mcp/tools/discovery.py
130
131
  testgen/mcp/tools/execution.py
132
+ testgen/mcp/tools/hygiene_issues.py
131
133
  testgen/mcp/tools/markdown.py
132
134
  testgen/mcp/tools/profiling.py
133
135
  testgen/mcp/tools/reference.py
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "dataops-testgen"
11
- version = "5.32.2"
11
+ version = "5.33.2"
12
12
  description = "DataKitchen's Data Quality DataOps TestGen"
13
13
  authors = [
14
14
  { "name" = "DataKitchen, Inc.", "email" = "info@datakitchen.io" },
@@ -1,3 +1,40 @@
1
+ # Silence streamlit's "missing ScriptRunContext" / "No runtime found" /
2
+ # "Session state does not function" warnings, which fire whenever streamlit-
3
+ # decorated code runs outside an active script run (our CLI, scheduler, server,
4
+ # and any import that touches @st.cache_data). Must run before the first
5
+ # streamlit-using import, so it sits at the top of the module.
6
+ #
7
+ # We replace ``set_log_level`` itself, after seeding it to "error". Streamlit's
8
+ # own ``_update_logger`` callback fires on config parse and would otherwise
9
+ # downgrade us back to "info"; the cap floors any later call at ERROR.
10
+ def _silence_streamlit_logs() -> None:
11
+ import logging as _logging
12
+
13
+ try:
14
+ from streamlit import logger as _st_logger
15
+ except ImportError:
16
+ return
17
+
18
+ _original = _st_logger.set_log_level
19
+ _original("error")
20
+
21
+ def _capped(level):
22
+ if isinstance(level, str):
23
+ try:
24
+ level_num = getattr(_logging, level.upper())
25
+ except AttributeError:
26
+ _original(level)
27
+ return
28
+ else:
29
+ level_num = level
30
+ _original(max(level_num, _logging.ERROR))
31
+
32
+ _st_logger.set_log_level = _capped
33
+
34
+
35
+ _silence_streamlit_logs()
36
+
37
+
1
38
  import base64
2
39
  import importlib
3
40
  import logging
@@ -60,6 +97,7 @@ from testgen.common.models.test_suite import TestSuite
60
97
  from testgen.common.notifications.base import smtp_configured
61
98
  from testgen.common.standalone_postgres import (
62
99
  STANDALONE_URI_ENV_VAR,
100
+ ensure_standalone_setup,
63
101
  get_server_uri,
64
102
  is_standalone_mode,
65
103
  )
@@ -79,12 +117,41 @@ VERSION_DATA = version_service.get_version()
79
117
  CHILDREN_POLL_INTERVAL = 10
80
118
 
81
119
 
120
+ def _subprocess_spawn_kwargs() -> dict:
121
+ """Spawn flags that let the parent send a *catchable* shutdown signal to a child.
122
+
123
+ On POSIX, ``start_new_session`` puts the child in its own session so the
124
+ console SIGINT only hits the parent. On Windows, ``CREATE_NEW_PROCESS_GROUP``
125
+ is required so the parent can deliver ``CTRL_BREAK_EVENT`` to the child —
126
+ without it, the only options are ``terminate()`` (uncatchable) or relying on
127
+ the console-wide Ctrl+C broadcast (racy).
128
+ """
129
+ if sys.platform == "win32":
130
+ return {"creationflags": subprocess.CREATE_NEW_PROCESS_GROUP}
131
+ return {"start_new_session": True}
132
+
133
+
134
+ def _install_shutdown_handler(handler) -> None:
135
+ """Register *handler* for SIGINT, SIGTERM, and (on Windows) SIGBREAK.
136
+
137
+ Windows children spawned with ``CREATE_NEW_PROCESS_GROUP`` receive
138
+ ``CTRL_BREAK_EVENT`` (delivered as SIGBREAK) instead of console Ctrl+C —
139
+ treat it the same as SIGTERM so atexit hooks run and pgserver's PID list
140
+ stays clean.
141
+ """
142
+ signal.signal(signal.SIGINT, handler)
143
+ signal.signal(signal.SIGTERM, handler)
144
+ if sigbreak := getattr(signal, "SIGBREAK", None):
145
+ signal.signal(sigbreak, handler)
146
+
147
+
82
148
  def _forward_signal_to_child(child: subprocess.Popen, signum: int) -> None:
83
- # On POSIX, forward the signal verbatim. On Windows, subprocess.send_signal
84
- # rejects everything except SIGTERM / CTRL_C_EVENT / CTRL_BREAK_EVENT, so
85
- # fall back to terminate() equivalent to TerminateProcess().
149
+ # POSIX: forward the signal verbatim. Windows: send CTRL_BREAK_EVENT so the
150
+ # child's atexit hooks run (it deregisters from pgserver's PID list, lets
151
+ # streamlit/uvicorn shut down their event loops, etc.). The child must have
152
+ # been spawned with CREATE_NEW_PROCESS_GROUP — see _subprocess_spawn_kwargs.
86
153
  if sys.platform == "win32":
87
- child.terminate()
154
+ child.send_signal(signal.CTRL_BREAK_EVENT)
88
155
  else:
89
156
  child.send_signal(signum)
90
157
 
@@ -132,7 +199,14 @@ class CliGroup(click.Group):
132
199
  @click.pass_context
133
200
  def cli(ctx: Context, verbose: bool):
134
201
  if is_standalone_mode():
135
- start_standalone_postgres()
202
+ # Children spawned by `run-app all` (and the Streamlit subprocess) inherit the
203
+ # parent's pgserver URI. They must NOT call get_server() themselves — each call
204
+ # registers the calling PID in pgserver's on-disk handle list, and any PID left
205
+ # over after a hard kill prevents the parent from actually stopping postgres.
206
+ if inherited_uri := os.environ.get(STANDALONE_URI_ENV_VAR):
207
+ ensure_standalone_setup(inherited_uri)
208
+ else:
209
+ start_standalone_postgres()
136
210
 
137
211
  if verbose:
138
212
  configure_logging(level=logging.DEBUG)
@@ -566,7 +640,7 @@ def setup_standalone(username: str, password: str):
566
640
 
567
641
  # Persist caller-supplied runtime overrides (ports, TLS) so they apply to
568
642
  # subsequent `testgen run-app` invocations.
569
- persisted_env_vars = ("TG_UI_PORT", "TG_API_PORT", "SSL_CERT_FILE", "SSL_KEY_FILE")
643
+ persisted_env_vars = ("TG_UI_PORT", "TG_API_PORT", "TESTGEN_LOG_FILE_PATH", "SSL_CERT_FILE", "SSL_KEY_FILE")
570
644
  persisted_lines = [f"{name}={os.environ[name]}" for name in persisted_env_vars if os.environ.get(name)]
571
645
  if persisted_lines:
572
646
  config_lines.extend(["", "# Runtime overrides from installer", *persisted_lines])
@@ -574,6 +648,13 @@ def setup_standalone(username: str, password: str):
574
648
  config_path.write_text("\n".join(config_lines) + "\n")
575
649
  click.echo(f"Config written to {config_path}")
576
650
 
651
+ # `getenv` resolves env vars before config.env, so a pre-existing
652
+ # TESTGEN_USERNAME / TESTGEN_PASSWORD in the shell would override the
653
+ # CLI-supplied values and get seeded into the DB. Force the CLI args
654
+ # to win for the rest of this process.
655
+ os.environ["TESTGEN_USERNAME"] = username
656
+ os.environ["TESTGEN_PASSWORD"] = password
657
+
577
658
  # Reload settings — the module was already evaluated at import time
578
659
  # before the config file existed. Reloading re-reads the new file
579
660
  # and re-evaluates all module-level variables.
@@ -880,14 +961,16 @@ def run_ui():
880
961
  app_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui/app.py")
881
962
 
882
963
  # In standalone mode, pass the pgserver URI to the Streamlit subprocess
883
- # so it can connect without acquiring the pgserver file lock.
964
+ # so it can connect without acquiring the pgserver file lock. When this
965
+ # process is itself a child of `run-app all`, the URI is already in the
966
+ # inherited environment — fall back to that so Streamlit still gets it.
884
967
  child_env = {**os.environ, "TG_JOB_SOURCE": "UI"}
885
968
  if is_standalone_mode():
886
- server_uri = get_server_uri()
969
+ server_uri = get_server_uri() or os.environ.get(STANDALONE_URI_ENV_VAR)
887
970
  if server_uri:
888
- child_env = {**os.environ, "TG_JOB_SOURCE": "UI", STANDALONE_URI_ENV_VAR: server_uri}
971
+ child_env[STANDALONE_URI_ENV_VAR] = server_uri
889
972
 
890
- process= subprocess.Popen(
973
+ process = subprocess.Popen(
891
974
  [
892
975
  sys.executable,
893
976
  "-m",
@@ -895,6 +978,7 @@ def run_ui():
895
978
  "run",
896
979
  app_file,
897
980
  "--browser.gatherUsageStats=false",
981
+ f"--logger.level={'debug' if settings.IS_DEBUG else 'error'}",
898
982
  "--client.showErrorDetails=none",
899
983
  "--client.toolbarMode=minimal",
900
984
  "--server.enableStaticServing=true",
@@ -905,12 +989,12 @@ def run_ui():
905
989
  f"{'--debug' if settings.IS_DEBUG else ''}",
906
990
  ],
907
991
  env=child_env,
992
+ **_subprocess_spawn_kwargs(),
908
993
  )
909
994
  def term_ui(signum, _):
910
995
  LOG.info(f"Sending termination signal {signum} to Testgen UI")
911
996
  _forward_signal_to_child(process, signum)
912
- signal.signal(signal.SIGINT, term_ui)
913
- signal.signal(signal.SIGTERM, term_ui)
997
+ _install_shutdown_handler(term_ui)
914
998
  status_code = process.wait()
915
999
  LOG.log(logging.ERROR if status_code != 0 else logging.INFO, f"Testgen UI exited with status code {status_code}")
916
1000
 
@@ -935,8 +1019,15 @@ def run_app(module):
935
1019
  run_server()
936
1020
 
937
1021
  case "all":
1022
+ child_env = os.environ.copy()
1023
+ if is_standalone_mode() and (server_uri := get_server_uri()):
1024
+ child_env[STANDALONE_URI_ENV_VAR] = server_uri
938
1025
  children = [
939
- subprocess.Popen([sys.executable, "-m", "testgen", "run-app", m], start_new_session=True)
1026
+ subprocess.Popen(
1027
+ [sys.executable, "-m", "testgen", "run-app", m],
1028
+ env=child_env,
1029
+ **_subprocess_spawn_kwargs(),
1030
+ )
940
1031
  for m in APP_MODULES
941
1032
  ]
942
1033
 
@@ -944,8 +1035,7 @@ def run_app(module):
944
1035
  for child in children:
945
1036
  _forward_signal_to_child(child, signum)
946
1037
 
947
- signal.signal(signal.SIGINT, term_children)
948
- signal.signal(signal.SIGTERM, term_children)
1038
+ _install_shutdown_handler(term_children)
949
1039
 
950
1040
  terminating = False
951
1041
  while children:
@@ -954,7 +1044,10 @@ def run_app(module):
954
1044
  except subprocess.TimeoutExpired:
955
1045
  pass
956
1046
 
957
- for child in children:
1047
+ # Iterate a snapshot — `children.remove(child)` inside a live iteration
1048
+ # would skip the next element and could leave a sibling un-reaped during
1049
+ # the simultaneous-exit case we're explicitly hardening for here.
1050
+ for child in list(children):
958
1051
  if child.poll() is not None:
959
1052
  children.remove(child)
960
1053
  if not terminating: