data-designer-engine 0.6.1rc2__tar.gz → 0.7.0__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 (338) hide show
  1. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/.gitignore +0 -3
  2. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/PKG-INFO +4 -2
  3. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/pyproject.toml +2 -0
  4. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/column_profilers/base.py +2 -0
  5. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/column_statistics.py +5 -1
  6. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/dataset_profiler.py +13 -2
  7. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/utils/column_statistics_calculations.py +16 -4
  8. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/base.py +1 -2
  9. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/custom.py +13 -35
  10. data_designer_engine-0.7.0/src/data_designer/engine/column_generators/generators/expression.py +130 -0
  11. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/context.py +1 -2
  12. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/async_scheduler.py +292 -106
  13. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/dataset_builder.py +80 -743
  14. data_designer_engine-0.7.0/src/data_designer/engine/dataset_builders/row_group_plan.py +303 -0
  15. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/completion.py +31 -12
  16. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/queue.py +54 -28
  17. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/resolver.py +22 -1
  18. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/resources.py +8 -3
  19. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/processor_runner.py +13 -24
  20. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/row_group_buffer.py +1 -2
  21. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/skip_evaluator.py +2 -4
  22. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/skip_tracker.py +5 -8
  23. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/model_provider.py +10 -62
  24. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/errors.py +1 -0
  25. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/factory.py +2 -2
  26. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/model_request_executor.py +16 -13
  27. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/errors.py +8 -0
  28. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/registry.py +23 -4
  29. data_designer_engine-0.7.0/src/data_designer/engine/readiness.py +125 -0
  30. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/resource_provider.py +1 -11
  31. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validation.py +1 -12
  32. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_dataset_profiler.py +65 -1
  33. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/utils/test_column_statistics_calculations.py +42 -0
  34. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_async_generators.py +3 -4
  35. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_custom.py +3 -95
  36. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_expression.py +60 -1
  37. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/conftest.py +1 -0
  38. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_queue.py +84 -2
  39. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_resolver.py +7 -1
  40. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_resources.py +9 -3
  41. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/test_async_builder_integration.py +273 -50
  42. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/test_async_scheduler.py +437 -95
  43. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/test_dataset_builder.py +227 -835
  44. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_skip_tracker.py +5 -5
  45. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_model_request_executor.py +57 -2
  46. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/test_model_errors.py +12 -0
  47. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/test_model_registry.py +47 -1
  48. data_designer_engine-0.7.0/tests/engine/test_model_provider.py +125 -0
  49. data_designer_engine-0.7.0/tests/engine/test_readiness.py +386 -0
  50. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_validation.py +0 -18
  51. data_designer_engine-0.6.1rc2/src/data_designer/engine/column_generators/generators/expression.py +0 -56
  52. data_designer_engine-0.6.1rc2/src/data_designer/engine/dataset_builders/utils/dataset_batch_manager.py +0 -230
  53. data_designer_engine-0.6.1rc2/tests/engine/dataset_builders/utils/test_dataset_batch_manager.py +0 -490
  54. data_designer_engine-0.6.1rc2/tests/engine/models/test_async_engine_switch.py +0 -49
  55. data_designer_engine-0.6.1rc2/tests/engine/test_model_provider.py +0 -228
  56. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/README.md +0 -0
  57. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/__init__.py +0 -0
  58. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/column_profilers/judge_score_profiler.py +0 -0
  59. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/column_profilers/registry.py +0 -0
  60. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/errors.py +0 -0
  61. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/analysis/utils/judge_score_processing.py +0 -0
  62. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/capacity.py +0 -0
  63. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/__init__.py +0 -0
  64. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/__init__.py +0 -0
  65. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/embedding.py +0 -0
  66. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/image.py +0 -0
  67. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/llm_completion.py +0 -0
  68. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/samplers.py +0 -0
  69. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/seed_dataset.py +0 -0
  70. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/generators/validation.py +0 -0
  71. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/registry.py +0 -0
  72. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/utils/errors.py +0 -0
  73. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/utils/generator_classification.py +0 -0
  74. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/utils/judge_score_factory.py +0 -0
  75. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/column_generators/utils/prompt_renderer.py +0 -0
  76. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/compiler.py +0 -0
  77. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/configurable_task.py +0 -0
  78. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/errors.py +0 -0
  79. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/multi_column_configs.py +0 -0
  80. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/task_admission.py +0 -0
  81. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/task_model.py +0 -0
  82. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/scheduling/task_policies.py +0 -0
  83. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/__init__.py +0 -0
  84. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/async_concurrency.py +0 -0
  85. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/async_progress_reporter.py +0 -0
  86. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/concurrency.py +0 -0
  87. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/config_compiler.py +0 -0
  88. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/errors.py +0 -0
  89. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/execution_graph.py +0 -0
  90. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/progress_tracker.py +0 -0
  91. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/dataset_builders/utils/sticky_progress_bar.py +0 -0
  92. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/errors.py +0 -0
  93. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/__init__.py +0 -0
  94. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/errors.py +0 -0
  95. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/facade.py +0 -0
  96. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/factory.py +0 -0
  97. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/io.py +0 -0
  98. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/mcp/registry.py +0 -0
  99. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/__init__.py +0 -0
  100. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/__init__.py +0 -0
  101. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/__init__.py +0 -0
  102. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/anthropic.py +0 -0
  103. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/anthropic_translation.py +0 -0
  104. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/http_helpers.py +0 -0
  105. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/http_model_client.py +0 -0
  106. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/adapters/openai_compatible.py +0 -0
  107. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/base.py +0 -0
  108. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/parsing.py +0 -0
  109. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/retry.py +0 -0
  110. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/clients/types.py +0 -0
  111. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/facade.py +0 -0
  112. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/factory.py +0 -0
  113. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/__init__.py +0 -0
  114. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/errors.py +0 -0
  115. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/parser.py +0 -0
  116. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/postprocessors.py +0 -0
  117. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/tag_parsers.py +0 -0
  118. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/parsers/types.py +0 -0
  119. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/recipes/base.py +0 -0
  120. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/recipes/response_recipes.py +0 -0
  121. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/config.py +0 -0
  122. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/controller.py +0 -0
  123. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/limits.py +0 -0
  124. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/outcomes.py +0 -0
  125. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/pressure.py +0 -0
  126. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/queue.py +0 -0
  127. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/resolver.py +0 -0
  128. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/request_admission/resources.py +0 -0
  129. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/resources.py +0 -0
  130. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/telemetry.py +0 -0
  131. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/usage.py +0 -0
  132. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/models/utils.py +0 -0
  133. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/observability.py +0 -0
  134. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/__init__.py +0 -0
  135. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/ginja/__init__.py +0 -0
  136. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/ginja/ast.py +0 -0
  137. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/ginja/environment.py +0 -0
  138. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/ginja/exceptions.py +0 -0
  139. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/ginja/record.py +0 -0
  140. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/gsonschema/__init__.py +0 -0
  141. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/gsonschema/exceptions.py +0 -0
  142. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/gsonschema/schema_transformers.py +0 -0
  143. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/gsonschema/types.py +0 -0
  144. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/gsonschema/validators.py +0 -0
  145. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/processors/__init__.py +0 -0
  146. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/processors/base.py +0 -0
  147. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/processors/drop_columns.py +0 -0
  148. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/processors/registry.py +0 -0
  149. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/processors/schema_transform.py +0 -0
  150. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/processing/utils.py +0 -0
  151. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/registry/base.py +0 -0
  152. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/registry/data_designer_registry.py +0 -0
  153. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/registry/errors.py +0 -0
  154. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/__init__.py +0 -0
  155. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/__init__.py +0 -0
  156. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/atif.py +0 -0
  157. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/base.py +0 -0
  158. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/claude_code.py +0 -0
  159. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/codex.py +0 -0
  160. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/hermes_agent.py +0 -0
  161. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/pi_coding_agent.py +0 -0
  162. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/registry.py +0 -0
  163. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/types.py +0 -0
  164. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/agent_rollout/utils.py +0 -0
  165. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/managed_dataset_generator.py +0 -0
  166. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/person_reader.py +0 -0
  167. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/resources/seed_reader.py +0 -0
  168. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/column.py +0 -0
  169. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/constraints.py +0 -0
  170. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/data_sources/base.py +0 -0
  171. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/data_sources/errors.py +0 -0
  172. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/data_sources/sources.py +0 -0
  173. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/__init__.py +0 -0
  174. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet +0 -0
  175. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/dataset_based_person_fields.py +0 -0
  176. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/email_address_utils.py +0 -0
  177. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/errors.py +0 -0
  178. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/national_id_utils.py +0 -0
  179. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/person.py +0 -0
  180. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/entities/phone_number.py +0 -0
  181. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/errors.py +0 -0
  182. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/generator.py +0 -0
  183. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/jinja_utils.py +0 -0
  184. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/people_gen.py +0 -0
  185. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/person_constants.py +0 -0
  186. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/schema.py +0 -0
  187. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/schema_builder.py +0 -0
  188. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/sampling_gen/utils.py +0 -0
  189. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/secret_resolver.py +0 -0
  190. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/storage/__init__.py +0 -0
  191. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/storage/artifact_storage.py +0 -0
  192. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/storage/media_storage.py +0 -0
  193. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/testing/__init__.py +0 -0
  194. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/testing/fixtures.py +0 -0
  195. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/testing/seed_readers.py +0 -0
  196. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/testing/stubs.py +0 -0
  197. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/testing/utils.py +0 -0
  198. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/utils/__init__.py +0 -0
  199. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/utils/token_counting.py +0 -0
  200. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/__init__.py +0 -0
  201. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/base.py +0 -0
  202. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/local_callable.py +0 -0
  203. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/python.py +0 -0
  204. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/remote.py +0 -0
  205. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/src/data_designer/engine/validators/sql.py +0 -0
  206. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/__init__.py +0 -0
  207. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/conftest.py +0 -0
  208. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/__init__.py +0 -0
  209. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/column_profilers/test_base.py +0 -0
  210. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/column_profilers/test_judge_score_profiler.py +0 -0
  211. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/conftest.py +0 -0
  212. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_column_statistics_calculator.py +0 -0
  213. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_data/artifacts/dataset/column_configs.json +0 -0
  214. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_data/artifacts/dataset/dataset.json +0 -0
  215. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_data/artifacts/dataset/metadata.json +0 -0
  216. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/test_errors.py +0 -0
  217. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/analysis/utils/test_judge_score_processing.py +0 -0
  218. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/__init__.py +0 -0
  219. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_column_generator_base.py +0 -0
  220. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_embedding.py +0 -0
  221. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_image.py +0 -0
  222. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_llm_completion_generators.py +0 -0
  223. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_samplers.py +0 -0
  224. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_seed_dataset.py +0 -0
  225. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/generators/test_validation.py +0 -0
  226. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/test_registry.py +0 -0
  227. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/utils/test_column_generator_errors.py +0 -0
  228. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/utils/test_generator_classification.py +0 -0
  229. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/utils/test_judge_score_factory.py +0 -0
  230. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/column_generators/utils/test_prompt_renderer.py +0 -0
  231. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_completion.py +0 -0
  232. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_task_admission.py +0 -0
  233. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_task_model.py +0 -0
  234. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/scheduling/test_task_policies.py +0 -0
  235. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/test_multi_column_configs.py +0 -0
  236. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_async_concurrency.py +0 -0
  237. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_concurrency.py +0 -0
  238. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_config_compiler.py +0 -0
  239. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_execution_graph.py +0 -0
  240. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_progress_tracker.py +0 -0
  241. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_row_group_buffer.py +0 -0
  242. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_skip_evaluator.py +0 -0
  243. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_sticky_progress_bar.py +0 -0
  244. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/dataset_builders/utils/test_topological_sort.py +0 -0
  245. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/mcp/conftest.py +0 -0
  246. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/mcp/test_mcp_facade.py +0 -0
  247. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/mcp/test_mcp_factory.py +0 -0
  248. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/mcp/test_mcp_io.py +0 -0
  249. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/mcp/test_mcp_registry.py +0 -0
  250. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/__init__.py +0 -0
  251. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/__init__.py +0 -0
  252. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/conftest.py +0 -0
  253. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_anthropic.py +0 -0
  254. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_anthropic_translation.py +0 -0
  255. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_client_errors.py +0 -0
  256. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_factory.py +0 -0
  257. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_native_http_clients.py +0 -0
  258. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_openai_compatible.py +0 -0
  259. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_parsing.py +0 -0
  260. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_retry.py +0 -0
  261. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/clients/test_types.py +0 -0
  262. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/conftest.py +0 -0
  263. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/parsers/test_parser.py +0 -0
  264. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/parsers/test_parsers_types.py +0 -0
  265. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/parsers/test_postprocessors.py +0 -0
  266. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/parsers/test_tag_parsers.py +0 -0
  267. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/recipes/test_recipe_base.py +0 -0
  268. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/recipes/test_response_recipes.py +0 -0
  269. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/request_admission/test_controller.py +0 -0
  270. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/stub_secrets.json +0 -0
  271. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/test_facade.py +0 -0
  272. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/test_model_utils.py +0 -0
  273. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/models/test_usage.py +0 -0
  274. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/__init__.py +0 -0
  275. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/ginja/__init__.py +0 -0
  276. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/ginja/test_ast.py +0 -0
  277. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/ginja/test_environment.py +0 -0
  278. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/ginja/test_exceptions.py +0 -0
  279. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/ginja/test_record.py +0 -0
  280. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/gsonschema/__init__.py +0 -0
  281. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/gsonschema/test_exceptions.py +0 -0
  282. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/gsonschema/test_schema_transformers.py +0 -0
  283. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/gsonschema/test_types.py +0 -0
  284. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/gsonschema/test_validators.py +0 -0
  285. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/processors/__init__.py +0 -0
  286. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/processors/test_drop_columns.py +0 -0
  287. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/processors/test_registry.py +0 -0
  288. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/processors/test_schema_transform.py +0 -0
  289. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/processing/test_utils.py +0 -0
  290. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/registry/__init__.py +0 -0
  291. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/registry/conftest.py +0 -0
  292. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/registry/test_base.py +0 -0
  293. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/registry/test_data_designer_registry.py +0 -0
  294. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/registry/test_errors.py +0 -0
  295. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/__init__.py +0 -0
  296. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/__init__.py +0 -0
  297. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_atif.py +0 -0
  298. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_claude_code.py +0 -0
  299. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_codex.py +0 -0
  300. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_hermes_agent.py +0 -0
  301. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_pi_coding_agent.py +0 -0
  302. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/agent_rollout/test_utils.py +0 -0
  303. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/conftest.py +0 -0
  304. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/test_managed_dataset_generator.py +0 -0
  305. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/test_person_reader.py +0 -0
  306. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/test_resource_provider.py +0 -0
  307. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/resources/test_seed_reader.py +0 -0
  308. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/conftest.py +0 -0
  309. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/data_sources/test_sampler_errors.py +0 -0
  310. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/data_sources/test_sources.py +0 -0
  311. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/entities/test_email_address_utils.py +0 -0
  312. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/entities/test_national_id_utils.py +0 -0
  313. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/entities/test_person.py +0 -0
  314. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/entities/test_phone_number.py +0 -0
  315. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_column.py +0 -0
  316. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_constraints.py +0 -0
  317. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_generator.py +0 -0
  318. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_jinja_utils.py +0 -0
  319. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_people_gen.py +0 -0
  320. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_schema.py +0 -0
  321. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/sampling_gen/test_utils.py +0 -0
  322. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/storage/__init__.py +0 -0
  323. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/storage/test_artifact_storage.py +0 -0
  324. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/storage/test_media_storage.py +0 -0
  325. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_capacity.py +0 -0
  326. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_compiler.py +0 -0
  327. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_configurable_task.py +0 -0
  328. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_dataset_metadata.py +0 -0
  329. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_engine_errors.py +0 -0
  330. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_observability.py +0 -0
  331. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/test_secret_resolver.py +0 -0
  332. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/testing/test_plugin_testing_utils.py +0 -0
  333. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/utils/test_token_counting.py +0 -0
  334. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/validators/test_local_callable.py +0 -0
  335. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/validators/test_python.py +0 -0
  336. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/validators/test_remote.py +0 -0
  337. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/engine/validators/test_sql.py +0 -0
  338. {data_designer_engine-0.6.1rc2 → data_designer_engine-0.7.0}/tests/test_plugin_manager.py +0 -0
@@ -38,9 +38,6 @@ htmlcov/
38
38
  coverage.xml
39
39
  .pytest_cache/
40
40
 
41
- # mkdocs documentation
42
- /site
43
-
44
41
  # Jupyter Notebook
45
42
  .ipynb_checkpoints
46
43
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-designer-engine
3
- Version: 0.6.1rc2
3
+ Version: 0.7.0
4
4
  Summary: Generation engine for DataDesigner synthetic data generation
5
5
  License-Expression: Apache-2.0
6
6
  Classifier: Development Status :: 4 - Beta
@@ -17,7 +17,7 @@ Requires-Python: >=3.10
17
17
  Requires-Dist: anyascii<1,>=0.3.3
18
18
  Requires-Dist: chardet<6,>=3.0.2
19
19
  Requires-Dist: cryptography<47,>=46.0.7
20
- Requires-Dist: data-designer-config==0.6.1rc2
20
+ Requires-Dist: data-designer-config==0.7.0
21
21
  Requires-Dist: duckdb<2,>=1.5.0
22
22
  Requires-Dist: faker<21,>=20.1.0
23
23
  Requires-Dist: fsspec<2026,>=2025.3.0
@@ -32,10 +32,12 @@ Requires-Dist: marko<3,>=2.1.2
32
32
  Requires-Dist: mcp<2,>=1.26.0
33
33
  Requires-Dist: networkx<4,>=3.0
34
34
  Requires-Dist: numpy<3,>=1.23.5
35
+ Requires-Dist: pyjwt[crypto]<3,>=2.13.0
35
36
  Requires-Dist: python-multipart<1,>=0.0.29
36
37
  Requires-Dist: ruff<1,>=0.14.10
37
38
  Requires-Dist: scipy<2,>=1.11.0
38
39
  Requires-Dist: sqlfluff<5,>=4.1.0
40
+ Requires-Dist: starlette<2,>=1.2.0
39
41
  Requires-Dist: tiktoken<1,>=0.8.0
40
42
  Description-Content-Type: text/markdown
41
43
 
@@ -51,10 +51,12 @@ dependencies = [
51
51
  "mcp>=1.26.0,<2",
52
52
  "networkx>=3.0,<4",
53
53
  "numpy>=1.23.5,<3",
54
+ "pyjwt[crypto]>=2.13.0,<3", # 2.13.0 fixes PyJWT security advisories pulled in by mcp
54
55
  "python-multipart>=0.0.29,<1", # 0.0.29 addresses multipart security advisories pulled in by mcp
55
56
  "ruff>=0.14.10,<1",
56
57
  "scipy>=1.11.0,<2",
57
58
  "sqlfluff>=4.1.0,<5",
59
+ "starlette>=1.2.0,<2", # 1.2.0 fixes security advisory pulled in by mcp
58
60
  "tiktoken>=0.8.0,<1",
59
61
  ]
60
62
 
@@ -12,6 +12,7 @@ from typing_extensions import Self
12
12
 
13
13
  from data_designer.config.base import ConfigBase, SingleColumnConfig
14
14
  from data_designer.config.column_types import DataDesignerColumnType
15
+ from data_designer.config.run_config import JinjaRenderingEngine
15
16
  from data_designer.engine.configurable_task import ConfigurableTask, TaskConfigT
16
17
 
17
18
  logger = logging.getLogger(__name__)
@@ -20,6 +21,7 @@ logger = logging.getLogger(__name__)
20
21
  class ColumnConfigWithDataFrame(ConfigBase):
21
22
  column_config: SingleColumnConfig
22
23
  df: pd.DataFrame
24
+ jinja_rendering_engine: JinjaRenderingEngine = JinjaRenderingEngine.SECURE
23
25
 
24
26
  @model_validator(mode="after")
25
27
  def validate_column_exists(self) -> Self:
@@ -73,7 +73,11 @@ class GeneralColumnStatisticsCalculator(BaseModel):
73
73
 
74
74
  class LLMTextColumnStatisticsCalculator(GeneralColumnStatisticsCalculator):
75
75
  def calculate_token_stats(self) -> dict[str, Any]:
76
- return calculate_token_stats(self.column_config, self.df)
76
+ return calculate_token_stats(
77
+ self.column_config,
78
+ self.df,
79
+ jinja_rendering_engine=self.column_config_with_df.jinja_rendering_engine,
80
+ )
77
81
 
78
82
 
79
83
  class LLMCodeColumnStatisticsCalculator(LLMTextColumnStatisticsCalculator): ...
@@ -76,7 +76,7 @@ class DataDesignerDatasetProfiler:
76
76
  logger.info(f"{LOG_INDENT}{c.get_column_emoji()} column: '{c.name}'")
77
77
  column_statistics.append(
78
78
  get_column_statistics_calculator(c.column_type)(
79
- column_config_with_df=ColumnConfigWithDataFrame(column_config=c, df=dataset)
79
+ column_config_with_df=self._create_column_config_with_df(c, dataset)
80
80
  ).calculate()
81
81
  )
82
82
 
@@ -86,7 +86,7 @@ class DataDesignerDatasetProfiler:
86
86
  applicable_column_types = profiler.get_applicable_column_types()
87
87
  for c in self.config.column_configs:
88
88
  if c.column_type in applicable_column_types:
89
- params = ColumnConfigWithDataFrame(column_config=c, df=dataset)
89
+ params = self._create_column_config_with_df(c, dataset)
90
90
  column_profiles.append(profiler.profile(params))
91
91
  if len(column_profiles) == 0:
92
92
  logger.warning(
@@ -128,6 +128,17 @@ class DataDesignerDatasetProfiler:
128
128
  config=profiler_config, resource_provider=self.resource_provider
129
129
  )
130
130
 
131
+ def _create_column_config_with_df(
132
+ self,
133
+ column_config: ColumnConfigT,
134
+ dataset: pd.DataFrame,
135
+ ) -> ColumnConfigWithDataFrame:
136
+ return ColumnConfigWithDataFrame(
137
+ column_config=column_config,
138
+ df=dataset,
139
+ jinja_rendering_engine=self.resource_provider.run_config.jinja_rendering_engine,
140
+ )
141
+
131
142
  def _validate_column_profiler_configs(self) -> None:
132
143
  if self.config.column_profiler_configs:
133
144
  if self.resource_provider.model_registry is None:
@@ -17,6 +17,7 @@ from data_designer.config.analysis.column_statistics import (
17
17
  from data_designer.config.column_configs import (
18
18
  LLMTextColumnConfig,
19
19
  )
20
+ from data_designer.config.run_config import JinjaRenderingEngine
20
21
  from data_designer.engine.column_generators.utils.prompt_renderer import (
21
22
  PromptType,
22
23
  RecordBasedPromptRenderer,
@@ -95,12 +96,18 @@ def calculate_general_column_info(column_name: str, df: pd.DataFrame) -> dict[st
95
96
 
96
97
 
97
98
  def calculate_input_token_stats(
98
- column_config: LLMTextColumnConfig, df: pd.DataFrame
99
+ column_config: LLMTextColumnConfig,
100
+ df: pd.DataFrame,
101
+ *,
102
+ jinja_rendering_engine: JinjaRenderingEngine = JinjaRenderingEngine.SECURE,
99
103
  ) -> dict[str, float | MissingValue]:
100
104
  try:
101
105
  num_tokens = []
102
106
  num_samples = min(MAX_PROMPT_SAMPLE_SIZE, len(df))
103
- renderer = RecordBasedPromptRenderer(response_recipe=create_response_recipe(column_config))
107
+ renderer = RecordBasedPromptRenderer(
108
+ response_recipe=create_response_recipe(column_config),
109
+ jinja_rendering_engine=jinja_rendering_engine,
110
+ )
104
111
  for record in df.sample(num_samples, random_state=RANDOM_SEED).to_dict(orient="records"):
105
112
  system_prompt = renderer.render(
106
113
  prompt_template=column_config.system_prompt, record=record, prompt_type=PromptType.SYSTEM_PROMPT
@@ -143,9 +150,14 @@ def calculate_output_token_stats(
143
150
  }
144
151
 
145
152
 
146
- def calculate_token_stats(column_config: LLMTextColumnConfig, df: pd.DataFrame) -> dict[str, float | MissingValue]:
153
+ def calculate_token_stats(
154
+ column_config: LLMTextColumnConfig,
155
+ df: pd.DataFrame,
156
+ *,
157
+ jinja_rendering_engine: JinjaRenderingEngine = JinjaRenderingEngine.SECURE,
158
+ ) -> dict[str, float | MissingValue]:
147
159
  return {
148
- **calculate_input_token_stats(column_config, df),
160
+ **calculate_input_token_stats(column_config, df, jinja_rendering_engine=jinja_rendering_engine),
149
161
  **calculate_output_token_stats(column_config, df),
150
162
  }
151
163
 
@@ -363,6 +363,5 @@ class ColumnGeneratorFullColumn(ColumnGenerator[TaskConfigT], ABC):
363
363
 
364
364
  Returns:
365
365
  DataFrame containing the input columns plus the new column and any side-effect
366
- columns. When ``config.allow_resize`` is ``False``, the row count must match
367
- the input; when it is ``True``, the row count may change.
366
+ columns. The row count must match the input.
368
367
  """
@@ -50,12 +50,12 @@ def _compute_bridge_timeout(
50
50
 
51
51
 
52
52
  class _AsyncBridgedModelFacade:
53
- """Proxy that bridges ``model.generate()`` to ``model.agenerate()`` in async engine mode.
53
+ """Proxy that bridges ``model.generate()`` to ``model.agenerate()``.
54
54
 
55
- When a sync custom column runs inside ``asyncio.to_thread`` under the async engine,
56
- the sync HTTP client is unavailable. This proxy intercepts the resulting
57
- ``SyncClientUnavailableError`` and schedules ``agenerate()`` on the engine's persistent
58
- event loop via ``run_coroutine_threadsafe``.
55
+ When a synchronous custom column runs inside ``asyncio.to_thread``, the sync
56
+ HTTP client is unavailable. This proxy intercepts the resulting
57
+ ``SyncClientUnavailableError`` and schedules ``agenerate()`` on the engine's
58
+ persistent event loop via ``run_coroutine_threadsafe``.
59
59
 
60
60
  All other attributes are forwarded to the underlying facade unchanged.
61
61
  """
@@ -82,7 +82,7 @@ class _AsyncBridgedModelFacade:
82
82
  pass # No running loop - safe to bridge
83
83
  else:
84
84
  raise RuntimeError(
85
- "model.generate() is not available in async engine mode from the event loop. "
85
+ "model.generate() is not available from the event loop. "
86
86
  "Use 'await model.agenerate()' in async custom columns."
87
87
  )
88
88
 
@@ -153,13 +153,10 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
153
153
 
154
154
  def get_generation_strategy(self) -> GenerationStrategy:
155
155
  """Return strategy based on config."""
156
- return self.config.generation_strategy
156
+ return GenerationStrategy(self.config.generation_strategy)
157
157
 
158
- def generate(self, data: dict | pd.DataFrame) -> dict | pd.DataFrame | list[dict]:
159
- """Generate column value(s) for a row (dict) or batch (DataFrame).
160
-
161
- For cell_by_cell with allow_resize=True, may return dict or list[dict] (0, 1, or N rows).
162
- """
158
+ def generate(self, data: dict | pd.DataFrame) -> dict | pd.DataFrame:
159
+ """Generate column value(s) for a row (dict) or batch (DataFrame)."""
163
160
  is_full_column = self.config.generation_strategy == GenerationStrategy.FULL_COLUMN
164
161
  is_dataframe = not isinstance(data, dict)
165
162
 
@@ -177,7 +174,7 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
177
174
 
178
175
  return self._generate(data, is_dataframe)
179
176
 
180
- async def agenerate(self, data: dict | pd.DataFrame) -> dict | pd.DataFrame | list[dict]:
177
+ async def agenerate(self, data: dict | pd.DataFrame) -> dict | pd.DataFrame:
181
178
  """Async generate — branches on strategy and detects coroutine functions."""
182
179
  is_full_column = self.config.generation_strategy == GenerationStrategy.FULL_COLUMN
183
180
  if is_full_column:
@@ -229,7 +226,7 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
229
226
  models = self._build_models_dict()
230
227
  return await fn(data, self.config.generator_params, models)
231
228
 
232
- def _generate(self, data: dict | pd.DataFrame, is_dataframe: bool) -> dict | pd.DataFrame | list[dict]:
229
+ def _generate(self, data: dict | pd.DataFrame, is_dataframe: bool) -> dict | pd.DataFrame:
233
230
  """Unified generation logic for both strategies."""
234
231
  get_keys = (lambda d: set(d.columns)) if is_dataframe else (lambda d: set(d.keys()))
235
232
 
@@ -265,28 +262,11 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
265
262
 
266
263
  def _postprocess_result(
267
264
  self,
268
- result: dict | pd.DataFrame | list[dict],
265
+ result: dict | pd.DataFrame,
269
266
  is_dataframe: bool,
270
267
  keys_before: set[str],
271
- ) -> dict | pd.DataFrame | list[dict]:
268
+ ) -> dict | pd.DataFrame:
272
269
  """Validate type and output columns of a generation result."""
273
- # Cell-by-cell with allow_resize: accept dict or list[dict]
274
- if not is_dataframe and self.config.allow_resize:
275
- if isinstance(result, dict):
276
- return self._validate_output(result, keys_before, is_dataframe)
277
- if isinstance(result, list):
278
- if not all(isinstance(r, dict) for r in result):
279
- raise CustomColumnGenerationError(
280
- f"Custom generator for column '{self.config.name}' with allow_resize must return "
281
- "dict or list[dict]; list elements must be dicts."
282
- )
283
- return [self._validate_cell_output(r, keys_before) for r in result]
284
- raise CustomColumnGenerationError(
285
- f"Custom generator for column '{self.config.name}' with allow_resize must return "
286
- f"dict or list[dict], got {type(result).__name__}"
287
- )
288
-
289
- # Validate return type for non-resize paths
290
270
  expected_type = lazy.pd.DataFrame if is_dataframe else dict
291
271
  type_name = "DataFrame" if is_dataframe else "dict"
292
272
  if not isinstance(result, expected_type):
@@ -425,5 +405,3 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
425
405
  logger.info(f"{LOG_INDENT}model_aliases: {self.config.model_aliases}")
426
406
  if self.config.generator_params:
427
407
  logger.info(f"{LOG_INDENT}generator_params: {self.config.generator_params}")
428
- if self.config.allow_resize:
429
- logger.info(f"{LOG_INDENT}allow_resize: {self.config.allow_resize}")
@@ -0,0 +1,130 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ from __future__ import annotations
5
+
6
+ import logging
7
+ from collections import Counter
8
+ from typing import TYPE_CHECKING
9
+
10
+ import data_designer.lazy_heavy_imports as lazy
11
+ from data_designer.config.column_configs import ExpressionColumnConfig
12
+ from data_designer.engine.column_generators.generators.base import ColumnGeneratorFullColumn
13
+ from data_designer.engine.column_generators.utils.errors import ExpressionTemplateRenderError
14
+ from data_designer.engine.context import format_row_group_tag
15
+ from data_designer.engine.processing.ginja.environment import WithJinja2UserTemplateRendering
16
+ from data_designer.engine.processing.ginja.exceptions import EmptyTemplateRenderError, UserTemplateError
17
+ from data_designer.engine.processing.utils import deserialize_json_values
18
+
19
+ if TYPE_CHECKING:
20
+ import pandas as pd
21
+
22
+ logger = logging.getLogger(__name__)
23
+
24
+ EMPTY_RENDERED_EXPRESSION = "EmptyRenderedExpression"
25
+ TEMPLATE_RENDER_ERROR = "TemplateRenderError"
26
+ TYPE_CAST_ERROR = "TypeCastError"
27
+ _VALID_DTYPES = {"str", "float", "int", "bool"}
28
+
29
+
30
+ class ExpressionColumnGenerator(WithJinja2UserTemplateRendering, ColumnGeneratorFullColumn[ExpressionColumnConfig]):
31
+ def generate(self, data: pd.DataFrame) -> pd.DataFrame:
32
+ logger.info(f"🧩 {format_row_group_tag()}Generating column `{self.config.name}` from expression")
33
+
34
+ missing_columns = list(set(self.config.required_columns) - set(data.columns))
35
+ if len(missing_columns) > 0:
36
+ error_msg = (
37
+ f"There was an error preparing the Jinja2 expression template. "
38
+ f"The following columns {missing_columns} are missing!"
39
+ )
40
+ raise ExpressionTemplateRenderError(error_msg)
41
+
42
+ if self.config.dtype not in _VALID_DTYPES:
43
+ raise ValueError(f"Invalid dtype: {self.config.dtype}")
44
+
45
+ self.prepare_jinja2_template_renderer(self.config.expr, data.columns.to_list())
46
+ records: list[dict] = []
47
+ retained_indexes: list[object] = []
48
+ drop_counts: Counter[str] = Counter()
49
+
50
+ # ``DataFrame.to_dict(orient="records")`` returns ``[]`` for a 0-column
51
+ # DataFrame regardless of its row count, so a root expression dispatched
52
+ # against a fresh row group buffer (no upstream columns) would otherwise
53
+ # skip rendering entirely. Synthesize empty per-row dicts in that case so
54
+ # the loop still fires once per row and the template can render its
55
+ # constant value (or drop the row uniformly).
56
+ row_indexes = data.index.to_list()
57
+ row_records = data.to_dict(orient="records")
58
+ if not row_records and row_indexes:
59
+ row_records = [{} for _ in row_indexes]
60
+
61
+ for row_index, record in zip(row_indexes, row_records, strict=True):
62
+ prepared_record = deserialize_json_values(record)
63
+ try:
64
+ rendered_value = self.render_template(prepared_record)
65
+ except EmptyTemplateRenderError:
66
+ drop_counts[EMPTY_RENDERED_EXPRESSION] += 1
67
+ continue
68
+ except Exception:
69
+ logger.debug(
70
+ "Expression column %r dropped row %r after template render failure.",
71
+ self.config.name,
72
+ row_index,
73
+ exc_info=True,
74
+ )
75
+ drop_counts[TEMPLATE_RENDER_ERROR] += 1
76
+ continue
77
+
78
+ if self._is_empty_rendered_expression(rendered_value):
79
+ drop_counts[EMPTY_RENDERED_EXPRESSION] += 1
80
+ continue
81
+
82
+ try:
83
+ record[self.config.name] = self._cast_type(rendered_value)
84
+ except (OverflowError, TypeError, ValueError):
85
+ drop_counts[TYPE_CAST_ERROR] += 1
86
+ continue
87
+
88
+ records.append(record)
89
+ retained_indexes.append(row_index)
90
+
91
+ total_dropped = sum(drop_counts.values())
92
+ if total_dropped > 0:
93
+ self._log_row_drops(drop_counts, input_count=len(data), retained_count=len(records))
94
+ if len(records) == 0:
95
+ raise UserTemplateError(f"Expression column {self.config.name!r} produced no valid rows.")
96
+
97
+ return lazy.pd.DataFrame(records, index=retained_indexes)
98
+
99
+ @staticmethod
100
+ def _is_empty_rendered_expression(value: object) -> bool:
101
+ if value is None:
102
+ return True
103
+ return isinstance(value, str) and len(value.strip()) == 0
104
+
105
+ def _log_row_drops(self, drop_counts: Counter[str], *, input_count: int, retained_count: int) -> None:
106
+ breakdown = ", ".join(f"{name}={count}" for name, count in sorted(drop_counts.items()))
107
+ total_dropped = sum(drop_counts.values())
108
+ message = (
109
+ f"Expression column {self.config.name!r} dropped {total_dropped}/{input_count} rows after render: "
110
+ f"{breakdown}."
111
+ )
112
+ if retained_count == 0:
113
+ logger.error(message)
114
+ else:
115
+ logger.warning(f"{message} Continuing with {retained_count} rows.")
116
+
117
+ def _cast_type(self, value: str) -> str | float | int | bool:
118
+ if self.config.dtype == "str":
119
+ return value
120
+ elif self.config.dtype == "float":
121
+ return float(value)
122
+ elif self.config.dtype == "int":
123
+ return int(float(value))
124
+ elif self.config.dtype == "bool":
125
+ try:
126
+ return bool(int(float(value)))
127
+ except ValueError:
128
+ return bool(f"{value}".lower() == "true")
129
+ else:
130
+ raise ValueError(f"Invalid dtype: {self.config.dtype}")
@@ -5,8 +5,7 @@ from __future__ import annotations
5
5
 
6
6
  from contextvars import ContextVar
7
7
 
8
- # Set per row group by both engines: the async scheduler sets it before each
9
- # task executes, and the sync engine's ``_run_batch`` sets it for each batch.
8
+ # Set per row group by the async scheduler before each task executes.
10
9
  # Value: (current_rg_index, total_rg_count) or None.
11
10
  current_row_group: ContextVar[tuple[int, int] | None] = ContextVar("current_row_group", default=None)
12
11