data-designer-engine 0.9.6__tar.gz → 0.9.7__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 (344) hide show
  1. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/PKG-INFO +2 -2
  2. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/async_concurrency.py +20 -0
  3. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/io.py +11 -0
  4. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/constraints.py +1 -2
  5. data_designer_engine-0.9.7/tests/engine/dataset_builders/utils/test_async_concurrency.py +45 -0
  6. data_designer_engine-0.9.7/tests/engine/fork_probe.py +62 -0
  7. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/mcp/test_mcp_io.py +26 -0
  8. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/.gitignore +0 -0
  9. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/README.md +0 -0
  10. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/pyproject.toml +0 -0
  11. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/__init__.py +0 -0
  12. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/column_profilers/base.py +0 -0
  13. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/column_profilers/judge_score_profiler.py +0 -0
  14. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/column_profilers/registry.py +0 -0
  15. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/column_statistics.py +0 -0
  16. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/dataset_profiler.py +0 -0
  17. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/errors.py +0 -0
  18. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/utils/column_statistics_calculations.py +0 -0
  19. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/analysis/utils/judge_score_processing.py +0 -0
  20. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/capacity.py +0 -0
  21. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/__init__.py +0 -0
  22. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/__init__.py +0 -0
  23. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/base.py +0 -0
  24. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/custom.py +0 -0
  25. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/embedding.py +0 -0
  26. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/expression.py +0 -0
  27. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/image.py +0 -0
  28. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/llm_completion.py +0 -0
  29. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/samplers.py +0 -0
  30. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/seed_dataset.py +0 -0
  31. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/generators/validation.py +0 -0
  32. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/registry.py +0 -0
  33. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/utils/errors.py +0 -0
  34. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/utils/generator_classification.py +0 -0
  35. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/utils/judge_score_factory.py +0 -0
  36. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/column_generators/utils/prompt_renderer.py +0 -0
  37. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/compiler.py +0 -0
  38. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/configurable_task.py +0 -0
  39. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/context.py +0 -0
  40. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/async_scheduler.py +0 -0
  41. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/dataset_builder.py +0 -0
  42. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/errors.py +0 -0
  43. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/multi_column_configs.py +0 -0
  44. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/row_group_plan.py +0 -0
  45. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/completion.py +0 -0
  46. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/queue.py +0 -0
  47. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/resolver.py +0 -0
  48. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/resources.py +0 -0
  49. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/task_admission.py +0 -0
  50. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/task_model.py +0 -0
  51. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/scheduling/task_policies.py +0 -0
  52. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/__init__.py +0 -0
  53. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/concurrency.py +0 -0
  54. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/config_compiler.py +0 -0
  55. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/errors.py +0 -0
  56. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/execution_graph.py +0 -0
  57. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/processor_runner.py +0 -0
  58. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/row_group_buffer.py +0 -0
  59. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/skip_evaluator.py +0 -0
  60. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/dataset_builders/utils/skip_tracker.py +0 -0
  61. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/errors.py +0 -0
  62. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/__init__.py +0 -0
  63. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/errors.py +0 -0
  64. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/facade.py +0 -0
  65. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/factory.py +0 -0
  66. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/mcp/registry.py +0 -0
  67. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/model_provider.py +0 -0
  68. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/__init__.py +0 -0
  69. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/__init__.py +0 -0
  70. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/__init__.py +0 -0
  71. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/anthropic.py +0 -0
  72. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/anthropic_translation.py +0 -0
  73. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/http_helpers.py +0 -0
  74. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/http_model_client.py +0 -0
  75. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/httpx_sharding.py +0 -0
  76. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/adapters/openai_compatible.py +0 -0
  77. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/base.py +0 -0
  78. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/errors.py +0 -0
  79. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/factory.py +0 -0
  80. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/model_request_executor.py +0 -0
  81. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/parsing.py +0 -0
  82. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/retry.py +0 -0
  83. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/clients/types.py +0 -0
  84. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/errors.py +0 -0
  85. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/facade.py +0 -0
  86. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/factory.py +0 -0
  87. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/__init__.py +0 -0
  88. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/errors.py +0 -0
  89. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/parser.py +0 -0
  90. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/postprocessors.py +0 -0
  91. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/tag_parsers.py +0 -0
  92. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/parsers/types.py +0 -0
  93. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/recipes/base.py +0 -0
  94. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/recipes/response_recipes.py +0 -0
  95. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/registry.py +0 -0
  96. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/config.py +0 -0
  97. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/controller.py +0 -0
  98. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/limits.py +0 -0
  99. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/outcomes.py +0 -0
  100. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/pressure.py +0 -0
  101. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/queue.py +0 -0
  102. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/resolver.py +0 -0
  103. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/request_admission/resources.py +0 -0
  104. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/resources.py +0 -0
  105. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/telemetry.py +0 -0
  106. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/usage.py +0 -0
  107. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/usage_events.py +0 -0
  108. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/models/utils.py +0 -0
  109. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/observability.py +0 -0
  110. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/__init__.py +0 -0
  111. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/ginja/__init__.py +0 -0
  112. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/ginja/ast.py +0 -0
  113. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/ginja/environment.py +0 -0
  114. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/ginja/exceptions.py +0 -0
  115. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/ginja/record.py +0 -0
  116. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/gsonschema/__init__.py +0 -0
  117. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/gsonschema/exceptions.py +0 -0
  118. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/gsonschema/schema_transformers.py +0 -0
  119. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/gsonschema/types.py +0 -0
  120. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/gsonschema/validators.py +0 -0
  121. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/processors/__init__.py +0 -0
  122. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/processors/base.py +0 -0
  123. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/processors/drop_columns.py +0 -0
  124. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/processors/registry.py +0 -0
  125. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/processors/schema_transform.py +0 -0
  126. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/processing/utils.py +0 -0
  127. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/progress/__init__.py +0 -0
  128. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/progress/reporter.py +0 -0
  129. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/progress/terminal/__init__.py +0 -0
  130. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/progress/terminal/throughput_panel.py +0 -0
  131. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/progress/tracker.py +0 -0
  132. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/readiness.py +0 -0
  133. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/registry/base.py +0 -0
  134. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/registry/data_designer_registry.py +0 -0
  135. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/registry/errors.py +0 -0
  136. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/__init__.py +0 -0
  137. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/__init__.py +0 -0
  138. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/atif.py +0 -0
  139. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/base.py +0 -0
  140. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/claude_code.py +0 -0
  141. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/codex.py +0 -0
  142. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/hermes_agent.py +0 -0
  143. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/pi_coding_agent.py +0 -0
  144. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/registry.py +0 -0
  145. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/types.py +0 -0
  146. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/agent_rollout/utils.py +0 -0
  147. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/managed_dataset_generator.py +0 -0
  148. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/person_reader.py +0 -0
  149. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/resource_provider.py +0 -0
  150. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/resources/seed_reader.py +0 -0
  151. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/column.py +0 -0
  152. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/data_sources/base.py +0 -0
  153. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/data_sources/errors.py +0 -0
  154. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/data_sources/sources.py +0 -0
  155. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/__init__.py +0 -0
  156. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet +0 -0
  157. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/dataset_based_person_fields.py +0 -0
  158. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/email_address_utils.py +0 -0
  159. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/errors.py +0 -0
  160. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/national_id_utils.py +0 -0
  161. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/person.py +0 -0
  162. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/entities/phone_number.py +0 -0
  163. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/errors.py +0 -0
  164. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/generator.py +0 -0
  165. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/jinja_utils.py +0 -0
  166. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/people_gen.py +0 -0
  167. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/person_constants.py +0 -0
  168. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/schema.py +0 -0
  169. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/schema_builder.py +0 -0
  170. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/sampling_gen/utils.py +0 -0
  171. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/secret_resolver.py +0 -0
  172. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/storage/__init__.py +0 -0
  173. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/storage/artifact_storage.py +0 -0
  174. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/storage/media_storage.py +0 -0
  175. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/__init__.py +0 -0
  176. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/fixtures.py +0 -0
  177. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/observability.py +0 -0
  178. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/seed_readers.py +0 -0
  179. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/stubs.py +0 -0
  180. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/testing/utils.py +0 -0
  181. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/utils/__init__.py +0 -0
  182. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/utils/token_counting.py +0 -0
  183. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validation.py +0 -0
  184. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/__init__.py +0 -0
  185. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/base.py +0 -0
  186. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/local_callable.py +0 -0
  187. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/python.py +0 -0
  188. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/remote.py +0 -0
  189. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/src/data_designer/engine/validators/sql.py +0 -0
  190. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/__init__.py +0 -0
  191. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/conftest.py +0 -0
  192. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/__init__.py +0 -0
  193. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/column_profilers/test_base.py +0 -0
  194. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/column_profilers/test_judge_score_profiler.py +0 -0
  195. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/conftest.py +0 -0
  196. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_column_statistics_calculator.py +0 -0
  197. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_data/artifacts/dataset/column_configs.json +0 -0
  198. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_data/artifacts/dataset/dataset.json +0 -0
  199. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_data/artifacts/dataset/metadata.json +0 -0
  200. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_dataset_profiler.py +0 -0
  201. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/test_errors.py +0 -0
  202. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/utils/test_column_statistics_calculations.py +0 -0
  203. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/analysis/utils/test_judge_score_processing.py +0 -0
  204. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/__init__.py +0 -0
  205. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_async_generators.py +0 -0
  206. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_column_generator_base.py +0 -0
  207. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_custom.py +0 -0
  208. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_embedding.py +0 -0
  209. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_expression.py +0 -0
  210. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_image.py +0 -0
  211. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_llm_completion_generators.py +0 -0
  212. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_samplers.py +0 -0
  213. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_seed_dataset.py +0 -0
  214. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/generators/test_validation.py +0 -0
  215. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/test_registry.py +0 -0
  216. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/utils/test_column_generator_errors.py +0 -0
  217. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/utils/test_generator_classification.py +0 -0
  218. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/utils/test_judge_score_factory.py +0 -0
  219. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/column_generators/utils/test_prompt_renderer.py +0 -0
  220. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/conftest.py +0 -0
  221. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_completion.py +0 -0
  222. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_queue.py +0 -0
  223. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_resolver.py +0 -0
  224. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_resources.py +0 -0
  225. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_task_admission.py +0 -0
  226. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_task_model.py +0 -0
  227. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/scheduling/test_task_policies.py +0 -0
  228. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/test_async_builder_integration.py +0 -0
  229. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/test_async_scheduler.py +0 -0
  230. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/test_dataset_builder.py +0 -0
  231. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/test_multi_column_configs.py +0 -0
  232. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_concurrency.py +0 -0
  233. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_config_compiler.py +0 -0
  234. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_execution_graph.py +0 -0
  235. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_row_group_buffer.py +0 -0
  236. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_skip_evaluator.py +0 -0
  237. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_skip_tracker.py +0 -0
  238. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/dataset_builders/utils/test_topological_sort.py +0 -0
  239. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/mcp/conftest.py +0 -0
  240. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/mcp/test_mcp_facade.py +0 -0
  241. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/mcp/test_mcp_factory.py +0 -0
  242. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/mcp/test_mcp_registry.py +0 -0
  243. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/__init__.py +0 -0
  244. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/__init__.py +0 -0
  245. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/conftest.py +0 -0
  246. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_anthropic.py +0 -0
  247. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_anthropic_translation.py +0 -0
  248. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_client_errors.py +0 -0
  249. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_factory.py +0 -0
  250. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_httpx_sharding.py +0 -0
  251. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_model_request_executor.py +0 -0
  252. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_native_http_clients.py +0 -0
  253. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_openai_compatible.py +0 -0
  254. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_parsing.py +0 -0
  255. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_retry.py +0 -0
  256. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/clients/test_types.py +0 -0
  257. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/conftest.py +0 -0
  258. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/parsers/test_parser.py +0 -0
  259. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/parsers/test_parsers_types.py +0 -0
  260. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/parsers/test_postprocessors.py +0 -0
  261. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/parsers/test_tag_parsers.py +0 -0
  262. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/recipes/test_recipe_base.py +0 -0
  263. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/recipes/test_response_recipes.py +0 -0
  264. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/request_admission/test_controller.py +0 -0
  265. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/request_admission/test_request_queue.py +0 -0
  266. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/stub_secrets.json +0 -0
  267. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_facade.py +0 -0
  268. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_import_order.py +0 -0
  269. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_model_errors.py +0 -0
  270. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_model_registry.py +0 -0
  271. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_model_utils.py +0 -0
  272. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_telemetry.py +0 -0
  273. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/models/test_usage.py +0 -0
  274. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/__init__.py +0 -0
  275. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/ginja/__init__.py +0 -0
  276. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/ginja/test_ast.py +0 -0
  277. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/ginja/test_environment.py +0 -0
  278. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/ginja/test_exceptions.py +0 -0
  279. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/ginja/test_record.py +0 -0
  280. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/gsonschema/__init__.py +0 -0
  281. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/gsonschema/test_exceptions.py +0 -0
  282. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/gsonschema/test_schema_transformers.py +0 -0
  283. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/gsonschema/test_types.py +0 -0
  284. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/gsonschema/test_validators.py +0 -0
  285. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/processors/__init__.py +0 -0
  286. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/processors/test_drop_columns.py +0 -0
  287. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/processors/test_registry.py +0 -0
  288. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/processors/test_schema_transform.py +0 -0
  289. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/processing/test_utils.py +0 -0
  290. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/progress/terminal/test_throughput_panel.py +0 -0
  291. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/progress/test_tracker.py +0 -0
  292. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/registry/__init__.py +0 -0
  293. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/registry/conftest.py +0 -0
  294. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/registry/test_base.py +0 -0
  295. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/registry/test_data_designer_registry.py +0 -0
  296. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/registry/test_errors.py +0 -0
  297. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/__init__.py +0 -0
  298. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/__init__.py +0 -0
  299. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_atif.py +0 -0
  300. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_claude_code.py +0 -0
  301. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_codex.py +0 -0
  302. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_hermes_agent.py +0 -0
  303. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_pi_coding_agent.py +0 -0
  304. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/agent_rollout/test_utils.py +0 -0
  305. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/conftest.py +0 -0
  306. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/test_managed_dataset_generator.py +0 -0
  307. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/test_person_reader.py +0 -0
  308. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/test_resource_provider.py +0 -0
  309. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/resources/test_seed_reader.py +0 -0
  310. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/conftest.py +0 -0
  311. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/data_sources/test_sampler_errors.py +0 -0
  312. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/data_sources/test_sources.py +0 -0
  313. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/entities/test_email_address_utils.py +0 -0
  314. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/entities/test_national_id_utils.py +0 -0
  315. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/entities/test_person.py +0 -0
  316. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/entities/test_phone_number.py +0 -0
  317. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_column.py +0 -0
  318. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_constraints.py +0 -0
  319. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_generator.py +0 -0
  320. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_generator_rounding.py +0 -0
  321. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_jinja_utils.py +0 -0
  322. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_people_gen.py +0 -0
  323. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_schema.py +0 -0
  324. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/sampling_gen/test_utils.py +0 -0
  325. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/storage/__init__.py +0 -0
  326. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/storage/test_artifact_storage.py +0 -0
  327. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/storage/test_media_storage.py +0 -0
  328. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_capacity.py +0 -0
  329. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_compiler.py +0 -0
  330. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_configurable_task.py +0 -0
  331. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_dataset_metadata.py +0 -0
  332. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_engine_errors.py +0 -0
  333. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_model_provider.py +0 -0
  334. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_observability.py +0 -0
  335. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_readiness.py +0 -0
  336. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_secret_resolver.py +0 -0
  337. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/test_validation.py +0 -0
  338. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/testing/test_plugin_testing_utils.py +0 -0
  339. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/utils/test_token_counting.py +0 -0
  340. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/validators/test_local_callable.py +0 -0
  341. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/validators/test_python.py +0 -0
  342. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/validators/test_remote.py +0 -0
  343. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/tests/engine/validators/test_sql.py +0 -0
  344. {data_designer_engine-0.9.6 → data_designer_engine-0.9.7}/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.6
3
+ Version: 0.9.7
4
4
  Summary: Generation engine for DataDesigner synthetic data generation
5
5
  License-Expression: Apache-2.0
6
6
  Classifier: Development Status :: 4 - Beta
@@ -16,7 +16,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
16
  Requires-Python: >=3.10
17
17
  Requires-Dist: anyascii<1,>=0.3.3
18
18
  Requires-Dist: asciichartpy<2,>=1.5.25
19
- Requires-Dist: data-designer-config==0.9.6
19
+ Requires-Dist: data-designer-config==0.9.7
20
20
  Requires-Dist: duckdb<2,>=1.5.0
21
21
  Requires-Dist: faker<21,>=20.1.0
22
22
  Requires-Dist: fsspec<2027,>=2026.6.0
@@ -19,12 +19,19 @@ Startup handshake:
19
19
  ``_loop.is_running() == False`` before the first loop has entered
20
20
  ``run_forever()``, which would create a duplicate loop. On timeout,
21
21
  globals are reset and the orphaned loop is cleaned up before raising.
22
+
23
+ Fork safety:
24
+ Only the forking thread survives ``os.fork()``, but the copied loop
25
+ object still reports ``is_running() == True``. An ``after_in_child``
26
+ hook drops the inherited loop, thread, and lock so the child's first
27
+ call starts a fresh loop instead of waiting on one nothing drives.
22
28
  """
23
29
 
24
30
  from __future__ import annotations
25
31
 
26
32
  import asyncio
27
33
  import logging
34
+ import os
28
35
  import threading
29
36
 
30
37
  logger = logging.getLogger(__name__)
@@ -42,6 +49,19 @@ def _run_loop(loop: asyncio.AbstractEventLoop, ready: threading.Event) -> None:
42
49
  loop.run_forever()
43
50
 
44
51
 
52
+ def _reset_after_fork() -> None:
53
+ # Drop, never close(), the inherited loop: the child shares the parent's epoll
54
+ # instance, and close() would unregister the parent loop's wakeup pipe from it.
55
+ global _loop, _thread, _lock
56
+ _loop = None
57
+ _thread = None
58
+ _lock = threading.Lock()
59
+
60
+
61
+ if hasattr(os, "register_at_fork"):
62
+ os.register_at_fork(after_in_child=_reset_after_fork)
63
+
64
+
45
65
  def ensure_async_engine_loop() -> asyncio.AbstractEventLoop:
46
66
  """Get or create a persistent event loop for async engine work.
47
67
 
@@ -32,6 +32,7 @@ import asyncio
32
32
  import atexit
33
33
  import json
34
34
  import logging
35
+ import os
35
36
  import re
36
37
  import threading
37
38
  from collections.abc import Callable, Coroutine, Iterable
@@ -393,6 +394,14 @@ class MCPIOService:
393
394
  def _all_tools_keys(self) -> set[str]:
394
395
  return set(self._tools_cache) | set(self._inflight_tools) | set(self._tools_cache_epoch)
395
396
 
397
+ def _reset_after_fork(self) -> None:
398
+ # Same as async_concurrency._reset_after_fork: the loop thread did not survive
399
+ # the fork, and every session and in-flight task is bound to that dead loop.
400
+ self._loop = None
401
+ self._thread = None
402
+ self._loop_lock = threading.Lock()
403
+ self._reset_state()
404
+
396
405
  def _reset_state(self) -> None:
397
406
  self._sessions.clear()
398
407
  self._session_contexts.clear()
@@ -404,6 +413,8 @@ class MCPIOService:
404
413
 
405
414
  _MCP_IO_SERVICE = MCPIOService()
406
415
  atexit.register(_MCP_IO_SERVICE.shutdown)
416
+ if hasattr(os, "register_at_fork"):
417
+ os.register_at_fork(after_in_child=_MCP_IO_SERVICE._reset_after_fork)
407
418
 
408
419
 
409
420
  def list_tools(provider: MCPProviderT, timeout_sec: float | None = None) -> tuple[MCPToolDefinition, ...]:
@@ -6,8 +6,6 @@ from __future__ import annotations
6
6
  from abc import ABC, abstractmethod
7
7
  from typing import TYPE_CHECKING
8
8
 
9
- from numpy.typing import NDArray
10
-
11
9
  import data_designer.lazy_heavy_imports as lazy
12
10
  from data_designer.config.base import ConfigBase
13
11
  from data_designer.config.sampler_constraints import (
@@ -21,6 +19,7 @@ from data_designer.config.sampler_constraints import (
21
19
  if TYPE_CHECKING:
22
20
  import numpy as np
23
21
  import pandas as pd
22
+ from numpy.typing import NDArray
24
23
 
25
24
 
26
25
  class ConstraintChecker(ConfigBase, ABC):
@@ -0,0 +1,45 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ from __future__ import annotations
5
+
6
+ from tests.engine.fork_probe import requires_fork, run_fork_probe
7
+
8
+
9
+ @requires_fork
10
+ def test_forked_child_starts_fresh_loop_after_parent_used_it() -> None:
11
+ run_fork_probe(
12
+ """
13
+ from data_designer.engine.dataset_builders.utils import async_concurrency
14
+
15
+
16
+ def child(queue):
17
+ loop = async_concurrency.ensure_async_engine_loop()
18
+ queue.put(asyncio.run_coroutine_threadsafe(ping(), loop).result(timeout=5))
19
+
20
+
21
+ parent_loop = async_concurrency.ensure_async_engine_loop()
22
+ assert asyncio.run_coroutine_threadsafe(ping(), parent_loop).result(timeout=5) == "pong"
23
+ assert run_forked_child(child) == "pong"
24
+ assert async_concurrency.ensure_async_engine_loop() is parent_loop
25
+ assert asyncio.run_coroutine_threadsafe(ping(), parent_loop).result(timeout=5) == "pong"
26
+ """
27
+ )
28
+
29
+
30
+ @requires_fork
31
+ def test_forked_child_does_not_inherit_held_loop_lock() -> None:
32
+ run_fork_probe(
33
+ """
34
+ from data_designer.engine.dataset_builders.utils import async_concurrency
35
+
36
+
37
+ def child(queue):
38
+ loop = async_concurrency.ensure_async_engine_loop()
39
+ queue.put(asyncio.run_coroutine_threadsafe(ping(), loop).result(timeout=5))
40
+
41
+
42
+ with async_concurrency._lock:
43
+ assert run_forked_child(child) == "pong"
44
+ """
45
+ )
@@ -0,0 +1,62 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """Run fork-safety scenarios in a fresh interpreter.
5
+
6
+ Forking the pytest worker copies everything earlier tests left behind (DuckDB
7
+ thread pools, large allocator reservations), which makes fork() itself fail
8
+ with ENOMEM on memory-constrained CI runners. A fresh interpreter gives each
9
+ scenario a small, clean parent.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ import multiprocessing
15
+ import subprocess
16
+ import sys
17
+ import textwrap
18
+
19
+ import pytest
20
+
21
+ requires_fork = pytest.mark.skipif(
22
+ "fork" not in multiprocessing.get_all_start_methods(), reason="requires the fork start method"
23
+ )
24
+
25
+ _CHILD_JOIN_TIMEOUT_S = 20
26
+ _SCRIPT_TIMEOUT_S = 90
27
+
28
+ _PRELUDE = f"""
29
+ import asyncio
30
+ import multiprocessing
31
+ import sys
32
+
33
+
34
+ async def ping():
35
+ return "pong"
36
+
37
+
38
+ def run_forked_child(target):
39
+ ctx = multiprocessing.get_context("fork")
40
+ queue = ctx.Queue()
41
+ child = ctx.Process(target=target, args=(queue,))
42
+ child.start()
43
+ child.join(timeout={_CHILD_JOIN_TIMEOUT_S})
44
+ if child.is_alive():
45
+ child.kill()
46
+ child.join()
47
+ sys.exit("forked child hung")
48
+ if child.exitcode != 0:
49
+ sys.exit(f"forked child exited with code {{child.exitcode}}")
50
+ return queue.get(timeout=5)
51
+ """
52
+
53
+
54
+ def run_fork_probe(body: str) -> None:
55
+ """Run ``body`` after a prelude that defines ``ping()`` and ``run_forked_child(target)``.
56
+
57
+ ``target`` receives a queue and must put its result on it. The probe fails if
58
+ the script exits non-zero, which includes a forked child that hangs.
59
+ """
60
+ script = _PRELUDE + textwrap.dedent(body)
61
+ result = subprocess.run([sys.executable, "-c", script], capture_output=True, text=True, timeout=_SCRIPT_TIMEOUT_S)
62
+ assert result.returncode == 0, f"fork probe failed:\n{result.stderr}"
@@ -12,6 +12,7 @@ from data_designer.config.mcp import LocalStdioMCPProvider, MCPProvider
12
12
  from data_designer.engine.mcp import io as mcp_io
13
13
  from data_designer.engine.mcp.errors import MCPToolError
14
14
  from data_designer.engine.mcp.registry import MCPToolDefinition, MCPToolResult
15
+ from tests.engine.fork_probe import requires_fork, run_fork_probe
15
16
 
16
17
 
17
18
  @pytest.fixture(autouse=True)
@@ -1283,3 +1284,28 @@ def test_call_tools_timeout_error_without_timeout_value(
1283
1284
 
1284
1285
  with pytest.raises(MCPToolError, match="Timed out after unknown"):
1285
1286
  mcp_io.call_tools([(stub_stdio_provider, "test_tool", {})], timeout_sec=None)
1287
+
1288
+
1289
+ # =============================================================================
1290
+ # Fork safety tests
1291
+ # =============================================================================
1292
+
1293
+
1294
+ @requires_fork
1295
+ def test_forked_child_starts_fresh_mcp_loop_after_parent_used_it() -> None:
1296
+ run_fork_probe(
1297
+ """
1298
+ from data_designer.engine.mcp import io as mcp_io
1299
+
1300
+ service = mcp_io._MCP_IO_SERVICE
1301
+
1302
+
1303
+ def child(queue):
1304
+ queue.put(service._run_on_loop(ping(), timeout_sec=5))
1305
+
1306
+
1307
+ assert service._run_on_loop(ping(), timeout_sec=5) == "pong"
1308
+ assert run_forked_child(child) == "pong"
1309
+ assert service._run_on_loop(ping(), timeout_sec=5) == "pong"
1310
+ """
1311
+ )