data-designer-engine 0.9.3__tar.gz → 0.9.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/PKG-INFO +6 -5
  2. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/pyproject.toml +4 -3
  3. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/validation.py +1 -1
  4. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/dataset_builder.py +1 -1
  5. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/http_model_client.py +17 -8
  6. data_designer_engine-0.9.4/src/data_designer/engine/models/clients/adapters/httpx_sharding.py +82 -0
  7. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/retry.py +5 -4
  8. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/postprocessors.py +15 -0
  9. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/recipes/response_recipes.py +3 -3
  10. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/queue.py +6 -4
  11. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/ginja/ast.py +1 -0
  12. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validation.py +25 -5
  13. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_validation.py +11 -1
  14. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/test_async_scheduler.py +0 -1
  15. data_designer_engine-0.9.4/tests/engine/models/clients/test_httpx_sharding.py +335 -0
  16. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_native_http_clients.py +85 -6
  17. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/parsers/test_postprocessors.py +24 -0
  18. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/recipes/test_response_recipes.py +62 -2
  19. data_designer_engine-0.9.4/tests/engine/models/request_admission/test_request_queue.py +135 -0
  20. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_generator.py +2 -2
  21. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_validation.py +135 -0
  22. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/.gitignore +0 -0
  23. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/README.md +0 -0
  24. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/__init__.py +0 -0
  25. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/column_profilers/base.py +0 -0
  26. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/column_profilers/judge_score_profiler.py +0 -0
  27. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/column_profilers/registry.py +0 -0
  28. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/column_statistics.py +0 -0
  29. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/dataset_profiler.py +0 -0
  30. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/errors.py +0 -0
  31. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/utils/column_statistics_calculations.py +0 -0
  32. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/analysis/utils/judge_score_processing.py +0 -0
  33. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/capacity.py +0 -0
  34. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/__init__.py +0 -0
  35. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/__init__.py +0 -0
  36. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/base.py +0 -0
  37. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/custom.py +0 -0
  38. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/embedding.py +0 -0
  39. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/expression.py +0 -0
  40. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/image.py +0 -0
  41. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/llm_completion.py +0 -0
  42. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/samplers.py +0 -0
  43. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/generators/seed_dataset.py +0 -0
  44. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/registry.py +0 -0
  45. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/utils/errors.py +0 -0
  46. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/utils/generator_classification.py +0 -0
  47. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/utils/judge_score_factory.py +0 -0
  48. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/column_generators/utils/prompt_renderer.py +0 -0
  49. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/compiler.py +0 -0
  50. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/configurable_task.py +0 -0
  51. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/context.py +0 -0
  52. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/async_scheduler.py +0 -0
  53. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/errors.py +0 -0
  54. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/multi_column_configs.py +0 -0
  55. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/row_group_plan.py +0 -0
  56. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/completion.py +0 -0
  57. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/queue.py +0 -0
  58. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/resolver.py +0 -0
  59. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/resources.py +0 -0
  60. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/task_admission.py +0 -0
  61. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/task_model.py +0 -0
  62. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/scheduling/task_policies.py +0 -0
  63. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/__init__.py +0 -0
  64. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/async_concurrency.py +0 -0
  65. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/concurrency.py +0 -0
  66. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/config_compiler.py +0 -0
  67. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/errors.py +0 -0
  68. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/execution_graph.py +0 -0
  69. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/processor_runner.py +0 -0
  70. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/row_group_buffer.py +0 -0
  71. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/skip_evaluator.py +0 -0
  72. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/dataset_builders/utils/skip_tracker.py +0 -0
  73. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/errors.py +0 -0
  74. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/__init__.py +0 -0
  75. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/errors.py +0 -0
  76. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/facade.py +0 -0
  77. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/factory.py +0 -0
  78. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/io.py +0 -0
  79. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/mcp/registry.py +0 -0
  80. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/model_provider.py +0 -0
  81. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/__init__.py +0 -0
  82. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/__init__.py +0 -0
  83. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/__init__.py +0 -0
  84. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/anthropic.py +0 -0
  85. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/anthropic_translation.py +0 -0
  86. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/http_helpers.py +0 -0
  87. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/adapters/openai_compatible.py +0 -0
  88. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/base.py +0 -0
  89. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/errors.py +0 -0
  90. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/factory.py +0 -0
  91. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/model_request_executor.py +0 -0
  92. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/parsing.py +0 -0
  93. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/clients/types.py +0 -0
  94. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/errors.py +0 -0
  95. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/facade.py +0 -0
  96. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/factory.py +0 -0
  97. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/__init__.py +0 -0
  98. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/errors.py +0 -0
  99. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/parser.py +0 -0
  100. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/tag_parsers.py +0 -0
  101. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/parsers/types.py +0 -0
  102. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/recipes/base.py +0 -0
  103. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/registry.py +0 -0
  104. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/config.py +0 -0
  105. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/controller.py +0 -0
  106. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/limits.py +0 -0
  107. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/outcomes.py +0 -0
  108. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/pressure.py +0 -0
  109. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/resolver.py +0 -0
  110. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/request_admission/resources.py +0 -0
  111. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/resources.py +0 -0
  112. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/telemetry.py +0 -0
  113. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/usage.py +0 -0
  114. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/usage_events.py +0 -0
  115. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/models/utils.py +0 -0
  116. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/observability.py +0 -0
  117. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/__init__.py +0 -0
  118. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/ginja/__init__.py +0 -0
  119. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/ginja/environment.py +0 -0
  120. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/ginja/exceptions.py +0 -0
  121. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/ginja/record.py +0 -0
  122. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/gsonschema/__init__.py +0 -0
  123. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/gsonschema/exceptions.py +0 -0
  124. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/gsonschema/schema_transformers.py +0 -0
  125. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/gsonschema/types.py +0 -0
  126. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/gsonschema/validators.py +0 -0
  127. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/processors/__init__.py +0 -0
  128. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/processors/base.py +0 -0
  129. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/processors/drop_columns.py +0 -0
  130. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/processors/registry.py +0 -0
  131. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/processors/schema_transform.py +0 -0
  132. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/processing/utils.py +0 -0
  133. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/progress/__init__.py +0 -0
  134. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/progress/reporter.py +0 -0
  135. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/progress/terminal/__init__.py +0 -0
  136. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/progress/terminal/throughput_panel.py +0 -0
  137. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/progress/tracker.py +0 -0
  138. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/readiness.py +0 -0
  139. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/registry/base.py +0 -0
  140. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/registry/data_designer_registry.py +0 -0
  141. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/registry/errors.py +0 -0
  142. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/__init__.py +0 -0
  143. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/__init__.py +0 -0
  144. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/atif.py +0 -0
  145. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/base.py +0 -0
  146. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/claude_code.py +0 -0
  147. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/codex.py +0 -0
  148. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/hermes_agent.py +0 -0
  149. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/pi_coding_agent.py +0 -0
  150. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/registry.py +0 -0
  151. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/types.py +0 -0
  152. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/agent_rollout/utils.py +0 -0
  153. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/managed_dataset_generator.py +0 -0
  154. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/person_reader.py +0 -0
  155. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/resource_provider.py +0 -0
  156. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/resources/seed_reader.py +0 -0
  157. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/column.py +0 -0
  158. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/constraints.py +0 -0
  159. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/data_sources/base.py +0 -0
  160. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/data_sources/errors.py +0 -0
  161. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/data_sources/sources.py +0 -0
  162. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/__init__.py +0 -0
  163. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet +0 -0
  164. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/dataset_based_person_fields.py +0 -0
  165. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/email_address_utils.py +0 -0
  166. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/errors.py +0 -0
  167. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/national_id_utils.py +0 -0
  168. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/person.py +0 -0
  169. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/entities/phone_number.py +0 -0
  170. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/errors.py +0 -0
  171. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/generator.py +0 -0
  172. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/jinja_utils.py +0 -0
  173. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/people_gen.py +0 -0
  174. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/person_constants.py +0 -0
  175. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/schema.py +0 -0
  176. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/schema_builder.py +0 -0
  177. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/sampling_gen/utils.py +0 -0
  178. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/secret_resolver.py +0 -0
  179. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/storage/__init__.py +0 -0
  180. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/storage/artifact_storage.py +0 -0
  181. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/storage/media_storage.py +0 -0
  182. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/__init__.py +0 -0
  183. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/fixtures.py +0 -0
  184. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/observability.py +0 -0
  185. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/seed_readers.py +0 -0
  186. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/stubs.py +0 -0
  187. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/testing/utils.py +0 -0
  188. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/utils/__init__.py +0 -0
  189. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/utils/token_counting.py +0 -0
  190. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/__init__.py +0 -0
  191. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/base.py +0 -0
  192. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/local_callable.py +0 -0
  193. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/python.py +0 -0
  194. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/remote.py +0 -0
  195. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/src/data_designer/engine/validators/sql.py +0 -0
  196. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/__init__.py +0 -0
  197. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/conftest.py +0 -0
  198. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/__init__.py +0 -0
  199. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/column_profilers/test_base.py +0 -0
  200. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/column_profilers/test_judge_score_profiler.py +0 -0
  201. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/conftest.py +0 -0
  202. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_column_statistics_calculator.py +0 -0
  203. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_data/artifacts/dataset/column_configs.json +0 -0
  204. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_data/artifacts/dataset/dataset.json +0 -0
  205. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_data/artifacts/dataset/metadata.json +0 -0
  206. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_dataset_profiler.py +0 -0
  207. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/test_errors.py +0 -0
  208. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/utils/test_column_statistics_calculations.py +0 -0
  209. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/analysis/utils/test_judge_score_processing.py +0 -0
  210. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/__init__.py +0 -0
  211. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_async_generators.py +0 -0
  212. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_column_generator_base.py +0 -0
  213. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_custom.py +0 -0
  214. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_embedding.py +0 -0
  215. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_expression.py +0 -0
  216. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_image.py +0 -0
  217. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_llm_completion_generators.py +0 -0
  218. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_samplers.py +0 -0
  219. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/generators/test_seed_dataset.py +0 -0
  220. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/test_registry.py +0 -0
  221. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/utils/test_column_generator_errors.py +0 -0
  222. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/utils/test_generator_classification.py +0 -0
  223. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/utils/test_judge_score_factory.py +0 -0
  224. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/column_generators/utils/test_prompt_renderer.py +0 -0
  225. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/conftest.py +0 -0
  226. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_completion.py +0 -0
  227. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_queue.py +0 -0
  228. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_resolver.py +0 -0
  229. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_resources.py +0 -0
  230. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_task_admission.py +0 -0
  231. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_task_model.py +0 -0
  232. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/scheduling/test_task_policies.py +0 -0
  233. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/test_async_builder_integration.py +0 -0
  234. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/test_dataset_builder.py +0 -0
  235. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/test_multi_column_configs.py +0 -0
  236. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_concurrency.py +0 -0
  237. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_config_compiler.py +0 -0
  238. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_execution_graph.py +0 -0
  239. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_row_group_buffer.py +0 -0
  240. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_skip_evaluator.py +0 -0
  241. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_skip_tracker.py +0 -0
  242. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/dataset_builders/utils/test_topological_sort.py +0 -0
  243. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/mcp/conftest.py +0 -0
  244. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/mcp/test_mcp_facade.py +0 -0
  245. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/mcp/test_mcp_factory.py +0 -0
  246. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/mcp/test_mcp_io.py +0 -0
  247. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/mcp/test_mcp_registry.py +0 -0
  248. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/__init__.py +0 -0
  249. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/__init__.py +0 -0
  250. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/conftest.py +0 -0
  251. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_anthropic.py +0 -0
  252. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_anthropic_translation.py +0 -0
  253. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_client_errors.py +0 -0
  254. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_factory.py +0 -0
  255. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_model_request_executor.py +0 -0
  256. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_openai_compatible.py +0 -0
  257. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_parsing.py +0 -0
  258. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_retry.py +0 -0
  259. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/clients/test_types.py +0 -0
  260. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/conftest.py +0 -0
  261. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/parsers/test_parser.py +0 -0
  262. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/parsers/test_parsers_types.py +0 -0
  263. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/parsers/test_tag_parsers.py +0 -0
  264. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/recipes/test_recipe_base.py +0 -0
  265. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/request_admission/test_controller.py +0 -0
  266. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/stub_secrets.json +0 -0
  267. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_facade.py +0 -0
  268. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_model_errors.py +0 -0
  269. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_model_registry.py +0 -0
  270. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_model_utils.py +0 -0
  271. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_telemetry.py +0 -0
  272. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/models/test_usage.py +0 -0
  273. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/__init__.py +0 -0
  274. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/ginja/__init__.py +0 -0
  275. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/ginja/test_ast.py +0 -0
  276. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/ginja/test_environment.py +0 -0
  277. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/ginja/test_exceptions.py +0 -0
  278. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/ginja/test_record.py +0 -0
  279. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/gsonschema/__init__.py +0 -0
  280. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/gsonschema/test_exceptions.py +0 -0
  281. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/gsonschema/test_schema_transformers.py +0 -0
  282. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/gsonschema/test_types.py +0 -0
  283. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/gsonschema/test_validators.py +0 -0
  284. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/processors/__init__.py +0 -0
  285. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/processors/test_drop_columns.py +0 -0
  286. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/processors/test_registry.py +0 -0
  287. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/processors/test_schema_transform.py +0 -0
  288. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/processing/test_utils.py +0 -0
  289. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/progress/terminal/test_throughput_panel.py +0 -0
  290. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/progress/test_tracker.py +0 -0
  291. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/registry/__init__.py +0 -0
  292. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/registry/conftest.py +0 -0
  293. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/registry/test_base.py +0 -0
  294. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/registry/test_data_designer_registry.py +0 -0
  295. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/registry/test_errors.py +0 -0
  296. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/__init__.py +0 -0
  297. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/__init__.py +0 -0
  298. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_atif.py +0 -0
  299. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_claude_code.py +0 -0
  300. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_codex.py +0 -0
  301. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_hermes_agent.py +0 -0
  302. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_pi_coding_agent.py +0 -0
  303. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/agent_rollout/test_utils.py +0 -0
  304. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/conftest.py +0 -0
  305. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/test_managed_dataset_generator.py +0 -0
  306. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/test_person_reader.py +0 -0
  307. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/test_resource_provider.py +0 -0
  308. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/resources/test_seed_reader.py +0 -0
  309. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/conftest.py +0 -0
  310. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/data_sources/test_sampler_errors.py +0 -0
  311. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/data_sources/test_sources.py +0 -0
  312. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/entities/test_email_address_utils.py +0 -0
  313. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/entities/test_national_id_utils.py +0 -0
  314. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/entities/test_person.py +0 -0
  315. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/entities/test_phone_number.py +0 -0
  316. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_column.py +0 -0
  317. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_constraints.py +0 -0
  318. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_jinja_utils.py +0 -0
  319. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_people_gen.py +0 -0
  320. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_schema.py +0 -0
  321. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/sampling_gen/test_utils.py +0 -0
  322. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/storage/__init__.py +0 -0
  323. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/storage/test_artifact_storage.py +0 -0
  324. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/storage/test_media_storage.py +0 -0
  325. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_capacity.py +0 -0
  326. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_compiler.py +0 -0
  327. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_configurable_task.py +0 -0
  328. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_dataset_metadata.py +0 -0
  329. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_engine_errors.py +0 -0
  330. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_model_provider.py +0 -0
  331. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_observability.py +0 -0
  332. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_readiness.py +0 -0
  333. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/test_secret_resolver.py +0 -0
  334. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/testing/test_plugin_testing_utils.py +0 -0
  335. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/utils/test_token_counting.py +0 -0
  336. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/validators/test_local_callable.py +0 -0
  337. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/validators/test_python.py +0 -0
  338. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/validators/test_remote.py +0 -0
  339. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/engine/validators/test_sql.py +0 -0
  340. {data_designer_engine-0.9.3 → data_designer_engine-0.9.4}/tests/test_plugin_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: data-designer-engine
3
- Version: 0.9.3
3
+ Version: 0.9.4
4
4
  Summary: Generation engine for DataDesigner synthetic data generation
5
5
  License-Expression: Apache-2.0
6
6
  Classifier: Development Status :: 4 - Beta
@@ -15,10 +15,11 @@ Classifier: Programming Language :: Python :: 3.14
15
15
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
16
  Requires-Python: >=3.10
17
17
  Requires-Dist: anyascii<1,>=0.3.3
18
+ Requires-Dist: anyio<5,>=4.14.2
18
19
  Requires-Dist: asciichartpy<2,>=1.5.25
19
20
  Requires-Dist: chardet<6,>=3.0.2
20
- Requires-Dist: cryptography<=49,>=48.0.1
21
- Requires-Dist: data-designer-config==0.9.3
21
+ Requires-Dist: cryptography<51,>=50.0.0
22
+ Requires-Dist: data-designer-config==0.9.4
22
23
  Requires-Dist: duckdb<2,>=1.5.0
23
24
  Requires-Dist: faker<21,>=20.1.0
24
25
  Requires-Dist: fsspec<2026,>=2025.3.0
@@ -34,10 +35,10 @@ Requires-Dist: marko<3,>=2.1.2
34
35
  Requires-Dist: mcp<2,>=1.29.0
35
36
  Requires-Dist: networkx<4,>=3.0
36
37
  Requires-Dist: numpy<3,>=1.23.5
37
- Requires-Dist: pandas<3,>=2.3.3
38
+ Requires-Dist: pandas<4,>=2.3.3
38
39
  Requires-Dist: pyarrow<25,>=24
39
40
  Requires-Dist: pydantic<3,>=2.9.2
40
- Requires-Dist: pyjwt[crypto]<3,>=2.13.0
41
+ Requires-Dist: pyjwt[crypto]<3,>=2.15.0
41
42
  Requires-Dist: python-multipart<1,>=0.0.32
42
43
  Requires-Dist: rich<15,>=13.7.1
43
44
  Requires-Dist: ruff<1,>=0.14.10
@@ -34,9 +34,10 @@ bump = true
34
34
  [tool.hatch.metadata.hooks.uv-dynamic-versioning]
35
35
  dependencies = [
36
36
  "anyascii>=0.3.3,<1",
37
+ "anyio>=4.14.2,<5", # 4.14.2 fixes AnyIO security advisories pulled in by HTTP clients
37
38
  "asciichartpy>=1.5.25,<2",
38
39
  "chardet>=3.0.2,<6", # Pulled in by sqlfluff
39
- "cryptography>=48.0.1,<=49",
40
+ "cryptography>=50.0.0,<51", # 50.0.0 fixes certificate and PKCS#7 security advisories
40
41
  "data-designer-config=={{ version }}",
41
42
  "duckdb>=1.5.0,<2",
42
43
  "faker>=20.1.0,<21",
@@ -53,10 +54,10 @@ dependencies = [
53
54
  "mcp>=1.29.0,<2", # 1.29.0 fixes MCP security advisories
54
55
  "networkx>=3.0,<4",
55
56
  "numpy>=1.23.5,<3",
56
- "pandas>=2.3.3,<3",
57
+ "pandas>=2.3.3,<4",
57
58
  "pyarrow>=24,<25", # 24.0.0 fixes PyArrow security advisories
58
59
  "pydantic>=2.9.2,<3",
59
- "pyjwt[crypto]>=2.13.0,<3", # 2.13.0 fixes PyJWT security advisories pulled in by mcp
60
+ "pyjwt[crypto]>=2.15.0,<3", # 2.15.0 fixes PyJWT security advisories pulled in by mcp
60
61
  "python-multipart>=0.0.32,<1", # 0.0.32 addresses multipart security advisories pulled in by mcp
61
62
  "rich>=13.7.1,<15",
62
63
  "ruff>=0.14.10,<1",
@@ -119,7 +119,7 @@ class ValidationColumnGenerator(ColumnGeneratorFullColumn[ValidationColumnConfig
119
119
  column_name=self.config.name,
120
120
  result_callback=result_callback,
121
121
  error_callback=error_callback,
122
- shutdown_error_rate=settings.shutdown_error_rate,
122
+ shutdown_error_rate=settings.effective_shutdown_error_rate,
123
123
  shutdown_error_window=settings.shutdown_error_window,
124
124
  disable_early_shutdown=settings.disable_early_shutdown,
125
125
  ) as executor:
@@ -843,7 +843,7 @@ class DatasetBuilder:
843
843
  num_records,
844
844
  buffer_size,
845
845
  on_finalize_row_group=finalize_row_group,
846
- shutdown_error_rate=settings.shutdown_error_rate,
846
+ shutdown_error_rate=settings.effective_shutdown_error_rate,
847
847
  shutdown_error_window=settings.shutdown_error_window,
848
848
  disable_early_shutdown=settings.disable_early_shutdown,
849
849
  trace=trace_enabled,
@@ -3,6 +3,8 @@
3
3
 
4
4
  from __future__ import annotations
5
5
 
6
+ import asyncio
7
+ import importlib
6
8
  import threading
7
9
  from abc import ABC, abstractmethod
8
10
  from typing import TYPE_CHECKING, Any
@@ -15,10 +17,11 @@ from data_designer.engine.models.clients.adapters.http_helpers import (
15
17
  wrap_transport_error,
16
18
  )
17
19
  from data_designer.engine.models.clients.errors import SyncClientUnavailableError, map_http_error_to_provider_error
18
- from data_designer.engine.models.clients.retry import RetryConfig, RetryTransport, create_retry_transport
20
+ from data_designer.engine.models.clients.retry import RetryConfig, create_retry_transport
19
21
 
20
22
  if TYPE_CHECKING:
21
23
  import httpx
24
+ from httpx_retries import RetryTransport
22
25
 
23
26
 
24
27
  class ClientConcurrencyMode(StrEnum):
@@ -66,6 +69,7 @@ class HttpModelClient(ABC):
66
69
  self._timeout_s = timeout_s
67
70
  self._retry_config = retry_config
68
71
  self._mode: ClientConcurrencyMode = concurrency_mode
72
+ self._shard_count = min(16, max(1, max_parallel_requests))
69
73
 
70
74
  pool_max = max(_MIN_MAX_CONNECTIONS, _POOL_MAX_MULTIPLIER * max_parallel_requests)
71
75
  pool_keepalive = max(_MIN_KEEPALIVE_CONNECTIONS, max_parallel_requests)
@@ -78,6 +82,7 @@ class HttpModelClient(ABC):
78
82
  self._aclient: httpx.AsyncClient | None = async_client
79
83
  self._init_lock = threading.Lock()
80
84
  self._closed = False
85
+ self._close_future: asyncio.Future[list[None | BaseException]] | None = None
81
86
 
82
87
  @property
83
88
  def concurrency_mode(self) -> ClientConcurrencyMode:
@@ -120,7 +125,8 @@ class HttpModelClient(ABC):
120
125
  raise RuntimeError("Model client is closed.")
121
126
  if self._aclient is None:
122
127
  if self._transport is None:
123
- inner = lazy.httpx.AsyncHTTPTransport(limits=self._limits)
128
+ sharding = importlib.import_module("data_designer.engine.models.clients.adapters.httpx_sharding")
129
+ inner = sharding.ShardedAsyncHTTPTransport(limits=self._limits, shard_count=self._shard_count)
124
130
  self._transport = create_retry_transport(
125
131
  self._retry_config, strip_rate_limit_codes=True, transport=inner
126
132
  )
@@ -152,15 +158,18 @@ class HttpModelClient(ABC):
152
158
  if self._mode != ClientConcurrencyMode.ASYNC:
153
159
  return
154
160
  with self._init_lock:
155
- async_client = self._aclient
156
- transport = self._transport
157
161
  self._closed = True
162
+ resource = self._aclient if self._aclient is not None else self._transport
163
+ if self._close_future is None and resource is not None:
164
+ self._close_future = asyncio.gather(resource.aclose(), return_exceptions=True)
165
+ elif self._close_future is None:
166
+ return
158
167
  self._aclient = None
159
168
  self._transport = None
160
- if async_client is not None:
161
- await async_client.aclose()
162
- elif transport is not None:
163
- await transport.aclose()
169
+ results = await asyncio.shield(self._close_future)
170
+ for result in results:
171
+ if isinstance(result, BaseException):
172
+ raise result
164
173
 
165
174
  # --- HTTP helpers ---
166
175
 
@@ -0,0 +1,82 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """Public-API HTTPX transport sharding."""
5
+
6
+ from __future__ import annotations
7
+
8
+ import asyncio
9
+ from collections.abc import Callable
10
+ from typing import TYPE_CHECKING
11
+
12
+ # RetryTransport requires concrete AsyncBaseTransport inheritance.
13
+ # This module is loaded only when constructing an async transport.
14
+ from httpx import AsyncBaseTransport
15
+
16
+ import data_designer.lazy_heavy_imports as lazy
17
+
18
+ if TYPE_CHECKING:
19
+ import httpx
20
+
21
+ _DEFAULT_SHARD_COUNT = 16
22
+
23
+
24
+ def _split_limit(total: int, shard_count: int) -> list[int]:
25
+ base, remainder = divmod(total, shard_count)
26
+ return [base + (index < remainder) for index in range(shard_count)]
27
+
28
+
29
+ class ShardedAsyncHTTPTransport(AsyncBaseTransport):
30
+ """Distribute requests round-robin across ordinary HTTPX transports."""
31
+
32
+ def __init__(
33
+ self,
34
+ *,
35
+ limits: httpx.Limits,
36
+ shard_count: int = _DEFAULT_SHARD_COUNT,
37
+ transport_factory: Callable[[httpx.Limits], httpx.AsyncBaseTransport] | None = None,
38
+ ) -> None:
39
+ if shard_count <= 0:
40
+ raise ValueError("shard_count must be positive")
41
+ if limits.max_connections is None or limits.max_keepalive_connections is None:
42
+ raise ValueError("sharded transport requires finite connection limits")
43
+ if limits.max_connections < shard_count or limits.max_keepalive_connections < shard_count:
44
+ raise ValueError("connection limits must provide at least one connection per shard")
45
+
46
+ factory = transport_factory or (lambda shard_limits: lazy.httpx.AsyncHTTPTransport(limits=shard_limits))
47
+ maximums = _split_limit(limits.max_connections, shard_count)
48
+ keepalives = _split_limit(limits.max_keepalive_connections, shard_count)
49
+ self._shard_limits = tuple(
50
+ lazy.httpx.Limits(
51
+ max_connections=maximum,
52
+ max_keepalive_connections=keepalive,
53
+ keepalive_expiry=limits.keepalive_expiry,
54
+ )
55
+ for maximum, keepalive in zip(maximums, keepalives, strict=True)
56
+ )
57
+ self._transports = tuple(factory(shard_limits) for shard_limits in self._shard_limits)
58
+ self._next_transport = 0
59
+ self._closed = False
60
+ self._close_future: asyncio.Future[list[None | BaseException]] | None = None
61
+
62
+ @property
63
+ def shard_limits(self) -> tuple[httpx.Limits, ...]:
64
+ return self._shard_limits
65
+
66
+ async def handle_async_request(self, request: httpx.Request) -> httpx.Response:
67
+ if self._closed:
68
+ raise RuntimeError("Transport is closed.")
69
+ transport = self._transports[self._next_transport]
70
+ self._next_transport = (self._next_transport + 1) % len(self._transports)
71
+ return await transport.handle_async_request(request)
72
+
73
+ async def aclose(self) -> None:
74
+ self._closed = True
75
+ if self._close_future is None:
76
+ self._close_future = asyncio.gather(
77
+ *(transport.aclose() for transport in self._transports), return_exceptions=True
78
+ )
79
+ results = await asyncio.shield(self._close_future)
80
+ for result in results:
81
+ if isinstance(result, BaseException):
82
+ raise result
@@ -7,10 +7,11 @@ import logging
7
7
  from dataclasses import dataclass, field
8
8
  from typing import TYPE_CHECKING
9
9
 
10
- from httpx_retries import Retry, RetryTransport
10
+ import data_designer.lazy_heavy_imports as lazy
11
11
 
12
12
  if TYPE_CHECKING:
13
13
  import httpx
14
+ from httpx_retries import RetryTransport
14
15
 
15
16
  logger = logging.getLogger(__name__)
16
17
 
@@ -72,13 +73,13 @@ def create_retry_transport(
72
73
  sorted(reserved_overlap),
73
74
  )
74
75
  status_codes = status_codes - _RESERVED_STATUS_CODES
75
- retry = Retry(
76
+ retry = lazy.httpx_retries.Retry(
76
77
  total=cfg.max_retries,
77
78
  backoff_factor=cfg.backoff_factor,
78
79
  backoff_jitter=cfg.backoff_jitter,
79
80
  max_backoff_wait=cfg.max_backoff_wait,
80
81
  status_forcelist=status_codes,
81
82
  respect_retry_after_header=True,
82
- allowed_methods=Retry.RETRYABLE_METHODS | frozenset(["POST"]),
83
+ allowed_methods=lazy.httpx_retries.Retry.RETRYABLE_METHODS | frozenset(["POST"]),
83
84
  )
84
- return RetryTransport(transport=transport, retry=retry)
85
+ return lazy.httpx_retries.RetryTransport(transport=transport, retry=retry)
@@ -3,6 +3,9 @@
3
3
 
4
4
  from __future__ import annotations
5
5
 
6
+ import json
7
+ from typing import NoReturn
8
+
6
9
  import json_repair
7
10
 
8
11
  from data_designer.engine.models.parsers.types import (
@@ -41,6 +44,7 @@ def merge_text_blocks(
41
44
  def deserialize_json_code(
42
45
  structured_response: LLMStructuredResponse,
43
46
  ) -> LLMStructuredResponse:
47
+ """Deserialize fenced JSON, falling back to a complete bare JSON response."""
44
48
  processed_response = structured_response.model_copy()
45
49
  processed_response.parsed = []
46
50
 
@@ -54,4 +58,15 @@ def deserialize_json_code(
54
58
  else:
55
59
  processed_response.parsed.append(block)
56
60
 
61
+ if not any(isinstance(block, StructuredDataBlock) for block in processed_response.parsed):
62
+ try:
63
+ deserialized = json.loads(structured_response.response, parse_constant=_reject_json_constant)
64
+ except ValueError:
65
+ return processed_response
66
+ processed_response.parsed = [StructuredDataBlock(serialized=structured_response.response, obj=deserialized)]
67
+
57
68
  return processed_response
69
+
70
+
71
+ def _reject_json_constant(value: str) -> NoReturn:
72
+ raise ValueError(f"Non-standard JSON constant: {value}")
@@ -82,7 +82,7 @@ class StructuredResponseRecipe(ResponseRecipe[dict]):
82
82
  pruning (bool): If `True`, then any extra fields in the returned
83
83
  JSON object will be removed. Otherwise, they are retained,
84
84
  which could raise validation errors. Default=True
85
- no_extra_properties (bool) If `True`, then validation will fail
85
+ no_extra_properties (bool): If `True`, then validation will fail
86
86
  if extra properties are encountered in the returned JSON response.
87
87
  Default=True.
88
88
  """
@@ -139,7 +139,7 @@ class StructuredResponseRecipe(ResponseRecipe[dict]):
139
139
  return validate(obj, **self._validate_args)
140
140
  except IndexError:
141
141
  raise ParserException(
142
- "No parsable JSON structure within ```json markdown fence.",
142
+ "No parsable JSON found: expected a ```json markdown fence or a complete bare JSON response.",
143
143
  source=response,
144
144
  ) from None
145
145
  except JSONSchemaValidationError as exc:
@@ -219,7 +219,7 @@ class PydanticResponseRecipe(ResponseRecipe[BaseModel]):
219
219
  return self.data_type.model_validate(obj)
220
220
  except IndexError:
221
221
  raise ParserException(
222
- "No parsable JSON structure within ```json markdown fence.",
222
+ "No parsable JSON found: expected a ```json markdown fence or a complete bare JSON response.",
223
223
  source=response,
224
224
  ) from None
225
225
  except Exception as exc:
@@ -51,7 +51,6 @@ class RequestFairQueue:
51
51
  self._queued: dict[str, RequestWaiter] = {}
52
52
  self._waiter_groups: dict[str, RequestResourceKey] = {}
53
53
  self._group_finish: dict[RequestResourceKey, float] = {}
54
- self._heap: list[tuple[float, int, RequestResourceKey]] = []
55
54
  self._active_heap_entries: dict[RequestResourceKey, tuple[float, int]] = {}
56
55
  self._sequence = 0
57
56
  self._sequence_version = 0
@@ -83,7 +82,11 @@ class RequestFairQueue:
83
82
  waiter = self._queued.pop(waiter_id, None)
84
83
  if waiter is None:
85
84
  return None
86
- self._waiter_groups.pop(waiter_id, None)
85
+ key = self._waiter_groups.pop(waiter_id, None)
86
+ if key is not None:
87
+ self._purge_queue_head(key)
88
+ if not self._queues.get(key):
89
+ self._active_heap_entries.pop(key, None)
87
90
  self._sequence_version += 1
88
91
  return waiter
89
92
 
@@ -91,7 +94,7 @@ class RequestFairQueue:
91
94
  self, is_eligible: Callable[[RequestWaiter, RequestQueueView], bool]
92
95
  ) -> RequestQueueSelection | None:
93
96
  view = self.view()
94
- heap_copy = list(self._heap)
97
+ heap_copy = [(finish, sequence, key) for key, (finish, sequence) in self._active_heap_entries.items()]
95
98
  heapq.heapify(heap_copy)
96
99
  active_seen: set[RequestResourceKey] = set()
97
100
  while heap_copy:
@@ -165,7 +168,6 @@ class RequestFairQueue:
165
168
  return
166
169
  self._sequence += 1
167
170
  finish = self._group_finish.get(key, self._virtual_time)
168
- heapq.heappush(self._heap, (finish, self._sequence, key))
169
171
  self._active_heap_entries[key] = (finish, self._sequence)
170
172
 
171
173
  def _first_valid_waiter(self, key: RequestResourceKey) -> RequestWaiter | None:
@@ -62,6 +62,7 @@ def ast_count_name_references(ast: j_nodes.Node, name: str) -> int:
62
62
 
63
63
  Args:
64
64
  ast (jinja2.nodes.Node): The starting Jinja2 AST node
65
+ name (str): The variable name to count references to.
65
66
 
66
67
  Returns:
67
68
  int: The number of nodes descended from the provided node whose
@@ -3,6 +3,7 @@
3
3
 
4
4
  from __future__ import annotations
5
5
 
6
+ import re
6
7
  from enum import Enum
7
8
  from fnmatch import fnmatch
8
9
  from string import Formatter
@@ -451,9 +452,28 @@ def validate_skip_references(
451
452
  return violations
452
453
 
453
454
 
455
+ _FORMAT_FIELD_REFERENCE_PATTERN = re.compile(
456
+ r"(?<!\{)\{"
457
+ r"([^{}!:]+)"
458
+ r"(?:![sra])?"
459
+ r"(?::[^{}]*(?:\{[^{}]*\}[^{}]*)*)?"
460
+ r"\}"
461
+ )
462
+
463
+
454
464
  def _get_string_formatter_references(template: str, allowed_references: list[str]) -> list[str]:
455
- return [
456
- k[1].strip()
457
- for k in Formatter().parse(template)
458
- if len(k) > 1 and k[1] is not None and k[1].strip() in allowed_references
459
- ]
465
+ try:
466
+ return [
467
+ k[1].strip()
468
+ for k in Formatter().parse(template)
469
+ if len(k) > 1 and k[1] is not None and k[1].strip() in allowed_references
470
+ ]
471
+ except ValueError:
472
+ # Unmatched literal braces (e.g. JSON examples like 'output format: }') are
473
+ # invalid f-string syntax but valid Jinja text, so ``Formatter().parse`` can
474
+ # raise ``ValueError``. Fall back to a tolerant regex scan that skips Jinja
475
+ # ``{{ ... }}`` expressions so the advisory check still detects ``{column}``
476
+ # references without crashing validation.
477
+ return [
478
+ ref for m in _FORMAT_FIELD_REFERENCE_PATTERN.findall(template) if (ref := m.strip()) in allowed_references
479
+ ]
@@ -9,6 +9,7 @@ import pytest
9
9
 
10
10
  import data_designer.lazy_heavy_imports as lazy
11
11
  from data_designer.config.column_configs import ValidationColumnConfig
12
+ from data_designer.config.run_config import RunConfig
12
13
  from data_designer.config.utils.code_lang import CodeLang
13
14
  from data_designer.config.validator_params import (
14
15
  CodeValidatorParams,
@@ -203,8 +204,16 @@ def test_validation_column_generator_generate_with_different_strategies(
203
204
  assert len(result["validation_column"]) == len(df)
204
205
 
205
206
 
207
+ @pytest.mark.parametrize(
208
+ ("disable", "rate", "expected_rate"),
209
+ [(True, 0.2, 1.0), (False, 0.2, 0.2)],
210
+ ids=["disabled-passes-effective-rate", "enabled-passes-configured-rate"],
211
+ )
206
212
  @patch("data_designer.engine.column_generators.generators.validation.get_validator_from_params", autospec=True)
207
- def test_validation_column_generator_validate_in_parallel_failure(mock_get_validator, stub_resource_provider):
213
+ def test_validation_column_generator_validate_in_parallel_failure(
214
+ mock_get_validator: Mock, stub_resource_provider: Mock, disable: bool, rate: float, expected_rate: float
215
+ ) -> None:
216
+ stub_resource_provider.run_config = RunConfig(disable_early_shutdown=disable, shutdown_error_rate=rate)
208
217
  mock_validator = Mock()
209
218
  mock_validator.run_validation.return_value = ValidationResult(data=[ValidationOutput(is_valid=True)])
210
219
  mock_get_validator.return_value = mock_validator
@@ -242,3 +251,4 @@ def test_validation_column_generator_validate_in_parallel_failure(mock_get_valid
242
251
 
243
252
  call_kwargs = mock_executor_class.call_args[1]
244
253
  assert call_kwargs["disable_early_shutdown"] == stub_resource_provider.run_config.disable_early_shutdown
254
+ assert call_kwargs["shutdown_error_rate"] == expected_rate
@@ -4989,7 +4989,6 @@ async def test_scheduler_request_resource_admission_avoids_creating_waiters() ->
4989
4989
  request_admission = AdaptiveRequestAdmissionController(
4990
4990
  RequestAdmissionConfig(
4991
4991
  initial_limits={resource: 4},
4992
- default_queue_wait_timeout_seconds=0.02,
4993
4992
  ),
4994
4993
  event_sink=sink,
4995
4994
  )