data-designer-engine 0.5.9__tar.gz → 0.6.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 (314) hide show
  1. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/.gitignore +11 -0
  2. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/PKG-INFO +4 -2
  3. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/pyproject.toml +2 -0
  4. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/base.py +45 -3
  5. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/custom.py +54 -5
  6. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/async_scheduler.py +334 -78
  7. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/dataset_builder.py +651 -48
  8. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/async_concurrency.py +15 -5
  9. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/completion_tracker.py +70 -15
  10. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/dataset_batch_manager.py +23 -5
  11. data_designer_engine-0.6.0/src/data_designer/engine/dataset_builders/utils/fair_task_queue.py +156 -0
  12. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/row_group_buffer.py +12 -4
  13. data_designer_engine-0.6.0/src/data_designer/engine/dataset_builders/utils/scheduling_hints.py +123 -0
  14. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/model_provider.py +33 -0
  15. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/throttle_manager.py +51 -19
  16. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/errors.py +11 -0
  17. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/facade.py +24 -8
  18. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/atif.py +4 -2
  19. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/claude_code.py +4 -2
  20. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/codex.py +4 -3
  21. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/utils.py +37 -0
  22. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/resource_provider.py +12 -5
  23. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/seed_reader.py +10 -0
  24. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/storage/artifact_storage.py +45 -2
  25. data_designer_engine-0.6.0/src/data_designer/engine/testing/utils.py +35 -0
  26. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_custom.py +231 -92
  27. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/test_async_builder_integration.py +16 -3
  28. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/test_async_scheduler.py +808 -4
  29. data_designer_engine-0.6.0/tests/engine/dataset_builders/test_dataset_builder.py +2613 -0
  30. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_async_concurrency.py +0 -4
  31. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_completion_tracker.py +21 -4
  32. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_dataset_batch_manager.py +37 -0
  33. data_designer_engine-0.6.0/tests/engine/dataset_builders/utils/test_fair_task_queue.py +219 -0
  34. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_row_group_buffer.py +32 -0
  35. data_designer_engine-0.6.0/tests/engine/dataset_builders/utils/test_scheduling_hints.py +150 -0
  36. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_throttle_manager.py +105 -0
  37. data_designer_engine-0.6.0/tests/engine/registry/__init__.py +2 -0
  38. data_designer_engine-0.6.0/tests/engine/resources/__init__.py +2 -0
  39. data_designer_engine-0.6.0/tests/engine/resources/agent_rollout/__init__.py +2 -0
  40. data_designer_engine-0.6.0/tests/engine/resources/agent_rollout/test_utils.py +39 -0
  41. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/storage/test_artifact_storage.py +91 -1
  42. data_designer_engine-0.6.0/tests/engine/test_model_provider.py +228 -0
  43. data_designer_engine-0.6.0/tests/engine/testing/test_plugin_testing_utils.py +132 -0
  44. data_designer_engine-0.5.9/src/data_designer/engine/testing/utils.py +0 -20
  45. data_designer_engine-0.5.9/tests/engine/dataset_builders/test_dataset_builder.py +0 -1398
  46. data_designer_engine-0.5.9/tests/engine/test_model_provider.py +0 -135
  47. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/README.md +0 -0
  48. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/__init__.py +0 -0
  49. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/column_profilers/base.py +0 -0
  50. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/column_profilers/judge_score_profiler.py +0 -0
  51. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/column_profilers/registry.py +0 -0
  52. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/column_statistics.py +0 -0
  53. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/dataset_profiler.py +0 -0
  54. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/errors.py +0 -0
  55. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/utils/column_statistics_calculations.py +0 -0
  56. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/analysis/utils/judge_score_processing.py +0 -0
  57. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/__init__.py +0 -0
  58. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/__init__.py +0 -0
  59. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/embedding.py +0 -0
  60. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/expression.py +0 -0
  61. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/image.py +0 -0
  62. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/llm_completion.py +0 -0
  63. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/samplers.py +0 -0
  64. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/seed_dataset.py +0 -0
  65. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/generators/validation.py +0 -0
  66. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/registry.py +0 -0
  67. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/utils/errors.py +0 -0
  68. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/utils/generator_classification.py +0 -0
  69. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/utils/judge_score_factory.py +0 -0
  70. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/column_generators/utils/prompt_renderer.py +0 -0
  71. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/compiler.py +0 -0
  72. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/configurable_task.py +0 -0
  73. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/context.py +0 -0
  74. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/errors.py +0 -0
  75. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/multi_column_configs.py +0 -0
  76. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/__init__.py +0 -0
  77. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/async_progress_reporter.py +0 -0
  78. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/concurrency.py +0 -0
  79. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/config_compiler.py +0 -0
  80. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/errors.py +0 -0
  81. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/execution_graph.py +0 -0
  82. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/processor_runner.py +0 -0
  83. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/progress_tracker.py +0 -0
  84. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/skip_evaluator.py +0 -0
  85. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/skip_tracker.py +0 -0
  86. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/sticky_progress_bar.py +0 -0
  87. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/dataset_builders/utils/task_model.py +0 -0
  88. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/errors.py +0 -0
  89. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/__init__.py +0 -0
  90. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/errors.py +0 -0
  91. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/facade.py +0 -0
  92. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/factory.py +0 -0
  93. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/io.py +0 -0
  94. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/mcp/registry.py +0 -0
  95. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/__init__.py +0 -0
  96. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/__init__.py +0 -0
  97. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/__init__.py +0 -0
  98. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/anthropic.py +0 -0
  99. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/anthropic_translation.py +0 -0
  100. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/http_helpers.py +0 -0
  101. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/http_model_client.py +0 -0
  102. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/adapters/openai_compatible.py +0 -0
  103. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/base.py +0 -0
  104. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/errors.py +0 -0
  105. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/factory.py +0 -0
  106. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/parsing.py +0 -0
  107. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/retry.py +0 -0
  108. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/throttled.py +0 -0
  109. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/clients/types.py +0 -0
  110. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/factory.py +0 -0
  111. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/__init__.py +0 -0
  112. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/errors.py +0 -0
  113. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/parser.py +0 -0
  114. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/postprocessors.py +0 -0
  115. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/tag_parsers.py +0 -0
  116. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/parsers/types.py +0 -0
  117. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/recipes/base.py +0 -0
  118. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/recipes/response_recipes.py +0 -0
  119. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/registry.py +0 -0
  120. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/telemetry.py +0 -0
  121. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/usage.py +0 -0
  122. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/models/utils.py +0 -0
  123. {data_designer_engine-0.5.9/src/data_designer/engine/processing/ginja → data_designer_engine-0.6.0/src/data_designer/engine/processing}/__init__.py +0 -0
  124. {data_designer_engine-0.5.9/src/data_designer/engine/processing/gsonschema → data_designer_engine-0.6.0/src/data_designer/engine/processing/ginja}/__init__.py +0 -0
  125. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/ginja/ast.py +0 -0
  126. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/ginja/environment.py +0 -0
  127. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/ginja/exceptions.py +0 -0
  128. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/ginja/record.py +0 -0
  129. {data_designer_engine-0.5.9/src/data_designer/engine/sampling_gen/entities → data_designer_engine-0.6.0/src/data_designer/engine/processing/gsonschema}/__init__.py +0 -0
  130. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/gsonschema/exceptions.py +0 -0
  131. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/gsonschema/schema_transformers.py +0 -0
  132. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/gsonschema/types.py +0 -0
  133. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/gsonschema/validators.py +0 -0
  134. {data_designer_engine-0.5.9/tests → data_designer_engine-0.6.0/src/data_designer/engine/processing/processors}/__init__.py +0 -0
  135. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/processors/base.py +0 -0
  136. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/processors/drop_columns.py +0 -0
  137. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/processors/registry.py +0 -0
  138. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/processors/schema_transform.py +0 -0
  139. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/processing/utils.py +0 -0
  140. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/registry/base.py +0 -0
  141. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/registry/data_designer_registry.py +0 -0
  142. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/registry/errors.py +0 -0
  143. {data_designer_engine-0.5.9/tests/engine → data_designer_engine-0.6.0/src/data_designer/engine/resources}/__init__.py +0 -0
  144. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/__init__.py +0 -0
  145. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/base.py +0 -0
  146. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/hermes_agent.py +0 -0
  147. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/pi_coding_agent.py +0 -0
  148. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/registry.py +0 -0
  149. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/agent_rollout/types.py +0 -0
  150. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/managed_dataset_generator.py +0 -0
  151. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/resources/person_reader.py +0 -0
  152. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/column.py +0 -0
  153. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/constraints.py +0 -0
  154. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/data_sources/base.py +0 -0
  155. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/data_sources/errors.py +0 -0
  156. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/data_sources/sources.py +0 -0
  157. {data_designer_engine-0.5.9/tests/engine/column_generators/generators → data_designer_engine-0.6.0/src/data_designer/engine/sampling_gen/entities}/__init__.py +0 -0
  158. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet +0 -0
  159. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/dataset_based_person_fields.py +0 -0
  160. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/email_address_utils.py +0 -0
  161. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/errors.py +0 -0
  162. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/national_id_utils.py +0 -0
  163. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/person.py +0 -0
  164. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/entities/phone_number.py +0 -0
  165. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/errors.py +0 -0
  166. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/generator.py +0 -0
  167. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/jinja_utils.py +0 -0
  168. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/people_gen.py +0 -0
  169. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/person_constants.py +0 -0
  170. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/schema.py +0 -0
  171. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/schema_builder.py +0 -0
  172. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/sampling_gen/utils.py +0 -0
  173. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/secret_resolver.py +0 -0
  174. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/storage/__init__.py +0 -0
  175. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/storage/media_storage.py +0 -0
  176. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/testing/__init__.py +0 -0
  177. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/testing/fixtures.py +0 -0
  178. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/testing/seed_readers.py +0 -0
  179. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/testing/stubs.py +0 -0
  180. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validation.py +0 -0
  181. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/__init__.py +0 -0
  182. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/base.py +0 -0
  183. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/local_callable.py +0 -0
  184. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/python.py +0 -0
  185. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/remote.py +0 -0
  186. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/src/data_designer/engine/validators/sql.py +0 -0
  187. {data_designer_engine-0.5.9/tests/engine/models → data_designer_engine-0.6.0/tests}/__init__.py +0 -0
  188. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/conftest.py +0 -0
  189. {data_designer_engine-0.5.9/tests/engine/models/clients → data_designer_engine-0.6.0/tests/engine}/__init__.py +0 -0
  190. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/column_profilers/test_base.py +0 -0
  191. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/column_profilers/test_judge_score_profiler.py +0 -0
  192. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/conftest.py +0 -0
  193. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_column_statistics_calculator.py +0 -0
  194. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_data/artifacts/dataset/column_configs.json +0 -0
  195. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_data/artifacts/dataset/dataset.json +0 -0
  196. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_data/artifacts/dataset/metadata.json +0 -0
  197. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_dataset_profiler.py +0 -0
  198. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/test_errors.py +0 -0
  199. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/utils/test_column_statistics_calculations.py +0 -0
  200. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/analysis/utils/test_judge_score_processing.py +0 -0
  201. {data_designer_engine-0.5.9/tests/engine/processing → data_designer_engine-0.6.0/tests/engine/column_generators/generators}/__init__.py +0 -0
  202. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_async_generators.py +0 -0
  203. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_column_generator_base.py +0 -0
  204. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_embedding.py +0 -0
  205. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_expression.py +0 -0
  206. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_image.py +0 -0
  207. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_llm_completion_generators.py +0 -0
  208. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_samplers.py +0 -0
  209. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_seed_dataset.py +0 -0
  210. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/generators/test_validation.py +0 -0
  211. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/test_registry.py +0 -0
  212. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/utils/test_column_generator_errors.py +0 -0
  213. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/utils/test_generator_classification.py +0 -0
  214. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/utils/test_judge_score_factory.py +0 -0
  215. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/column_generators/utils/test_prompt_renderer.py +0 -0
  216. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/conftest.py +0 -0
  217. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/test_multi_column_configs.py +0 -0
  218. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_concurrency.py +0 -0
  219. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_config_compiler.py +0 -0
  220. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_execution_graph.py +0 -0
  221. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_progress_tracker.py +0 -0
  222. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_skip_evaluator.py +0 -0
  223. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_skip_tracker.py +0 -0
  224. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_sticky_progress_bar.py +0 -0
  225. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_task_model.py +0 -0
  226. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/dataset_builders/utils/test_topological_sort.py +0 -0
  227. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/mcp/conftest.py +0 -0
  228. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/mcp/test_mcp_facade.py +0 -0
  229. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/mcp/test_mcp_factory.py +0 -0
  230. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/mcp/test_mcp_io.py +0 -0
  231. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/mcp/test_mcp_registry.py +0 -0
  232. {data_designer_engine-0.5.9/tests/engine/processing/ginja → data_designer_engine-0.6.0/tests/engine/models}/__init__.py +0 -0
  233. {data_designer_engine-0.5.9/tests/engine/processing/gsonschema → data_designer_engine-0.6.0/tests/engine/models/clients}/__init__.py +0 -0
  234. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/conftest.py +0 -0
  235. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_anthropic.py +0 -0
  236. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_anthropic_translation.py +0 -0
  237. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_client_errors.py +0 -0
  238. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_factory.py +0 -0
  239. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_native_http_clients.py +0 -0
  240. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_openai_compatible.py +0 -0
  241. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_parsing.py +0 -0
  242. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_retry.py +0 -0
  243. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/clients/test_throttled_model_client.py +0 -0
  244. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/conftest.py +0 -0
  245. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/parsers/test_parser.py +0 -0
  246. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/parsers/test_parsers_types.py +0 -0
  247. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/parsers/test_postprocessors.py +0 -0
  248. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/parsers/test_tag_parsers.py +0 -0
  249. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/recipes/test_recipe_base.py +0 -0
  250. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/recipes/test_response_recipes.py +0 -0
  251. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/stub_secrets.json +0 -0
  252. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_async_engine_switch.py +0 -0
  253. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_facade.py +0 -0
  254. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_model_errors.py +0 -0
  255. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_model_registry.py +0 -0
  256. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_model_utils.py +0 -0
  257. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/models/test_usage.py +0 -0
  258. {data_designer_engine-0.5.9/tests/engine/processing/processors → data_designer_engine-0.6.0/tests/engine/processing}/__init__.py +0 -0
  259. {data_designer_engine-0.5.9/tests/engine/registry → data_designer_engine-0.6.0/tests/engine/processing/ginja}/__init__.py +0 -0
  260. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/ginja/test_ast.py +0 -0
  261. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/ginja/test_environment.py +0 -0
  262. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/ginja/test_exceptions.py +0 -0
  263. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/ginja/test_record.py +0 -0
  264. {data_designer_engine-0.5.9/tests/engine/resources → data_designer_engine-0.6.0/tests/engine/processing/gsonschema}/__init__.py +0 -0
  265. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/gsonschema/test_exceptions.py +0 -0
  266. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/gsonschema/test_schema_transformers.py +0 -0
  267. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/gsonschema/test_types.py +0 -0
  268. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/gsonschema/test_validators.py +0 -0
  269. {data_designer_engine-0.5.9/tests/engine/resources/agent_rollout → data_designer_engine-0.6.0/tests/engine/processing/processors}/__init__.py +0 -0
  270. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/processors/test_drop_columns.py +0 -0
  271. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/processors/test_registry.py +0 -0
  272. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/processors/test_schema_transform.py +0 -0
  273. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/processing/test_utils.py +0 -0
  274. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/registry/conftest.py +0 -0
  275. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/registry/test_base.py +0 -0
  276. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/registry/test_data_designer_registry.py +0 -0
  277. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/registry/test_errors.py +0 -0
  278. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/agent_rollout/test_atif.py +0 -0
  279. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/agent_rollout/test_claude_code.py +0 -0
  280. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/agent_rollout/test_codex.py +0 -0
  281. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/agent_rollout/test_hermes_agent.py +0 -0
  282. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/agent_rollout/test_pi_coding_agent.py +0 -0
  283. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/conftest.py +0 -0
  284. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/test_managed_dataset_generator.py +0 -0
  285. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/test_person_reader.py +0 -0
  286. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/test_resource_provider.py +0 -0
  287. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/resources/test_seed_reader.py +0 -0
  288. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/conftest.py +0 -0
  289. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/data_sources/test_sampler_errors.py +0 -0
  290. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/data_sources/test_sources.py +0 -0
  291. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/entities/test_email_address_utils.py +0 -0
  292. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/entities/test_national_id_utils.py +0 -0
  293. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/entities/test_person.py +0 -0
  294. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/entities/test_phone_number.py +0 -0
  295. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_column.py +0 -0
  296. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_constraints.py +0 -0
  297. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_generator.py +0 -0
  298. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_jinja_utils.py +0 -0
  299. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_people_gen.py +0 -0
  300. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_schema.py +0 -0
  301. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/sampling_gen/test_utils.py +0 -0
  302. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/storage/__init__.py +0 -0
  303. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/storage/test_media_storage.py +0 -0
  304. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_compiler.py +0 -0
  305. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_configurable_task.py +0 -0
  306. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_dataset_metadata.py +0 -0
  307. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_engine_errors.py +0 -0
  308. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_secret_resolver.py +0 -0
  309. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/test_validation.py +0 -0
  310. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/validators/test_local_callable.py +0 -0
  311. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/validators/test_python.py +0 -0
  312. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/validators/test_remote.py +0 -0
  313. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/engine/validators/test_sql.py +0 -0
  314. {data_designer_engine-0.5.9 → data_designer_engine-0.6.0}/tests/test_plugin_manager.py +0 -0
@@ -106,3 +106,14 @@ packages/data-designer/README.md
106
106
 
107
107
  # Claude worktrees
108
108
  .claude/worktrees/
109
+
110
+ # Fern libraries output — generated by `fern docs md generate` from `libraries:` in fern/docs.yml.
111
+ # Regenerate locally (no token needed) or in CI before publishing.
112
+ fern/code-reference/
113
+
114
+ # Fern notebook output - generated by `make generate-fern-notebooks`.
115
+ fern/components/notebooks/*.json
116
+ fern/components/notebooks/*.ts
117
+
118
+ # Graphify structural analysis cache (CI-only, cached via actions/cache)
119
+ graphify-out/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-designer-engine
3
- Version: 0.5.9
3
+ Version: 0.6.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
@@ -15,7 +15,8 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
15
  Requires-Python: >=3.10
16
16
  Requires-Dist: anyascii<1,>=0.3.3
17
17
  Requires-Dist: chardet<6,>=3.0.2
18
- Requires-Dist: data-designer-config==0.5.9
18
+ Requires-Dist: cryptography<47,>=46.0.7
19
+ Requires-Dist: data-designer-config==0.6.0
19
20
  Requires-Dist: duckdb<2,>=1.5.0
20
21
  Requires-Dist: faker<21,>=20.1.0
21
22
  Requires-Dist: fsspec<2026,>=2025.3.0
@@ -29,6 +30,7 @@ Requires-Dist: lxml<7,>=6.1.0
29
30
  Requires-Dist: marko<3,>=2.1.2
30
31
  Requires-Dist: mcp<2,>=1.26.0
31
32
  Requires-Dist: networkx<4,>=3.0
33
+ Requires-Dist: python-multipart<1,>=0.0.27
32
34
  Requires-Dist: ruff<1,>=0.14.10
33
35
  Requires-Dist: scipy<2,>=1.11.0
34
36
  Requires-Dist: sqlfluff<4,>=3.2.0
@@ -34,6 +34,7 @@ bump = true
34
34
  dependencies = [
35
35
  "anyascii>=0.3.3,<1",
36
36
  "chardet>=3.0.2,<6", # Pulled in by sqlfluff
37
+ "cryptography>=46.0.7,<47", # 46.0.7 fixes CVE-2026-39892 pulled in by mcp
37
38
  "data-designer-config=={{ version }}",
38
39
  "duckdb>=1.5.0,<2",
39
40
  "faker>=20.1.0,<21",
@@ -48,6 +49,7 @@ dependencies = [
48
49
  "marko>=2.1.2,<3",
49
50
  "mcp>=1.26.0,<2",
50
51
  "networkx>=3.0,<4",
52
+ "python-multipart>=0.0.27,<1", # 0.0.27 fixes security advisory pulled in by mcp
51
53
  "ruff>=0.14.10,<1",
52
54
  "scipy>=1.11.0,<2",
53
55
  "sqlfluff>=3.2.0,<4",
@@ -16,6 +16,14 @@ from data_designer.logging import LOG_DOUBLE_INDENT, LOG_INDENT
16
16
 
17
17
  _T = TypeVar("_T")
18
18
 
19
+ # Preserved deliberately. Two other 300s deadlines were retired in the
20
+ # async-default flip (PR #592): the throttle queue-wait and the
21
+ # ``_AsyncBridgedModelFacade`` bridge in ``custom.py`` — both have
22
+ # ``ModelFacade`` context and could derive a per-call deadline from
23
+ # ``inference_parameters.timeout``. This generic ``ColumnGenerator.generate()``
24
+ # fallback has no facade reachable, so a defensive backstop stays here for
25
+ # now. Wiring a per-call timeout through to ``_run_coroutine_sync`` is
26
+ # tracked as a structural follow-up.
19
27
  SYNC_BRIDGE_TIMEOUT = 300
20
28
 
21
29
  if TYPE_CHECKING:
@@ -59,7 +67,7 @@ class ColumnGenerator(ConfigurableTask[TaskConfigT], ABC):
59
67
 
60
68
  @property
61
69
  def is_llm_bound(self) -> bool:
62
- """Whether this generator makes LLM/HTTP calls during generation."""
70
+ """Whether this generator makes model/API calls during generation."""
63
71
  return False
64
72
 
65
73
  @property
@@ -209,18 +217,52 @@ class ColumnGeneratorWithModel(ColumnGeneratorWithModelRegistry[TaskConfigT], AB
209
217
 
210
218
 
211
219
  class ColumnGeneratorCellByCell(ColumnGenerator[TaskConfigT], ABC):
220
+ """Base class for column generators invoked once per row.
221
+
222
+ Override ``generate`` to return the complete row mapping after adding the
223
+ generated value. The engine calls the generator once per row and may run
224
+ calls concurrently. Use this base when generation is independent per row
225
+ (e.g. an LLM call per row, a per-row transform).
226
+ """
227
+
212
228
  @staticmethod
213
229
  def get_generation_strategy() -> GenerationStrategy:
214
230
  return GenerationStrategy.CELL_BY_CELL
215
231
 
216
232
  @abstractmethod
217
- def generate(self, data: dict) -> dict: ...
233
+ def generate(self, data: dict) -> dict:
234
+ """Generate one row's output from a single row's upstream values.
235
+
236
+ Args:
237
+ data: Current row mapping containing the upstream values available to this column.
238
+
239
+ Returns:
240
+ Complete row mapping with existing keys preserved and the new column value added.
241
+ Include declared side-effect columns when the config creates them.
242
+ """
218
243
 
219
244
 
220
245
  class ColumnGeneratorFullColumn(ColumnGenerator[TaskConfigT], ABC):
246
+ """Base class for column generators that transform a full batch at once.
247
+
248
+ Override ``generate`` to return the complete batch DataFrame after adding
249
+ generated values. Use this base when generation is vectorizable or when an
250
+ external API accepts batched input more efficiently than per-row calls.
251
+ """
252
+
221
253
  @staticmethod
222
254
  def get_generation_strategy() -> GenerationStrategy:
223
255
  return GenerationStrategy.FULL_COLUMN
224
256
 
225
257
  @abstractmethod
226
- def generate(self, data: pd.DataFrame) -> pd.DataFrame: ...
258
+ def generate(self, data: pd.DataFrame) -> pd.DataFrame:
259
+ """Generate an entire batch of row outputs.
260
+
261
+ Args:
262
+ data: DataFrame containing the upstream columns this generator depends on.
263
+
264
+ Returns:
265
+ DataFrame containing the input columns plus the new column and any side-effect
266
+ columns. When ``config.allow_resize`` is ``False``, the row count must match
267
+ the input; when it is ``True``, the row count may change.
268
+ """
@@ -13,8 +13,9 @@ from typing import TYPE_CHECKING, Any
13
13
 
14
14
  import data_designer.lazy_heavy_imports as lazy
15
15
  from data_designer.config.column_configs import CustomColumnConfig, GenerationStrategy
16
- from data_designer.engine.column_generators.generators.base import SYNC_BRIDGE_TIMEOUT, ColumnGenerator
16
+ from data_designer.engine.column_generators.generators.base import ColumnGenerator
17
17
  from data_designer.engine.column_generators.utils.errors import CustomColumnGenerationError
18
+ from data_designer.engine.models.errors import RETRYABLE_MODEL_ERRORS, ModelTimeoutError
18
19
  from data_designer.logging import LOG_INDENT
19
20
 
20
21
  if TYPE_CHECKING:
@@ -22,6 +23,30 @@ if TYPE_CHECKING:
22
23
 
23
24
  logger = logging.getLogger(__name__)
24
25
 
26
+ # Floor for the derived sync→async bridge timeout. Defends against pathologically
27
+ # small `inference_parameters.timeout` values; under normal operation the per-call
28
+ # derivation in ``_compute_bridge_timeout`` exceeds this floor.
29
+ # Module-level so tests can patch it for fast feedback.
30
+ _BRIDGE_TIMEOUT_FLOOR_S: float = 60.0
31
+
32
+
33
+ def _compute_bridge_timeout(
34
+ request_timeout: float,
35
+ max_correction_steps: int,
36
+ max_conversation_restarts: int = 0,
37
+ ) -> float:
38
+ """Derive the sync→async bridge deadline for one logical generation.
39
+
40
+ One bridged call can fire up to ``(1 + max_conversation_restarts)`` full
41
+ attempts, and each attempt can fire up to ``(1 + max_correction_steps)``
42
+ requests against the model. The 1.5x buffer absorbs HTTP connect/teardown
43
+ and serialization overhead. The floor (``_BRIDGE_TIMEOUT_FLOOR_S``) keeps
44
+ the deadline sane when ``inference_parameters.timeout`` is small or the
45
+ factory default.
46
+ """
47
+ attempts = (1 + max_conversation_restarts) * (1 + max_correction_steps)
48
+ return max(_BRIDGE_TIMEOUT_FLOOR_S, attempts * request_timeout * 1.5)
49
+
25
50
 
26
51
  class _AsyncBridgedModelFacade:
27
52
  """Proxy that bridges ``model.generate()`` to ``model.agenerate()`` in async engine mode.
@@ -62,14 +87,30 @@ class _AsyncBridgedModelFacade:
62
87
 
63
88
  from data_designer.engine.dataset_builders.utils.async_concurrency import ensure_async_engine_loop
64
89
 
90
+ # Honor a per-call ``timeout=`` override (passed straight through to the
91
+ # HTTP layer); fall back to the model's configured ``inference_parameters.timeout``
92
+ # via ``facade.request_timeout`` when no override is set.
93
+ per_request_timeout_override = kwargs.get("timeout")
94
+ per_request_timeout = (
95
+ float(per_request_timeout_override) if per_request_timeout_override is not None else facade.request_timeout
96
+ )
97
+ correction_steps = int(kwargs.get("max_correction_steps", 0) or 0)
98
+ conversation_restarts = int(kwargs.get("max_conversation_restarts", 0) or 0)
99
+ bridge_timeout = _compute_bridge_timeout(per_request_timeout, correction_steps, conversation_restarts)
100
+
65
101
  loop = ensure_async_engine_loop()
66
102
  future = asyncio.run_coroutine_threadsafe(facade.agenerate(*args, **kwargs), loop)
67
103
  try:
68
- return future.result(timeout=SYNC_BRIDGE_TIMEOUT)
104
+ return future.result(timeout=bridge_timeout)
69
105
  except concurrent.futures.TimeoutError as exc:
70
106
  future.cancel()
71
- logger.warning("Async model bridge timed out after %ss; coroutine cancelled", SYNC_BRIDGE_TIMEOUT)
72
- raise TimeoutError(f"model.generate() bridge timed out after {SYNC_BRIDGE_TIMEOUT}s") from exc
107
+ # Demoted to debug: the raised ModelTimeoutError already surfaces
108
+ # the timeout at the scheduler with full context, and the throttled
109
+ # degraded-provider WARN is the user-facing signal under sustained
110
+ # bridge timeouts. Per-event WARN was noise on top of those.
111
+ logger.debug("Async model bridge timed out after %.0fs; coroutine cancelled", bridge_timeout)
112
+ # Raise as ModelTimeoutError so the scheduler classifies it retryable.
113
+ raise ModelTimeoutError(f"model.generate() bridge timed out after {bridge_timeout:.0f}s") from exc
73
114
 
74
115
  def __getattr__(self, name: str) -> Any:
75
116
  return getattr(object.__getattribute__(self, "_facade"), name)
@@ -81,7 +122,7 @@ class _AsyncBridgedModelFacade:
81
122
  class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
82
123
  """Column generator that uses a user-provided callable function.
83
124
 
84
- Supports two strategies based on config.strategy:
125
+ Supports two strategies based on config.generation_strategy:
85
126
  - cell_by_cell: Processes rows one at a time (dict -> dict), parallelized by framework.
86
127
  - full_column: Processes entire batch (DataFrame -> DataFrame) for vectorized ops.
87
128
 
@@ -147,6 +188,10 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
147
188
  result = await self._ainvoke_generator_function(data)
148
189
  except CustomColumnGenerationError:
149
190
  raise
191
+ except RETRYABLE_MODEL_ERRORS:
192
+ # Preserve retryability so the scheduler can salvage these
193
+ # instead of counting them toward the early-shutdown gate.
194
+ raise
150
195
  except Exception as e:
151
196
  logger.warning(
152
197
  f"⚠️ Custom generator function {self.config.generator_function.__name__!r} "
@@ -193,6 +238,10 @@ class CustomColumnGenerator(ColumnGenerator[CustomColumnConfig]):
193
238
  result = self._invoke_generator_function(data)
194
239
  except CustomColumnGenerationError:
195
240
  raise
241
+ except RETRYABLE_MODEL_ERRORS:
242
+ # Preserve retryability so the scheduler can salvage these
243
+ # instead of counting them toward the early-shutdown gate.
244
+ raise
196
245
  except Exception as e:
197
246
  if not is_dataframe:
198
247
  logger.warning(