dataops-testgen 5.32.2__tar.gz → 5.33.3__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.3/PKG-INFO +169 -0
  2. dataops-testgen-5.33.3/README.md +76 -0
  3. dataops-testgen-5.33.3/dataops_testgen.egg-info/PKG-INFO +169 -0
  4. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/dataops_testgen.egg-info/SOURCES.txt +2 -0
  5. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/pyproject.toml +1 -1
  6. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/__main__.py +112 -15
  7. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_launch_db_config.py +5 -4
  8. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_quick_start.py +5 -4
  9. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/flavor_service.py +9 -2
  10. dataops-testgen-5.33.3/testgen/common/enums.py +29 -0
  11. dataops-testgen-5.33.3/testgen/common/models/hygiene_issue.py +462 -0
  12. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/profiling_run.py +17 -0
  13. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/standalone_postgres.py +7 -0
  14. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/prompts/workflows.py +34 -0
  15. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/server.py +23 -2
  16. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/common.py +93 -0
  17. dataops-testgen-5.33.3/testgen/mcp/tools/hygiene_issues.py +420 -0
  18. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/reference.py +49 -6
  19. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/test_definitions.py +13 -12
  20. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/scheduler/cli_scheduler.py +4 -0
  21. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/settings.py +9 -10
  22. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Freshness_Trend.yaml +5 -5
  23. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/connections.js +23 -3
  24. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/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.3}/LICENSE +0 -0
  30. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/NOTICE +0 -0
  31. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/dataops_testgen.egg-info/dependency_links.txt +0 -0
  32. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/dataops_testgen.egg-info/entry_points.txt +0 -0
  33. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/dataops_testgen.egg-info/requires.txt +0 -0
  34. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/dataops_testgen.egg-info/top_level.txt +0 -0
  35. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/setup.cfg +0 -0
  36. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/setup.py +0 -0
  37. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/__init__.py +0 -0
  38. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/__init__.py +0 -0
  39. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/app.py +0 -0
  40. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/deps.py +0 -0
  41. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/jobs.py +0 -0
  42. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/__init__.py +0 -0
  43. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/login.py +0 -0
  44. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/metadata.py +0 -0
  45. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/models.py +0 -0
  46. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/routes.py +0 -0
  47. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/oauth/server.py +0 -0
  48. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/runs.py +0 -0
  49. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/schemas.py +0 -0
  50. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/test_definition_service.py +0 -0
  51. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/api/test_definitions.py +0 -0
  52. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/__init__.py +0 -0
  53. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/exec_job.py +0 -0
  54. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/job_registry.py +0 -0
  55. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/job_runner.py +0 -0
  56. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/__init__.py +0 -0
  57. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/contingency_query.py +0 -0
  58. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/execute_tests_query.py +0 -0
  59. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/profiling_query.py +0 -0
  60. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/refresh_data_chars_query.py +0 -0
  61. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/queries/rollup_scores_query.py +0 -0
  62. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_get_entities.py +0 -0
  63. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_observability_exporter.py +0 -0
  64. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_pairwise_contingency_check.py +0 -0
  65. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_profiling.py +0 -0
  66. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_recalculate_project_scores.py +0 -0
  67. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_refresh_data_chars.py +0 -0
  68. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_refresh_score_cards_results.py +0 -0
  69. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_rollup_scores.py +0 -0
  70. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_score_update.py +0 -0
  71. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_test_execution.py +0 -0
  72. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_test_metadata_exporter.py +0 -0
  73. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_test_validation.py +0 -0
  74. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/run_upgrade_db_config.py +0 -0
  75. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/test_generation.py +0 -0
  76. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/commands/test_thresholds_prediction.py +0 -0
  77. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/__init__.py +0 -0
  78. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/auth.py +0 -0
  79. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/clean_sql.py +0 -0
  80. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/credentials.py +0 -0
  81. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/__init__.py +0 -0
  82. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/database_service.py +0 -0
  83. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/__init__.py +0 -0
  84. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/bigquery_flavor_service.py +0 -0
  85. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/databricks_flavor_service.py +0 -0
  86. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/mssql_flavor_service.py +0 -0
  87. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/oracle_flavor_service.py +0 -0
  88. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/postgresql_flavor_service.py +0 -0
  89. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/redshift_flavor_service.py +0 -0
  90. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/redshift_spectrum_flavor_service.py +0 -0
  91. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/sap_hana_flavor_service.py +0 -0
  92. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/snowflake_flavor_service.py +0 -0
  93. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/database/flavor/trino_flavor_service.py +0 -0
  94. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/date_service.py +0 -0
  95. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/display_service.py +0 -0
  96. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/docker_service.py +0 -0
  97. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/encrypt.py +0 -0
  98. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/freshness_service.py +0 -0
  99. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/job_context.py +0 -0
  100. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/logs.py +0 -0
  101. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/mixpanel_service.py +0 -0
  102. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/__init__.py +0 -0
  103. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/connection.py +0 -0
  104. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/custom_types.py +0 -0
  105. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/data_column.py +0 -0
  106. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/data_table.py +0 -0
  107. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/entity.py +0 -0
  108. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/job_execution.py +0 -0
  109. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/notification_settings.py +0 -0
  110. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/profile_result.py +0 -0
  111. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/project.py +0 -0
  112. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/project_membership.py +0 -0
  113. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/scheduler.py +0 -0
  114. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/scores.py +0 -0
  115. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/settings.py +0 -0
  116. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/table_group.py +0 -0
  117. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/test_definition.py +0 -0
  118. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/test_result.py +0 -0
  119. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/test_run.py +0 -0
  120. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/test_suite.py +0 -0
  121. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/models/user.py +0 -0
  122. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/__init__.py +0 -0
  123. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/base.py +0 -0
  124. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/monitor_run.py +0 -0
  125. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/notifications.py +0 -0
  126. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/profiling_run.py +0 -0
  127. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/score_drop.py +0 -0
  128. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/notifications/test_run.py +0 -0
  129. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/pii_masking.py +0 -0
  130. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/read_file.py +0 -0
  131. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/read_yaml_metadata_records.py +0 -0
  132. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/source_data_service.py +0 -0
  133. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/time_series_service.py +0 -0
  134. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/common/version_service.py +0 -0
  135. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/__init__.py +0 -0
  136. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/auth.py +0 -0
  137. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/exceptions.py +0 -0
  138. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/permissions.py +0 -0
  139. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/prompts/__init__.py +0 -0
  140. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/services/__init__.py +0 -0
  141. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/services/inventory_service.py +0 -0
  142. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/__init__.py +0 -0
  143. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/discovery.py +0 -0
  144. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/execution.py +0 -0
  145. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/markdown.py +0 -0
  146. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/profiling.py +0 -0
  147. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/source_data.py +0 -0
  148. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/test_results.py +0 -0
  149. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/mcp/tools/test_runs.py +0 -0
  150. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/scheduler/__init__.py +0 -0
  151. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/scheduler/base.py +0 -0
  152. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/server/__init__.py +0 -0
  153. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/contingency/contingency_columns.sql +0 -0
  154. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/contingency/contingency_counts.sql +0 -0
  155. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/data_chars/data_chars_staging_delete.sql +0 -0
  156. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/data_chars/data_chars_update.sql +0 -0
  157. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/010_create_base_schema.sql +0 -0
  158. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/020_create_standard_functions_sprocs.sql +0 -0
  159. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/030_initialize_new_schema_structure.sql +0 -0
  160. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/040_populate_new_schema_project.sql +0 -0
  161. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/050_populate_new_schema_metadata.sql +0 -0
  162. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/055_recreate_metadata_constraints.sql +0 -0
  163. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/060_create_standard_views.sql +0 -0
  164. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/070_create_default_users.sql +0 -0
  165. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/075_grant_role_rights.sql +0 -0
  166. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup/080_set_current_revision.sql +0 -0
  167. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Boolean_Value_Mismatch.yaml +0 -0
  168. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/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.3}/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.3}/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.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Column_Pattern_Mismatch.yaml +0 -0
  172. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Delimited_Data_Embedded.yaml +0 -0
  173. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Inconsistent_Casing.yaml +0 -0
  174. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Invalid_Zip3_USA.yaml +0 -0
  175. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Invalid_Zip_USA.yaml +0 -0
  176. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Leading_Spaces.yaml +0 -0
  177. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Multiple_Types_Major.yaml +0 -0
  178. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Multiple_Types_Minor.yaml +0 -0
  179. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_No_Values.yaml +0 -0
  180. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/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.3}/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.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Printing_Chars.yaml +0 -0
  183. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Non_Standard_Blanks.yaml +0 -0
  184. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Potential_Duplicates.yaml +0 -0
  185. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Potential_PII.yaml +0 -0
  186. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Quoted_Values.yaml +0 -0
  187. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Recency_One_Year.yaml +0 -0
  188. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Recency_Six_Months.yaml +0 -0
  189. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/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.3}/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.3}/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.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Standardized_Value_Matches.yaml +0 -0
  193. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Suggested_Type.yaml +0 -0
  194. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Table_Pattern_Mismatch.yaml +0 -0
  195. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unexpected_Emails.yaml +0 -0
  196. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unexpected_US_States.yaml +0 -0
  197. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Unlikely_Date_Values.yaml +0 -0
  198. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_anomaly_types/profile_anomaly_types_Variant_Coded_Values.yaml +0 -0
  199. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance.yaml +0 -0
  200. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance_Percent.yaml +0 -0
  201. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Aggregate_Balance_Range.yaml +0 -0
  202. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Aggregate_Minimum.yaml +0 -0
  203. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Alpha_Trunc.yaml +0 -0
  204. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Avg_Shift.yaml +0 -0
  205. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_CUSTOM.yaml +0 -0
  206. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Combo_Match.yaml +0 -0
  207. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Condition_Flag.yaml +0 -0
  208. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Constant.yaml +0 -0
  209. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Daily_Record_Ct.yaml +0 -0
  210. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Dec_Trunc.yaml +0 -0
  211. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Distinct_Date_Ct.yaml +0 -0
  212. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Distinct_Value_Ct.yaml +0 -0
  213. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Distribution_Shift.yaml +0 -0
  214. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Dupe_Rows.yaml +0 -0
  215. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Email_Format.yaml +0 -0
  216. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Future_Date.yaml +0 -0
  217. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Future_Date_1Y.yaml +0 -0
  218. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Incr_Avg_Shift.yaml +0 -0
  219. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_LOV_All.yaml +0 -0
  220. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_LOV_Match.yaml +0 -0
  221. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Metric_Trend.yaml +0 -0
  222. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Min_Date.yaml +0 -0
  223. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Min_Val.yaml +0 -0
  224. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Missing_Pct.yaml +0 -0
  225. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Monthly_Rec_Ct.yaml +0 -0
  226. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Outlier_Pct_Above.yaml +0 -0
  227. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Outlier_Pct_Below.yaml +0 -0
  228. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Pattern_Match.yaml +0 -0
  229. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Recency.yaml +0 -0
  230. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Required.yaml +0 -0
  231. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Row_Ct.yaml +0 -0
  232. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Row_Ct_Pct.yaml +0 -0
  233. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Schema_Drift.yaml +0 -0
  234. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Street_Addr_Pattern.yaml +0 -0
  235. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Table_Freshness.yaml +0 -0
  236. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Timeframe_Combo_Gain.yaml +0 -0
  237. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Timeframe_Combo_Match.yaml +0 -0
  238. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_US_State.yaml +0 -0
  239. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Unique.yaml +0 -0
  240. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Unique_Pct.yaml +0 -0
  241. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Valid_Characters.yaml +0 -0
  242. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Valid_Month.yaml +0 -0
  243. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Valid_US_Zip.yaml +0 -0
  244. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Valid_US_Zip3.yaml +0 -0
  245. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Variability_Decrease.yaml +0 -0
  246. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Variability_Increase.yaml +0 -0
  247. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Volume_Trend.yaml +0 -0
  248. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbsetup_test_types/test_types_Weekly_Rec_Ct.yaml +0 -0
  249. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0100_incremental_upgrade.sql +0 -0
  250. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0101_incremental_upgrade.sql +0 -0
  251. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0102_incremental_upgrade.sql +0 -0
  252. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0103_incremental_upgrade.sql +0 -0
  253. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0104_incremental_upgrade.sql +0 -0
  254. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0105_incremental_upgrade.sql +0 -0
  255. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0106_incremental_upgrade.sql +0 -0
  256. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0107_incremental_upgrade.sql +0 -0
  257. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0108_incremental_upgrade.sql +0 -0
  258. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0109_incremental_upgrade.sql +0 -0
  259. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0110_incremental_upgrade.sql +0 -0
  260. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0111_incremental_upgrade.sql +0 -0
  261. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0112_incremental_upgrade.sql +0 -0
  262. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0113_incremental_upgrade.sql +0 -0
  263. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0114_incremental_upgrade.sql +0 -0
  264. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0115_incremental_upgrade.sql +0 -0
  265. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0116_incremental_upgrade.sql +0 -0
  266. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0117_incremental_upgrade.sql +0 -0
  267. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0118_incremental_upgrade.sql +0 -0
  268. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0119_incremental_upgrade.sql +0 -0
  269. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0120_incremental_upgrade.sql +0 -0
  270. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0121_incremental_upgrade.sql +0 -0
  271. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0122_incremental_upgrade.sql +0 -0
  272. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0123_incremental_upgrade.sql +0 -0
  273. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0124_incremental_upgrade.sql +0 -0
  274. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0125_incremental_upgrade.sql +0 -0
  275. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0126_incremental_upgrade.sql +0 -0
  276. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0127_incremental_upgrade.sql +0 -0
  277. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0128_incremental_upgrade.sql +0 -0
  278. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0129_incremental_upgrade.sql +0 -0
  279. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0130_incremental_upgrade.sql +0 -0
  280. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0131_incremental_upgrade.sql +0 -0
  281. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0132_incremental_upgrade.sql +0 -0
  282. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0133_incremental_upgrade.sql +0 -0
  283. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0134_incremental_upgrade.sql +0 -0
  284. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0135_incremental_upgrade.sql +0 -0
  285. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0136_incremental_upgrade.sql +0 -0
  286. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0137_incremental_upgrade.sql +0 -0
  287. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0138_incremental_upgrade.sql +0 -0
  288. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0139_incremental_upgrade.sql +0 -0
  289. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0140_incremental_upgrade.sql +0 -0
  290. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0141_incremental_upgrade.sql +0 -0
  291. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0142_incremental_upgrade.sql +0 -0
  292. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0143_incremental_upgrade.sql +0 -0
  293. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0144_incremental_upgrade.sql +0 -0
  294. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0145_incremental_upgrade.sql +0 -0
  295. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0146_incremental_upgrade.sql +0 -0
  296. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0147_incremental_upgrade.sql +0 -0
  297. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0148_incremental_upgrade.sql +0 -0
  298. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0149_incremental_upgrade.sql +0 -0
  299. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0150_incremental_upgrade.sql +0 -0
  300. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0151_incremental_upgrade.sql +0 -0
  301. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0152_incremental_upgrade.sql +0 -0
  302. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0153_incremental_upgrade.sql +0 -0
  303. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0154_incremental_upgrade.sql +0 -0
  304. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0155_incremental_upgrade.sql +0 -0
  305. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0156_incremental_upgrade.sql +0 -0
  306. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0157_incremental_upgrade.sql +0 -0
  307. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0158_incremental_upgrade.sql +0 -0
  308. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0159_incremental_upgrade.sql +0 -0
  309. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0160_incremental_upgrade.sql +0 -0
  310. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0161_incremental_upgrade.sql +0 -0
  311. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0162_incremental_upgrade.sql +0 -0
  312. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0163_incremental_upgrade.sql +0 -0
  313. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0164_incremental_upgrade.sql +0 -0
  314. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0165_incremental_upgrade.sql +0 -0
  315. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0166_incremental_upgrade.sql +0 -0
  316. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0167_incremental_upgrade.sql +0 -0
  317. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0168_incremental_upgrade.sql +0 -0
  318. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0169_incremental_upgrade.sql +0 -0
  319. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0170_incremental_upgrade.sql +0 -0
  320. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0171_incremental_upgrade.sql +0 -0
  321. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0172_incremental_upgrade.sql +0 -0
  322. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0173_incremental_upgrade.sql +0 -0
  323. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0174_incremental_upgrade.sql +0 -0
  324. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0175_incremental_upgrade.sql +0 -0
  325. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0176_incremental_upgrade.sql +0 -0
  326. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0177_incremental_upgrade.sql +0 -0
  327. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0178_incremental_upgrade.sql +0 -0
  328. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0179_incremental_upgrade.sql +0 -0
  329. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0180_incremental_upgrade.sql +0 -0
  330. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0181_incremental_upgrade.sql +0 -0
  331. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0182_incremental_upgrade.sql +0 -0
  332. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0183_incremental_upgrade.sql +0 -0
  333. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0184_incremental_upgrade.sql +0 -0
  334. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0185_incremental_upgrade.sql +0 -0
  335. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0186_incremental_upgrade.sql +0 -0
  336. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade/0187_incremental_upgrade.sql +0 -0
  337. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/dbupgrade_helpers/get_tg_revision.sql +0 -0
  338. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/disable_invalid_test_definitions.sql +0 -0
  339. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/ex_get_tests_metadata.sql +0 -0
  340. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/get_active_test_definitions.sql +0 -0
  341. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/get_errored_autogen_monitors.sql +0 -0
  342. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/get_missing_freshness_monitors.sql +0 -0
  343. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/has_schema_changes.sql +0 -0
  344. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/update_history_calc_thresholds.sql +0 -0
  345. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/update_test_results.sql +0 -0
  346. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/execution/update_test_run_stats.sql +0 -0
  347. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/data_chars/get_schema_ddf.sql +0 -0
  348. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  349. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/gen_query_tests/gen_Table_Freshness.sql +0 -0
  350. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/profiling/project_profiling_query.sql +0 -0
  351. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/profiling/project_secondary_profiling_query.sql +0 -0
  352. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/profiling/templated_functions.yaml +0 -0
  353. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/bigquery/validate_tests/get_target_identifiers.sql +0 -0
  354. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/data_chars/get_schema_ddf.sql +0 -0
  355. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  356. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/gen_query_tests/gen_Table_Freshness.sql +0 -0
  357. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/profiling/project_profiling_query.sql +0 -0
  358. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/profiling/project_secondary_profiling_query.sql +0 -0
  359. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/databricks/profiling/templated_functions.yaml +0 -0
  360. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/generic/validate_tests/get_target_identifiers.sql +0 -0
  361. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/data_chars/get_schema_ddf.sql +0 -0
  362. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  363. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/gen_query_tests/gen_Table_Freshness.sql +0 -0
  364. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/profiling/project_profiling_query.sql +0 -0
  365. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/profiling/project_secondary_profiling_query.sql +0 -0
  366. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/mssql/profiling/templated_functions.yaml +0 -0
  367. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/data_chars/get_schema_ddf.sql +0 -0
  368. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  369. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  370. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/gen_query_tests/gen_Table_Freshness.sql +0 -0
  371. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/profiling/project_profiling_query.sql +0 -0
  372. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/profiling/project_secondary_profiling_query.sql +0 -0
  373. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/profiling/templated_functions.yaml +0 -0
  374. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/oracle/validate_tests/get_target_identifiers.sql +0 -0
  375. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/postgresql/data_chars/get_schema_ddf.sql +0 -0
  376. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/postgresql/profiling/project_profiling_query.sql +0 -0
  377. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/postgresql/profiling/project_secondary_profiling_query.sql +0 -0
  378. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/postgresql/profiling/templated_functions.yaml +0 -0
  379. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift/data_chars/get_schema_ddf.sql +0 -0
  380. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift/profiling/project_profiling_query.sql +0 -0
  381. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift/profiling/project_secondary_profiling_query.sql +0 -0
  382. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift/profiling/templated_functions.yaml +0 -0
  383. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift_spectrum/data_chars/get_schema_ddf.sql +0 -0
  384. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift_spectrum/profiling/project_profiling_query.sql +0 -0
  385. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift_spectrum/profiling/project_secondary_profiling_query.sql +0 -0
  386. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift_spectrum/profiling/templated_functions.yaml +0 -0
  387. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/redshift_spectrum/validate_tests/get_target_identifiers.sql +0 -0
  388. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/data_chars/get_schema_ddf.sql +0 -0
  389. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  390. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  391. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/gen_query_tests/gen_Table_Freshness.sql +0 -0
  392. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/profiling/project_profiling_query.sql +0 -0
  393. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/profiling/project_secondary_profiling_query.sql +0 -0
  394. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/profiling/templated_functions.yaml +0 -0
  395. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/sap_hana/validate_tests/get_target_identifiers.sql +0 -0
  396. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/snowflake/data_chars/get_schema_ddf.sql +0 -0
  397. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/snowflake/profiling/project_profiling_query.sql +0 -0
  398. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/snowflake/profiling/project_secondary_profiling_query.sql +0 -0
  399. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/snowflake/profiling/templated_functions.yaml +0 -0
  400. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/flavors/trino/profiling/project_profiling_query.yaml +0 -0
  401. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_funny_cat_tests/gen_Constant.sql +0 -0
  402. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_funny_cat_tests/gen_Distinct_Value_Ct.sql +0 -0
  403. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_query_tests/gen_Dupe_Rows.sql +0 -0
  404. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_query_tests/gen_Freshness_Trend.sql +0 -0
  405. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_query_tests/gen_Schema_Drift.sql +0 -0
  406. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_query_tests/gen_Table_Freshness.sql +0 -0
  407. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/gen_query_tests/gen_Volume_Trend.sql +0 -0
  408. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/generation/delete_stale_autogen_tests.sql +0 -0
  409. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/generation/delete_stale_monitors.sql +0 -0
  410. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/generation/gen_selection_tests.sql +0 -0
  411. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/generation/get_test_types.sql +0 -0
  412. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_connections_list.sql +0 -0
  413. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_profile_info.sql +0 -0
  414. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_profile_list.sql +0 -0
  415. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_profile_screen.sql +0 -0
  416. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_project_list.sql +0 -0
  417. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_table_group_list.sql +0 -0
  418. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_generation_list.sql +0 -0
  419. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_info.sql +0 -0
  420. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_results_for_run_cli.sql +0 -0
  421. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_run_list.sql +0 -0
  422. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_suite.sql +0 -0
  423. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/get_test_suite_list.sql +0 -0
  424. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/get_entities/list_test_types.sql +0 -0
  425. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/observability/get_event_data.sql +0 -0
  426. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/observability/get_test_results.sql +0 -0
  427. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/observability/update_test_results_exported_to_observability.sql +0 -0
  428. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/prediction/delete_staging_test_definitions.sql +0 -0
  429. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/prediction/get_historical_test_results.sql +0 -0
  430. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/prediction/update_predicted_test_thresholds.sql +0 -0
  431. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/cde_flagger_query.sql +0 -0
  432. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/datatype_suggestions.sql +0 -0
  433. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/dq_score_weight_update.sql +0 -0
  434. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/functional_datatype.sql +0 -0
  435. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/functional_tabletype_stage.sql +0 -0
  436. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/functional_tabletype_update.sql +0 -0
  437. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/pii_flag.sql +0 -0
  438. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/pii_flag_update.sql +0 -0
  439. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomalies_screen_column.sql +0 -0
  440. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomalies_screen_multi_column.sql +0 -0
  441. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomalies_screen_table.sql +0 -0
  442. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomalies_screen_table_dates.sql +0 -0
  443. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomalies_screen_variants.sql +0 -0
  444. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomaly_scoring.sql +0 -0
  445. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/profile_anomaly_types_get.sql +0 -0
  446. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/project_update_profile_results_to_estimates.sql +0 -0
  447. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/refresh_anomalies.sql +0 -0
  448. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/secondary_profiling_columns.sql +0 -0
  449. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/secondary_profiling_delete.sql +0 -0
  450. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/profiling/secondary_profiling_update.sql +0 -0
  451. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/add_cat_tests.sql +0 -0
  452. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/initial_data_seeding.sql +0 -0
  453. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/populate_target_data.sql +0 -0
  454. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/recreate_target_data_schema.sql +0 -0
  455. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/run_monitor_iteration.sql +0 -0
  456. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_cat_tests.sql +0 -0
  457. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_target_data.sql +0 -0
  458. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_target_data_iter0.sql +0 -0
  459. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_target_data_iter1.sql +0 -0
  460. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_target_data_iter2.sql +0 -0
  461. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/quick_start/update_target_data_iter3.sql +0 -0
  462. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/rollup_scores/calc_prevalence_test_results.sql +0 -0
  463. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/rollup_scores/rollup_scores_profile_run.sql +0 -0
  464. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/rollup_scores/rollup_scores_profile_table_group.sql +0 -0
  465. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/rollup_scores/rollup_scores_test_run.sql +0 -0
  466. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/rollup_scores/rollup_scores_test_table_group.sql +0 -0
  467. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/add_latest_runs.sql +0 -0
  468. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_category_scores_by_column.sql +0 -0
  469. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_category_scores_by_dimension.sql +0 -0
  470. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_category_scores_by_impact_dimension.sql +0 -0
  471. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_historical_overall_scores_by_column.sql +0 -0
  472. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_overall_scores_by_column.sql +0 -0
  473. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_breakdown_by_column.sql +0 -0
  474. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_breakdown_by_dimension.sql +0 -0
  475. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_breakdown_by_impact_dimension.sql +0 -0
  476. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_issues_by_column.sql +0 -0
  477. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_issues_by_dimension.sql +0 -0
  478. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/template/score_cards/get_score_card_issues_by_impact_dimension.sql +0 -0
  479. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/__init__.py +0 -0
  480. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/app.py +0 -0
  481. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/dk_icon.svg +0 -0
  482. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/dk_logo.svg +0 -0
  483. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/favicon.ico +0 -0
  484. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/azure_sql.svg +0 -0
  485. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/azure_synapse_table.svg +0 -0
  486. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/bigquery.svg +0 -0
  487. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/databricks.svg +0 -0
  488. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/mssql.svg +0 -0
  489. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/oracle.svg +0 -0
  490. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/postgresql.svg +0 -0
  491. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/redshift.svg +0 -0
  492. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/sap_hana.svg +0 -0
  493. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/flavors/snowflake.svg +0 -0
  494. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets/question_mark.png +0 -0
  495. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/assets.py +0 -0
  496. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/auth.py +0 -0
  497. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/bootstrap.py +0 -0
  498. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/__init__.py +0 -0
  499. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/column_distribution.js +0 -0
  500. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/column_profiling_history.js +0 -0
  501. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/column_profiling_results.js +0 -0
  502. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/data_characteristics.js +0 -0
  503. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/data_issues.js +0 -0
  504. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/data_profiling_utils.js +0 -0
  505. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/metadata_tags.js +0 -0
  506. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/table_create_script.js +0 -0
  507. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/data_profiling/table_size.js +0 -0
  508. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/application_logs.js +0 -0
  509. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/breadcrumbs.js +0 -0
  510. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/column_selector_dialog.js +0 -0
  511. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/confirmation_dialog.js +0 -0
  512. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/data_catalog.js +0 -0
  513. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/edit_monitor_settings.js +0 -0
  514. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/edit_table_monitors.js +0 -0
  515. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/help_menu.js +0 -0
  516. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/hygiene_issues.js +0 -0
  517. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/import_metadata_dialog.js +0 -0
  518. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/monitors_dashboard.js +0 -0
  519. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/notification_settings.js +0 -0
  520. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/profiling_results.js +0 -0
  521. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/profiling_runs.js +0 -0
  522. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/project_dashboard.js +0 -0
  523. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/quality_dashboard.js +0 -0
  524. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/schedule_list.js +0 -0
  525. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/schema_changes_dialog.js +0 -0
  526. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/score_details.js +0 -0
  527. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/score_explorer.js +0 -0
  528. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/sidebar.js +0 -0
  529. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/table_create_script_dialog.js +0 -0
  530. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/table_group_delete_confirmation.js +0 -0
  531. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/table_group_list.js +0 -0
  532. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/table_group_wizard.js +0 -0
  533. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/table_monitoring_trends.js +0 -0
  534. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_definition_notes.js +0 -0
  535. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_definition_summary.js +0 -0
  536. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_definitions.js +0 -0
  537. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_results.js +0 -0
  538. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_results_chart.js +0 -0
  539. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_runs.js +0 -0
  540. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/pages/test_suites.js +0 -0
  541. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/index.js +0 -0
  542. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/connection_list.js +0 -0
  543. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/connection_wizard.js +0 -0
  544. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/delete_confirmation.js +0 -0
  545. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/edit_connection.js +0 -0
  546. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/connections/pages/flavor_selector.js +0 -0
  547. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/login/index.js +0 -0
  548. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/login/pages/sso_login.js +0 -0
  549. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/users/index.js +0 -0
  550. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/users/pages/delete_confirmation.js +0 -0
  551. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/users/pages/user_form.js +0 -0
  552. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/users/pages/user_list.js +0 -0
  553. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugin_pages/users/types.js +0 -0
  554. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/plugins.js +0 -0
  555. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/shared/application_logs_dialog.js +0 -0
  556. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/shared/column_history_dialog.js +0 -0
  557. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/shared/data_preview_dialog.js +0 -0
  558. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/shared/profiling_results_dialog.js +0 -0
  559. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/shared/source_data_dialog.js +0 -0
  560. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/js/types.js +0 -0
  561. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/frontend/standalone/project_settings/index.js +0 -0
  562. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/utils/__init__.py +0 -0
  563. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/utils/callbacks.py +0 -0
  564. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/utils/component.py +0 -0
  565. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/__init__.py +0 -0
  566. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/card.py +0 -0
  567. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/download_dialog.py +0 -0
  568. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/page.py +0 -0
  569. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/select.py +0 -0
  570. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/sidebar.py +0 -0
  571. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/components/widgets/summary.py +0 -0
  572. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/navigation/__init__.py +0 -0
  573. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/navigation/menu.py +0 -0
  574. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/navigation/page.py +0 -0
  575. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/navigation/router.py +0 -0
  576. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/__init__.py +0 -0
  577. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/dataframe_table.py +0 -0
  578. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/dk_logo.py +0 -0
  579. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/hygiene_issue_report.py +0 -0
  580. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/style.py +0 -0
  581. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/templates.py +0 -0
  582. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/pdf/test_result_report.py +0 -0
  583. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/__init__.py +0 -0
  584. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/profiling_queries.py +0 -0
  585. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/scoring_queries.py +0 -0
  586. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/source_data_queries.py +0 -0
  587. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/table_group_queries.py +0 -0
  588. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/queries/test_result_queries.py +0 -0
  589. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/scripts/__init__.py +0 -0
  590. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/scripts/patch_streamlit.py +0 -0
  591. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/__init__.py +0 -0
  592. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/database_service.py +0 -0
  593. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/form_service.py +0 -0
  594. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/javascript_service.py +0 -0
  595. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/query_cache.py +0 -0
  596. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/rerun_service.py +0 -0
  597. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/services/string_service.py +0 -0
  598. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/session.py +0 -0
  599. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/css/highlight-default-theme.min.css +0 -0
  600. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/css/material-symbols-rounded.css +0 -0
  601. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/css/roboto-font-faces.css +0 -0
  602. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/css/shared.css +0 -0
  603. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/css/style.css +0 -0
  604. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 +0 -0
  605. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 +0 -0
  606. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  607. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  608. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/fonts/material-symbols-rounded.woff2 +0 -0
  609. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/axis_utils.js +0 -0
  610. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/alert.js +0 -0
  611. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/attribute.js +0 -0
  612. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/box_plot.js +0 -0
  613. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/breadcrumbs.js +0 -0
  614. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/button.js +0 -0
  615. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/caption.js +0 -0
  616. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/card.js +0 -0
  617. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/chart_canvas.js +0 -0
  618. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/checkbox.js +0 -0
  619. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/code.js +0 -0
  620. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/column_selector_dialog.js +0 -0
  621. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/connection_form.js +0 -0
  622. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/crontab_input.js +0 -0
  623. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/dialog.js +0 -0
  624. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/dot.js +0 -0
  625. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/dropdown_button.js +0 -0
  626. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/dual_pane.js +0 -0
  627. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/editable_card.js +0 -0
  628. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/empty_state.js +0 -0
  629. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/expander_toggle.js +0 -0
  630. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/expansion_panel.js +0 -0
  631. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/explorer_column_selector.js +0 -0
  632. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/file_input.js +0 -0
  633. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/frequency_bars.js +0 -0
  634. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/freshness_chart.js +0 -0
  635. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/generate_tests_dialog.js +0 -0
  636. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/help_menu.js +0 -0
  637. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/icon.js +0 -0
  638. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/input.js +0 -0
  639. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/line_chart.js +0 -0
  640. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/link.js +0 -0
  641. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/monitor_anomalies_summary.js +0 -0
  642. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/monitor_settings_form.js +0 -0
  643. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/monitoring_sparkline.js +0 -0
  644. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/notification_settings.js +0 -0
  645. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/paginator.js +0 -0
  646. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/percent_bar.js +0 -0
  647. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/portal.js +0 -0
  648. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/radio_group.js +0 -0
  649. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/run_profiling_dialog.js +0 -0
  650. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/run_tests_dialog.js +0 -0
  651. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/schedule_list.js +0 -0
  652. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/schema_changes_chart.js +0 -0
  653. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/schema_changes_dialog.js +0 -0
  654. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/schema_changes_list.js +0 -0
  655. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_breakdown.js +0 -0
  656. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_card.js +0 -0
  657. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_history.js +0 -0
  658. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_issues.js +0 -0
  659. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_legend.js +0 -0
  660. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/score_metric.js +0 -0
  661. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/select.js +0 -0
  662. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/slider.js +0 -0
  663. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/spark_line.js +0 -0
  664. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/spinner.js +0 -0
  665. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/summary_bar.js +0 -0
  666. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/summary_counts.js +0 -0
  667. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_create_script_dialog.js +0 -0
  668. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_group_edit_dialog.js +0 -0
  669. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_group_form.js +0 -0
  670. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_group_stats.js +0 -0
  671. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_group_test.js +0 -0
  672. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/table_group_wizard.js +0 -0
  673. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/tabs.js +0 -0
  674. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/test_definition_form.js +0 -0
  675. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/textarea.js +0 -0
  676. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/threshold_chart.js +0 -0
  677. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/toggle.js +0 -0
  678. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/tooltip.js +0 -0
  679. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/tree.js +0 -0
  680. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/truncated_text.js +0 -0
  681. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/components/wizard_progress_indicator.js +0 -0
  682. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/display_utils.js +0 -0
  683. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/form_validators.js +0 -0
  684. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/highlight.min.js +0 -0
  685. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/page_lifecycle.js +0 -0
  686. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/score_utils.js +0 -0
  687. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/scripts.js +0 -0
  688. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/sidebar.js +0 -0
  689. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/timers.js +0 -0
  690. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/utils.js +0 -0
  691. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/values.js +0 -0
  692. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/static/js/van.min.js +0 -0
  693. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/utils.py +0 -0
  694. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/__init__.py +0 -0
  695. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/connections.py +0 -0
  696. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/data_catalog.py +0 -0
  697. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/generate_tests_dialog.py +0 -0
  698. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/import_metadata_dialog.py +0 -0
  699. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/manage_notifications.py +0 -0
  700. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/manage_schedules.py +0 -0
  701. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/run_profiling_dialog.py +0 -0
  702. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/run_tests_dialog.py +0 -0
  703. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/dialogs/table_create_script_dialog.py +0 -0
  704. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/hygiene_issues.py +0 -0
  705. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/login.py +0 -0
  706. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/monitors_dashboard.py +0 -0
  707. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/profiling_results.py +0 -0
  708. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/profiling_runs.py +0 -0
  709. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/project_dashboard.py +0 -0
  710. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/project_settings.py +0 -0
  711. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/quality_dashboard.py +0 -0
  712. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/score_details.py +0 -0
  713. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/score_explorer.py +0 -0
  714. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/table_groups.py +0 -0
  715. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/test_definitions.py +0 -0
  716. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/test_results.py +0 -0
  717. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/test_runs.py +0 -0
  718. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/ui/views/test_suites.py +0 -0
  719. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/utils/__init__.py +0 -0
  720. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/utils/plugins.py +0 -0
  721. {dataops-testgen-5.32.2 → dataops-testgen-5.33.3}/testgen/utils/singleton.py +0 -0
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.1
2
+ Name: dataops-testgen
3
+ Version: 5.33.3
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.3
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.3"
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,10 +117,43 @@ 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: TerminateProcess — graceful
150
+ # CTRL_BREAK_EVENT delivery is unreliable here because some children
151
+ # (notably the scheduler thread blocked in threading.Event.wait, and
152
+ # Streamlit/tornado) don't wake on SIGBREAK, leaving the parent's
153
+ # children-watcher loop hung forever. Force-kill is safe: children no
154
+ # longer call pgserver.get_server(), so there's no on-disk PID registry
155
+ # state to clean up — only the parent owns the pgserver handle and
156
+ # exits via the normal atexit path.
86
157
  if sys.platform == "win32":
87
158
  child.terminate()
88
159
  else:
@@ -132,7 +203,14 @@ class CliGroup(click.Group):
132
203
  @click.pass_context
133
204
  def cli(ctx: Context, verbose: bool):
134
205
  if is_standalone_mode():
135
- start_standalone_postgres()
206
+ # Children spawned by `run-app all` (and the Streamlit subprocess) inherit the
207
+ # parent's pgserver URI. They must NOT call get_server() themselves — each call
208
+ # registers the calling PID in pgserver's on-disk handle list, and any PID left
209
+ # over after a hard kill prevents the parent from actually stopping postgres.
210
+ if inherited_uri := os.environ.get(STANDALONE_URI_ENV_VAR):
211
+ ensure_standalone_setup(inherited_uri)
212
+ else:
213
+ start_standalone_postgres()
136
214
 
137
215
  if verbose:
138
216
  configure_logging(level=logging.DEBUG)
@@ -566,7 +644,7 @@ def setup_standalone(username: str, password: str):
566
644
 
567
645
  # Persist caller-supplied runtime overrides (ports, TLS) so they apply to
568
646
  # subsequent `testgen run-app` invocations.
569
- persisted_env_vars = ("TG_UI_PORT", "TG_API_PORT", "SSL_CERT_FILE", "SSL_KEY_FILE")
647
+ persisted_env_vars = ("TG_UI_PORT", "TG_API_PORT", "TESTGEN_LOG_FILE_PATH", "SSL_CERT_FILE", "SSL_KEY_FILE")
570
648
  persisted_lines = [f"{name}={os.environ[name]}" for name in persisted_env_vars if os.environ.get(name)]
571
649
  if persisted_lines:
572
650
  config_lines.extend(["", "# Runtime overrides from installer", *persisted_lines])
@@ -574,6 +652,13 @@ def setup_standalone(username: str, password: str):
574
652
  config_path.write_text("\n".join(config_lines) + "\n")
575
653
  click.echo(f"Config written to {config_path}")
576
654
 
655
+ # `getenv` resolves env vars before config.env, so a pre-existing
656
+ # TESTGEN_USERNAME / TESTGEN_PASSWORD in the shell would override the
657
+ # CLI-supplied values and get seeded into the DB. Force the CLI args
658
+ # to win for the rest of this process.
659
+ os.environ["TESTGEN_USERNAME"] = username
660
+ os.environ["TESTGEN_PASSWORD"] = password
661
+
577
662
  # Reload settings — the module was already evaluated at import time
578
663
  # before the config file existed. Reloading re-reads the new file
579
664
  # and re-evaluates all module-level variables.
@@ -880,14 +965,16 @@ def run_ui():
880
965
  app_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui/app.py")
881
966
 
882
967
  # In standalone mode, pass the pgserver URI to the Streamlit subprocess
883
- # so it can connect without acquiring the pgserver file lock.
968
+ # so it can connect without acquiring the pgserver file lock. When this
969
+ # process is itself a child of `run-app all`, the URI is already in the
970
+ # inherited environment — fall back to that so Streamlit still gets it.
884
971
  child_env = {**os.environ, "TG_JOB_SOURCE": "UI"}
885
972
  if is_standalone_mode():
886
- server_uri = get_server_uri()
973
+ server_uri = get_server_uri() or os.environ.get(STANDALONE_URI_ENV_VAR)
887
974
  if server_uri:
888
- child_env = {**os.environ, "TG_JOB_SOURCE": "UI", STANDALONE_URI_ENV_VAR: server_uri}
975
+ child_env[STANDALONE_URI_ENV_VAR] = server_uri
889
976
 
890
- process= subprocess.Popen(
977
+ process = subprocess.Popen(
891
978
  [
892
979
  sys.executable,
893
980
  "-m",
@@ -895,6 +982,7 @@ def run_ui():
895
982
  "run",
896
983
  app_file,
897
984
  "--browser.gatherUsageStats=false",
985
+ f"--logger.level={'debug' if settings.IS_DEBUG else 'error'}",
898
986
  "--client.showErrorDetails=none",
899
987
  "--client.toolbarMode=minimal",
900
988
  "--server.enableStaticServing=true",
@@ -905,12 +993,12 @@ def run_ui():
905
993
  f"{'--debug' if settings.IS_DEBUG else ''}",
906
994
  ],
907
995
  env=child_env,
996
+ **_subprocess_spawn_kwargs(),
908
997
  )
909
998
  def term_ui(signum, _):
910
999
  LOG.info(f"Sending termination signal {signum} to Testgen UI")
911
1000
  _forward_signal_to_child(process, signum)
912
- signal.signal(signal.SIGINT, term_ui)
913
- signal.signal(signal.SIGTERM, term_ui)
1001
+ _install_shutdown_handler(term_ui)
914
1002
  status_code = process.wait()
915
1003
  LOG.log(logging.ERROR if status_code != 0 else logging.INFO, f"Testgen UI exited with status code {status_code}")
916
1004
 
@@ -935,8 +1023,15 @@ def run_app(module):
935
1023
  run_server()
936
1024
 
937
1025
  case "all":
1026
+ child_env = os.environ.copy()
1027
+ if is_standalone_mode() and (server_uri := get_server_uri()):
1028
+ child_env[STANDALONE_URI_ENV_VAR] = server_uri
938
1029
  children = [
939
- subprocess.Popen([sys.executable, "-m", "testgen", "run-app", m], start_new_session=True)
1030
+ subprocess.Popen(
1031
+ [sys.executable, "-m", "testgen", "run-app", m],
1032
+ env=child_env,
1033
+ **_subprocess_spawn_kwargs(),
1034
+ )
940
1035
  for m in APP_MODULES
941
1036
  ]
942
1037
 
@@ -944,8 +1039,7 @@ def run_app(module):
944
1039
  for child in children:
945
1040
  _forward_signal_to_child(child, signum)
946
1041
 
947
- signal.signal(signal.SIGINT, term_children)
948
- signal.signal(signal.SIGTERM, term_children)
1042
+ _install_shutdown_handler(term_children)
949
1043
 
950
1044
  terminating = False
951
1045
  while children:
@@ -954,7 +1048,10 @@ def run_app(module):
954
1048
  except subprocess.TimeoutExpired:
955
1049
  pass
956
1050
 
957
- for child in children:
1051
+ # Iterate a snapshot — `children.remove(child)` inside a live iteration
1052
+ # would skip the next element and could leave a sibling un-reaped during
1053
+ # the simultaneous-exit case we're explicitly hardening for here.
1054
+ for child in list(children):
958
1055
  if child.poll() is not None:
959
1056
  children.remove(child)
960
1057
  if not terminating: