data-designer 0.1.5__tar.gz → 0.2.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 (407) hide show
  1. data_designer-0.2.0/.github/workflows/check-colab-notebooks.yml +55 -0
  2. {data_designer-0.1.5 → data_designer-0.2.0}/Makefile +7 -1
  3. {data_designer-0.1.5 → data_designer-0.2.0}/PKG-INFO +1 -1
  4. data_designer-0.2.0/docs/code_reference/analysis.md +31 -0
  5. data_designer-0.2.0/docs/code_reference/processors.md +6 -0
  6. data_designer-0.2.0/docs/colab_notebooks/1-the-basics.ipynb +540 -0
  7. data_designer-0.2.0/docs/colab_notebooks/2-structured-outputs-and-jinja-expressions.ipynb +570 -0
  8. data_designer-0.2.0/docs/colab_notebooks/3-seeding-with-a-dataset.ipynb +468 -0
  9. data_designer-0.2.0/docs/colab_notebooks/4-providing-images-as-context.ipynb +531 -0
  10. {data_designer-0.1.5 → data_designer-0.2.0}/docs/concepts/columns.md +16 -0
  11. {data_designer-0.1.5 → data_designer-0.2.0}/docs/concepts/models/configure-model-settings-with-the-cli.md +4 -3
  12. data_designer-0.2.0/docs/concepts/models/custom-model-settings.md +229 -0
  13. {data_designer-0.1.5 → data_designer-0.2.0}/docs/concepts/models/default-model-settings.md +9 -3
  14. data_designer-0.2.0/docs/concepts/models/inference-parameters.md +148 -0
  15. data_designer-0.2.0/docs/concepts/models/model-configs.md +123 -0
  16. {data_designer-0.1.5 → data_designer-0.2.0}/docs/concepts/models/model-providers.md +5 -1
  17. data_designer-0.2.0/docs/concepts/person_sampling.md +185 -0
  18. data_designer-0.2.0/docs/concepts/processors.md +153 -0
  19. {data_designer-0.1.5 → data_designer-0.2.0}/docs/js/toc-toggle.js +7 -4
  20. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/1-the-basics.py +9 -7
  21. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/2-structured-outputs-and-jinja-expressions.py +9 -7
  22. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/3-seeding-with-a-dataset.py +9 -7
  23. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/4-providing-images-as-context.py +5 -11
  24. data_designer-0.2.0/docs/overrides/main.html +31 -0
  25. data_designer-0.2.0/docs/plugins/available.md +3 -0
  26. data_designer-0.2.0/docs/plugins/example.md +306 -0
  27. data_designer-0.2.0/docs/plugins/overview.md +45 -0
  28. data_designer-0.2.0/docs/scripts/generate_colab_notebooks.py +186 -0
  29. {data_designer-0.1.5 → data_designer-0.2.0}/mkdocs.yml +9 -0
  30. {data_designer-0.1.5 → data_designer-0.2.0}/pyproject.toml +11 -16
  31. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/_version.py +2 -2
  32. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/README.md +15 -1
  33. data_designer-0.2.0/src/data_designer/cli/commands/download.py +56 -0
  34. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/commands/list.py +4 -18
  35. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/controllers/__init__.py +2 -1
  36. data_designer-0.2.0/src/data_designer/cli/controllers/download_controller.py +217 -0
  37. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/controllers/model_controller.py +4 -3
  38. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/forms/field.py +65 -19
  39. data_designer-0.2.0/src/data_designer/cli/forms/model_builder.py +332 -0
  40. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/main.py +11 -1
  41. data_designer-0.2.0/src/data_designer/cli/repositories/persona_repository.py +88 -0
  42. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/services/__init__.py +2 -1
  43. data_designer-0.2.0/src/data_designer/cli/services/download_service.py +97 -0
  44. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/ui.py +131 -0
  45. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/utils.py +34 -0
  46. data_designer-0.2.0/src/data_designer/config/analysis/column_profilers.py +157 -0
  47. data_designer-0.2.0/src/data_designer/config/analysis/column_statistics.py +418 -0
  48. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/analysis/dataset_profiler.py +23 -5
  49. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/analysis/utils/reporting.py +3 -3
  50. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/base.py +3 -3
  51. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/column_configs.py +27 -6
  52. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/column_types.py +24 -17
  53. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/config_builder.py +34 -26
  54. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/data_designer_config.py +7 -7
  55. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/datastore.py +6 -6
  56. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/default_model_settings.py +27 -34
  57. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/exports.py +8 -0
  58. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/models.py +155 -29
  59. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/preview_results.py +6 -8
  60. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/processors.py +63 -2
  61. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/sampler_constraints.py +1 -2
  62. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/sampler_params.py +31 -31
  63. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/seed.py +1 -2
  64. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/code_lang.py +4 -5
  65. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/constants.py +31 -8
  66. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/io_helpers.py +5 -5
  67. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/misc.py +1 -4
  68. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/numerical_helpers.py +2 -2
  69. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/type_helpers.py +3 -3
  70. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/validation.py +7 -8
  71. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/visualization.py +32 -17
  72. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/validator_params.py +4 -8
  73. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/column_profilers/base.py +0 -7
  74. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/column_profilers/judge_score_profiler.py +2 -3
  75. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/column_statistics.py +16 -16
  76. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/dataset_profiler.py +25 -4
  77. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/utils/column_statistics_calculations.py +71 -49
  78. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/utils/judge_score_processing.py +5 -5
  79. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/generators/base.py +34 -0
  80. data_designer-0.2.0/src/data_designer/engine/column_generators/generators/embedding.py +45 -0
  81. data_designer-0.1.5/src/data_designer/engine/column_generators/generators/llm_generators.py → data_designer-0.2.0/src/data_designer/engine/column_generators/generators/llm_completion.py +17 -49
  82. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/registry.py +4 -2
  83. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/utils/judge_score_factory.py +5 -6
  84. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/configurable_task.py +2 -2
  85. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/artifact_storage.py +1 -2
  86. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/column_wise_builder.py +11 -10
  87. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/utils/concurrency.py +6 -6
  88. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/facade.py +66 -9
  89. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/litellm_overrides.py +5 -6
  90. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/parsers/errors.py +2 -4
  91. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/parsers/parser.py +2 -3
  92. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/parsers/postprocessors.py +3 -4
  93. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/parsers/types.py +4 -4
  94. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/registry.py +20 -11
  95. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/usage.py +7 -9
  96. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/ginja/ast.py +1 -2
  97. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/utils.py +40 -2
  98. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/registry/base.py +12 -12
  99. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/constraints.py +1 -2
  100. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/data_sources/base.py +14 -14
  101. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/phone_number.py +1 -2
  102. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/people_gen.py +3 -7
  103. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/base.py +2 -2
  104. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/logging.py +2 -2
  105. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/plugin_manager.py +3 -3
  106. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/plugins/plugin.py +3 -3
  107. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/plugins/registry.py +2 -2
  108. data_designer-0.2.0/tests/cli/commands/test_download_command.py +71 -0
  109. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/conftest.py +5 -5
  110. data_designer-0.2.0/tests/cli/controllers/test_download_controller.py +398 -0
  111. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/controllers/test_model_controller.py +2 -2
  112. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/forms/test_field.py +142 -12
  113. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/forms/test_model_builder.py +211 -45
  114. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/repositories/test_model_repository.py +3 -1
  115. data_designer-0.2.0/tests/cli/repositories/test_persona_repository.py +171 -0
  116. data_designer-0.2.0/tests/cli/services/test_download_service.py +270 -0
  117. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/services/test_model_service.py +7 -3
  118. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/test_cli_utils.py +73 -0
  119. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/analysis/conftest.py +6 -6
  120. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/analysis/test_column_statistics.py +12 -12
  121. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_columns.py +37 -9
  122. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_config_builder.py +7 -7
  123. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_default_model_settings.py +36 -11
  124. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_models.py +165 -31
  125. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_type_helpers.py +8 -8
  126. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_visualization.py +16 -1
  127. {data_designer-0.1.5 → data_designer-0.2.0}/tests/conftest.py +2 -2
  128. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/column_profilers/test_base.py +0 -11
  129. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/column_profilers/test_judge_score_profiler.py +19 -19
  130. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/conftest.py +5 -5
  131. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_column_statistics_calculator.py +4 -4
  132. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/utils/test_column_statistics_calculations.py +92 -48
  133. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/utils/test_judge_score_processing.py +35 -35
  134. data_designer-0.2.0/tests/engine/column_generators/generators/test_embedding.py +49 -0
  135. data_designer-0.1.5/tests/engine/column_generators/generators/test_llm_generators.py → data_designer-0.2.0/tests/engine/column_generators/generators/test_llm_completion_generators.py +2 -19
  136. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/test_registry.py +1 -1
  137. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/utils/test_judge_score_factory.py +22 -0
  138. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/conftest.py +15 -3
  139. data_designer-0.2.0/tests/engine/models/test_facade.py +224 -0
  140. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/test_model_registry.py +44 -34
  141. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/test_usage.py +12 -12
  142. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/test_utils.py +17 -0
  143. data_designer-0.2.0/tests/engine/resources/__init__.py +2 -0
  144. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/test_configurable_task.py +3 -4
  145. {data_designer-0.1.5 → data_designer-0.2.0}/tests/essentials/test_init.py +12 -0
  146. {data_designer-0.1.5 → data_designer-0.2.0}/tests/plugins/test_plugin_registry.py +1 -2
  147. {data_designer-0.1.5 → data_designer-0.2.0}/uv.lock +100 -0
  148. data_designer-0.1.5/docs/concepts/models/model-configs.md +0 -244
  149. data_designer-0.1.5/docs/concepts/person_sampling.md +0 -36
  150. data_designer-0.1.5/docs/concepts/plugins.md +0 -0
  151. data_designer-0.1.5/docs/overrides/main.html +0 -18
  152. data_designer-0.1.5/src/data_designer/cli/forms/model_builder.py +0 -125
  153. data_designer-0.1.5/src/data_designer/config/analysis/column_profilers.py +0 -89
  154. data_designer-0.1.5/src/data_designer/config/analysis/column_statistics.py +0 -274
  155. data_designer-0.1.5/tests/engine/models/test_facade.py +0 -174
  156. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/build-docs.yml +0 -0
  157. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/build-notebooks.yml +0 -0
  158. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/ci.yml +0 -0
  159. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/dco-assistant.yml +0 -0
  160. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/pack-tutorials.yml +0 -0
  161. {data_designer-0.1.5 → data_designer-0.2.0}/.github/workflows/semantic-pull-requests.yml +0 -0
  162. {data_designer-0.1.5 → data_designer-0.2.0}/.gitignore +0 -0
  163. {data_designer-0.1.5 → data_designer-0.2.0}/.pre-commit-config.yaml +0 -0
  164. {data_designer-0.1.5 → data_designer-0.2.0}/AGENTS.md +0 -0
  165. {data_designer-0.1.5 → data_designer-0.2.0}/CLAUDE.md +0 -0
  166. {data_designer-0.1.5 → data_designer-0.2.0}/CODE_OF_CONDUCT.md +0 -0
  167. {data_designer-0.1.5 → data_designer-0.2.0}/CONTRIBUTING.md +0 -0
  168. {data_designer-0.1.5 → data_designer-0.2.0}/DCO +0 -0
  169. {data_designer-0.1.5 → data_designer-0.2.0}/LICENSE +0 -0
  170. {data_designer-0.1.5 → data_designer-0.2.0}/README.md +0 -0
  171. {data_designer-0.1.5 → data_designer-0.2.0}/VERSIONING.md +0 -0
  172. {data_designer-0.1.5 → data_designer-0.2.0}/docs/CONTRIBUTING.md +0 -0
  173. {data_designer-0.1.5 → data_designer-0.2.0}/docs/assets/palette-favicon.png +0 -0
  174. {data_designer-0.1.5 → data_designer-0.2.0}/docs/assets/recipes/code_generation/text_to_python.py +0 -0
  175. {data_designer-0.1.5 → data_designer-0.2.0}/docs/assets/recipes/code_generation/text_to_sql.py +0 -0
  176. {data_designer-0.1.5 → data_designer-0.2.0}/docs/assets/recipes/qa_and_chat/multi_turn_chat.py +0 -0
  177. {data_designer-0.1.5 → data_designer-0.2.0}/docs/assets/recipes/qa_and_chat/product_info_qa.py +0 -0
  178. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/column_configs.md +0 -0
  179. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/config_builder.md +0 -0
  180. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/data_designer_config.md +0 -0
  181. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/models.md +0 -0
  182. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/sampler_params.md +0 -0
  183. {data_designer-0.1.5 → data_designer-0.2.0}/docs/code_reference/validator_params.md +0 -0
  184. {data_designer-0.1.5 → data_designer-0.2.0}/docs/concepts/validators.md +0 -0
  185. {data_designer-0.1.5 → data_designer-0.2.0}/docs/css/mkdocstrings.css +0 -0
  186. {data_designer-0.1.5 → data_designer-0.2.0}/docs/css/style.css +0 -0
  187. {data_designer-0.1.5 → data_designer-0.2.0}/docs/index.md +0 -0
  188. {data_designer-0.1.5 → data_designer-0.2.0}/docs/installation.md +0 -0
  189. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/README.md +0 -0
  190. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/_README.md +0 -0
  191. {data_designer-0.1.5 → data_designer-0.2.0}/docs/notebook_source/_pyproject.toml +0 -0
  192. {data_designer-0.1.5 → data_designer-0.2.0}/docs/quick-start.md +0 -0
  193. {data_designer-0.1.5 → data_designer-0.2.0}/docs/recipes/cards.md +0 -0
  194. {data_designer-0.1.5 → data_designer-0.2.0}/docs/recipes/code_generation/text_to_python.md +0 -0
  195. {data_designer-0.1.5 → data_designer-0.2.0}/docs/recipes/code_generation/text_to_sql.md +0 -0
  196. {data_designer-0.1.5 → data_designer-0.2.0}/docs/recipes/qa_and_chat/multi_turn_chat.md +0 -0
  197. {data_designer-0.1.5 → data_designer-0.2.0}/docs/recipes/qa_and_chat/product_info_qa.md +0 -0
  198. {data_designer-0.1.5 → data_designer-0.2.0}/scripts/update_license_headers.py +0 -0
  199. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/__init__.py +0 -0
  200. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/__init__.py +0 -0
  201. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/commands/__init__.py +0 -0
  202. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/commands/models.py +0 -0
  203. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/commands/providers.py +0 -0
  204. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/commands/reset.py +0 -0
  205. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/controllers/provider_controller.py +0 -0
  206. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/forms/__init__.py +0 -0
  207. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/forms/builder.py +0 -0
  208. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/forms/form.py +0 -0
  209. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/forms/provider_builder.py +0 -0
  210. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/repositories/__init__.py +0 -0
  211. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/repositories/base.py +0 -0
  212. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/repositories/model_repository.py +0 -0
  213. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/repositories/provider_repository.py +0 -0
  214. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/services/model_service.py +0 -0
  215. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/cli/services/provider_service.py +0 -0
  216. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/__init__.py +0 -0
  217. {data_designer-0.1.5/src/data_designer/engine → data_designer-0.2.0/src/data_designer/config/analysis}/__init__.py +0 -0
  218. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/analysis/utils/errors.py +0 -0
  219. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/dataset_builders.py +0 -0
  220. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/errors.py +0 -0
  221. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/interface.py +0 -0
  222. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/errors.py +0 -0
  223. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/config/utils/info.py +0 -0
  224. {data_designer-0.1.5/src/data_designer/engine/column_generators → data_designer-0.2.0/src/data_designer/engine}/__init__.py +0 -0
  225. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/column_profilers/registry.py +0 -0
  226. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/analysis/errors.py +0 -0
  227. {data_designer-0.1.5/src/data_designer/engine/column_generators/generators → data_designer-0.2.0/src/data_designer/engine/column_generators}/__init__.py +0 -0
  228. {data_designer-0.1.5/src/data_designer/engine/dataset_builders/utils → data_designer-0.2.0/src/data_designer/engine/column_generators/generators}/__init__.py +0 -0
  229. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/generators/expression.py +0 -0
  230. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/generators/samplers.py +0 -0
  231. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/generators/seed_dataset.py +0 -0
  232. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/generators/validation.py +0 -0
  233. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/utils/errors.py +0 -0
  234. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/column_generators/utils/prompt_renderer.py +0 -0
  235. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/errors.py +0 -0
  236. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/multi_column_configs.py +0 -0
  237. {data_designer-0.1.5/src/data_designer/engine/models → data_designer-0.2.0/src/data_designer/engine/dataset_builders/utils}/__init__.py +0 -0
  238. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/utils/config_compiler.py +0 -0
  239. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/utils/dag.py +0 -0
  240. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/utils/dataset_batch_manager.py +0 -0
  241. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/dataset_builders/utils/errors.py +0 -0
  242. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/errors.py +0 -0
  243. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/model_provider.py +0 -0
  244. {data_designer-0.1.5/src/data_designer/engine/models/parsers → data_designer-0.2.0/src/data_designer/engine/models}/__init__.py +0 -0
  245. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/errors.py +0 -0
  246. {data_designer-0.1.5/src/data_designer/engine/processing/ginja → data_designer-0.2.0/src/data_designer/engine/models/parsers}/__init__.py +0 -0
  247. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/parsers/tag_parsers.py +0 -0
  248. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/recipes/base.py +0 -0
  249. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/recipes/response_recipes.py +0 -0
  250. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/models/utils.py +0 -0
  251. {data_designer-0.1.5/src/data_designer/engine/processing/gsonschema → data_designer-0.2.0/src/data_designer/engine/processing/ginja}/__init__.py +0 -0
  252. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/ginja/environment.py +0 -0
  253. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/ginja/exceptions.py +0 -0
  254. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/ginja/record.py +0 -0
  255. {data_designer-0.1.5/src/data_designer/engine/sampling_gen/entities → data_designer-0.2.0/src/data_designer/engine/processing/gsonschema}/__init__.py +0 -0
  256. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/gsonschema/exceptions.py +0 -0
  257. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/gsonschema/schema_transformers.py +0 -0
  258. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/gsonschema/types.py +0 -0
  259. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/gsonschema/validators.py +0 -0
  260. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/processors/base.py +0 -0
  261. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/processors/drop_columns.py +0 -0
  262. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/processors/registry.py +0 -0
  263. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/processing/processors/schema_transform.py +0 -0
  264. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/registry/data_designer_registry.py +0 -0
  265. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/registry/errors.py +0 -0
  266. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/resources/managed_dataset_generator.py +0 -0
  267. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/resources/managed_dataset_repository.py +0 -0
  268. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/resources/managed_storage.py +0 -0
  269. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/resources/resource_provider.py +0 -0
  270. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/resources/seed_dataset_data_store.py +0 -0
  271. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/column.py +0 -0
  272. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/data_sources/errors.py +0 -0
  273. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/data_sources/sources.py +0 -0
  274. {data_designer-0.1.5/src/data_designer/interface → data_designer-0.2.0/src/data_designer/engine/sampling_gen/entities}/__init__.py +0 -0
  275. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/assets/zip_area_code_map.parquet +0 -0
  276. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/dataset_based_person_fields.py +0 -0
  277. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/email_address_utils.py +0 -0
  278. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/errors.py +0 -0
  279. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/national_id_utils.py +0 -0
  280. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/entities/person.py +0 -0
  281. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/errors.py +0 -0
  282. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/generator.py +0 -0
  283. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/jinja_utils.py +0 -0
  284. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/person_constants.py +0 -0
  285. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/schema.py +0 -0
  286. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/schema_builder.py +0 -0
  287. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/sampling_gen/utils.py +0 -0
  288. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/secret_resolver.py +0 -0
  289. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/__init__.py +0 -0
  290. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/local_callable.py +0 -0
  291. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/python.py +0 -0
  292. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/remote.py +0 -0
  293. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/engine/validators/sql.py +0 -0
  294. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/errors.py +0 -0
  295. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/essentials/__init__.py +0 -0
  296. {data_designer-0.1.5/tests/config/utils → data_designer-0.2.0/src/data_designer/interface}/__init__.py +0 -0
  297. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/interface/data_designer.py +0 -0
  298. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/interface/errors.py +0 -0
  299. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/interface/results.py +0 -0
  300. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/plugins/__init__.py +0 -0
  301. {data_designer-0.1.5 → data_designer-0.2.0}/src/data_designer/plugins/errors.py +0 -0
  302. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/commands/test_list_command.py +0 -0
  303. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/commands/test_models_command.py +0 -0
  304. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/commands/test_providers_command.py +0 -0
  305. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/commands/test_reset_command.py +0 -0
  306. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/controllers/test_provider_controller.py +0 -0
  307. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/forms/test_form.py +0 -0
  308. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/forms/test_provider_builder.py +0 -0
  309. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/repositories/test_provider_repository.py +0 -0
  310. {data_designer-0.1.5 → data_designer-0.2.0}/tests/cli/services/test_provider_service.py +0 -0
  311. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/analysis/test_dataset_profiler_results.py +0 -0
  312. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/analysis/utils/test_reporting.py +0 -0
  313. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_data_designer_config.py +0 -0
  314. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_datastore.py +0 -0
  315. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_processors.py +0 -0
  316. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_sampler_constraints.py +0 -0
  317. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_sampler_params.py +0 -0
  318. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_seed.py +0 -0
  319. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/test_validator_params.py +0 -0
  320. {data_designer-0.1.5/tests/engine/column_generators/generators → data_designer-0.2.0/tests/config/utils}/__init__.py +0 -0
  321. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_code_lang.py +0 -0
  322. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_info.py +0 -0
  323. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_io_helpers.py +0 -0
  324. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_misc.py +0 -0
  325. {data_designer-0.1.5 → data_designer-0.2.0}/tests/config/utils/test_validation.py +0 -0
  326. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_data/artifacts/dataset/column_configs.json +0 -0
  327. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_data/artifacts/dataset/dataset.json +0 -0
  328. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_data/artifacts/dataset/metadata.json +0 -0
  329. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_dataset_profiler.py +0 -0
  330. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/analysis/test_errors.py +0 -0
  331. {data_designer-0.1.5/tests/engine/processing → data_designer-0.2.0/tests/engine/column_generators/generators}/__init__.py +0 -0
  332. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/generators/test_column_generator_base.py +0 -0
  333. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/generators/test_expression.py +0 -0
  334. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/generators/test_samplers.py +0 -0
  335. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/generators/test_seed_dataset.py +0 -0
  336. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/generators/test_validation.py +0 -0
  337. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/utils/test_column_generator_errors.py +0 -0
  338. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/column_generators/utils/test_prompt_renderer.py +0 -0
  339. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/conftest.py +0 -0
  340. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/test_artifact_storage.py +0 -0
  341. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/test_column_wise_builder.py +0 -0
  342. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/test_multi_column_configs.py +0 -0
  343. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/utils/test_concurrency.py +0 -0
  344. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/utils/test_config_compiler.py +0 -0
  345. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/utils/test_dag.py +0 -0
  346. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/dataset_builders/utils/test_dataset_batch_manager.py +0 -0
  347. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/parsers/test_parser.py +0 -0
  348. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/parsers/test_parsers_types.py +0 -0
  349. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/parsers/test_postprocessors.py +0 -0
  350. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/parsers/test_tag_parsers.py +0 -0
  351. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/recipes/test_recipe_base.py +0 -0
  352. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/recipes/test_response_recipes.py +0 -0
  353. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/stub_secrets.json +0 -0
  354. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/test_litellm_overrides.py +0 -0
  355. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/test_model_errors.py +0 -0
  356. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/models/test_model_utils.py +0 -0
  357. {data_designer-0.1.5/tests/engine/processing/ginja → data_designer-0.2.0/tests/engine/processing}/__init__.py +0 -0
  358. {data_designer-0.1.5/tests/engine/processing/gsonschema → data_designer-0.2.0/tests/engine/processing/ginja}/__init__.py +0 -0
  359. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/ginja/test_ast.py +0 -0
  360. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/ginja/test_environment.py +0 -0
  361. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/ginja/test_exceptions.py +0 -0
  362. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/ginja/test_record.py +0 -0
  363. {data_designer-0.1.5/tests/engine/processing/processors → data_designer-0.2.0/tests/engine/processing/gsonschema}/__init__.py +0 -0
  364. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/gsonschema/test_exceptions.py +0 -0
  365. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/gsonschema/test_schema_transformers.py +0 -0
  366. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/gsonschema/test_types.py +0 -0
  367. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/gsonschema/test_validators.py +0 -0
  368. {data_designer-0.1.5/tests/engine/registry → data_designer-0.2.0/tests/engine/processing/processors}/__init__.py +0 -0
  369. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/processors/test_drop_columns.py +0 -0
  370. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/processors/test_registry.py +0 -0
  371. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/processing/processors/test_schema_transform.py +0 -0
  372. {data_designer-0.1.5/tests/engine/resources → data_designer-0.2.0/tests/engine/registry}/__init__.py +0 -0
  373. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/registry/conftest.py +0 -0
  374. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/registry/test_base.py +0 -0
  375. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/registry/test_data_designer_registry.py +0 -0
  376. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/registry/test_errors.py +0 -0
  377. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/resources/conftest.py +0 -0
  378. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/resources/test_managed_dataset_generator.py +0 -0
  379. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/resources/test_managed_dataset_repository.py +0 -0
  380. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/resources/test_managed_storage.py +0 -0
  381. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/resources/test_resource_provider.py +0 -0
  382. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/conftest.py +0 -0
  383. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/data_sources/test_sampler_errors.py +0 -0
  384. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/data_sources/test_sources.py +0 -0
  385. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/entities/test_email_address_utils.py +0 -0
  386. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/entities/test_national_id_utils.py +0 -0
  387. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/entities/test_person.py +0 -0
  388. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/entities/test_phone_number.py +0 -0
  389. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_column.py +0 -0
  390. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_constraints.py +0 -0
  391. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_generator.py +0 -0
  392. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_jinja_utils.py +0 -0
  393. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_people_gen.py +0 -0
  394. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_schema.py +0 -0
  395. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/sampling_gen/test_utils.py +0 -0
  396. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/test_engine_errors.py +0 -0
  397. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/test_model_provider.py +0 -0
  398. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/test_secret_resolver.py +0 -0
  399. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/validators/test_local_callable.py +0 -0
  400. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/validators/test_python.py +0 -0
  401. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/validators/test_remote.py +0 -0
  402. {data_designer-0.1.5 → data_designer-0.2.0}/tests/engine/validators/test_sql.py +0 -0
  403. {data_designer-0.1.5 → data_designer-0.2.0}/tests/interface/test_data_designer.py +0 -0
  404. {data_designer-0.1.5 → data_designer-0.2.0}/tests/interface/test_results.py +0 -0
  405. {data_designer-0.1.5 → data_designer-0.2.0}/tests/plugins/test_plugin.py +0 -0
  406. {data_designer-0.1.5 → data_designer-0.2.0}/tests/test_logging.py +0 -0
  407. {data_designer-0.1.5 → data_designer-0.2.0}/tests/test_plugin_manager.py +0 -0
@@ -0,0 +1,55 @@
1
+ name: Check Colab notebooks
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ paths:
7
+ - 'docs/notebook_source/*.py'
8
+ pull_request:
9
+ branches: [ main ]
10
+ paths:
11
+ - 'docs/notebook_source/*.py'
12
+ workflow_dispatch:
13
+
14
+ jobs:
15
+ check-colab-notebooks:
16
+ name: Check Colab Notebooks
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v5
25
+ with:
26
+ version: "latest"
27
+ python-version: "3.11"
28
+ enable-cache: true
29
+
30
+ - name: Install dependencies
31
+ run: |
32
+ uv sync --group notebooks --group docs
33
+
34
+ - name: Generate Colab notebooks
35
+ run: |
36
+ make generate-colab-notebooks
37
+
38
+ - name: Check for differences
39
+ run: |
40
+ # Get the diff, filtering out cell ID changes (which are randomly generated)
41
+ # Filter out: file markers (--- and +++), and "id" lines
42
+ MEANINGFUL_DIFF=$(git diff docs/colab_notebooks/ | grep -E '^[+-]' | grep -v '^---' | grep -v '^+++' | grep -vE '^[+-]\s*"id": "[0-9a-fA-F]+",?$' || true)
43
+
44
+ if [ -z "$MEANINGFUL_DIFF" ]; then
45
+ echo "✅ Colab notebooks are up-to-date (ignoring cell ID changes)"
46
+ else
47
+ echo "❌ Colab notebooks are out of sync with source files"
48
+ echo ""
49
+ echo "The generated notebooks differ from the committed ones."
50
+ echo "Please run 'make generate-colab-notebooks' locally and commit the changes."
51
+ echo ""
52
+ echo "Differences found:"
53
+ echo "$MEANINGFUL_DIFF"
54
+ exit 1
55
+ fi
@@ -36,6 +36,7 @@ help:
36
36
  @echo "🛠️ Utilities:"
37
37
  @echo " clean - Remove coverage reports and cache files"
38
38
  @echo " convert-execute-notebooks - Convert notebooks from .py to .ipynb using jupytext"
39
+ @echo " generate-colab-notebooks - Generate Colab-compatible notebooks"
39
40
  @echo " serve-docs-locally - Serve documentation locally"
40
41
  @echo " check-license-headers - Check if all files have license headers"
41
42
  @echo " update-license-headers - Add license headers to all files"
@@ -95,6 +96,11 @@ convert-execute-notebooks:
95
96
  rm docs/notebook_source/*.csv
96
97
  @echo "✅ Notebooks created in docs/notebooks/"
97
98
 
99
+ generate-colab-notebooks:
100
+ @echo "📓 Generating Colab-compatible notebooks..."
101
+ uv run --group notebooks python docs/scripts/generate_colab_notebooks.py
102
+ @echo "✅ Colab notebooks created in docs/colab_notebooks/"
103
+
98
104
  serve-docs-locally:
99
105
  @echo "📝 Building and serving docs..."
100
106
  uv sync --group docs
@@ -125,4 +131,4 @@ install-dev-notebooks:
125
131
  $(call install-pre-commit-hooks)
126
132
  @echo "✅ Dev + notebooks installation complete!"
127
133
 
128
- .PHONY: clean coverage format format-check lint lint-fix test check-license-headers update-license-headers check-all check-all-fix install install-dev install-dev-notebooks
134
+ .PHONY: clean coverage format format-check lint lint-fix test check-license-headers update-license-headers check-all check-all-fix install install-dev install-dev-notebooks generate-colab-notebooks
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-designer
3
- Version: 0.1.5
3
+ Version: 0.2.0
4
4
  Summary: General framework for synthetic data generation
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -0,0 +1,31 @@
1
+ # Analysis
2
+
3
+ The `analysis` modules provide tools for profiling and analyzing generated datasets. It includes statistics tracking, column profiling, and reporting capabilities.
4
+
5
+ ## Column Statistics
6
+
7
+ Column statistics are automatically computed for every column after generation. They provide basic metrics specific to the column type. For example, LLM columns track token usage statistics, sampler columns track distribution information, and validation columns track validation success rates.
8
+
9
+ The classes below are result objects that store the computed statistics for each column type and provide methods for formatting these results for display in reports.
10
+
11
+ ::: data_designer.config.analysis.column_statistics
12
+
13
+ ## Column Profilers
14
+
15
+ Column profilers are optional analysis tools that provide deeper insights into specific column types. Currently, the only column profiler available is the Judge Score Profiler.
16
+
17
+ The classes below are result objects that store the computed profiler results and provide methods for formatting these results for display in reports.
18
+
19
+ ::: data_designer.config.analysis.column_profilers
20
+
21
+ ## Dataset Profiler
22
+
23
+ The [DatasetProfilerResults](#data_designer.config.analysis.dataset_profiler.DatasetProfilerResults) class contains complete profiling results for a generated dataset. It aggregates column-level statistics, metadata, and profiler results, and provides methods to:
24
+
25
+ - Compute dataset-level metrics (completion percentage, column type summary)
26
+ - Filter statistics by column type
27
+ - Generate formatted analysis reports via the `to_report()` method
28
+
29
+ Reports can be displayed in the console or exported to HTML/SVG formats.
30
+
31
+ ::: data_designer.config.analysis.dataset_profiler
@@ -0,0 +1,6 @@
1
+ # Processors
2
+
3
+ The `processors` module defines configuration objects for post-generation data transformations. Processors run after column generation and can modify the dataset schema or content before output.
4
+
5
+ ::: data_designer.config.processors
6
+
@@ -0,0 +1,540 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "9f804f90",
6
+ "metadata": {},
7
+ "source": [
8
+ "# 🎨 Data Designer Tutorial: The Basics\n",
9
+ "\n",
10
+ "#### 📚 What you'll learn\n",
11
+ "\n",
12
+ "This notebook demonstrates the basics of Data Designer by generating a simple product review dataset.\n"
13
+ ]
14
+ },
15
+ {
16
+ "cell_type": "markdown",
17
+ "id": "9cb786eb",
18
+ "metadata": {},
19
+ "source": [
20
+ "### ⚡ Colab Setup\n",
21
+ "\n",
22
+ "Run the cells below to install the dependencies and set up the API key. If you don't have an API key, you can generate one from [build.nvidia.com](https://build.nvidia.com).\n"
23
+ ]
24
+ },
25
+ {
26
+ "cell_type": "code",
27
+ "execution_count": null,
28
+ "id": "7f45ea56",
29
+ "metadata": {},
30
+ "outputs": [],
31
+ "source": [
32
+ "%%capture\n",
33
+ "!pip install -U data-designer"
34
+ ]
35
+ },
36
+ {
37
+ "cell_type": "code",
38
+ "execution_count": null,
39
+ "id": "ea86e81e",
40
+ "metadata": {},
41
+ "outputs": [],
42
+ "source": [
43
+ "import getpass\n",
44
+ "import os\n",
45
+ "\n",
46
+ "from google.colab import userdata\n",
47
+ "\n",
48
+ "try:\n",
49
+ " os.environ[\"NVIDIA_API_KEY\"] = userdata.get(\"NVIDIA_API_KEY\")\n",
50
+ "except userdata.SecretNotFoundError:\n",
51
+ " os.environ[\"NVIDIA_API_KEY\"] = getpass.getpass(\"Enter your NVIDIA API key: \")"
52
+ ]
53
+ },
54
+ {
55
+ "cell_type": "markdown",
56
+ "id": "16611c7b",
57
+ "metadata": {},
58
+ "source": [
59
+ "### 📦 Import the essentials\n",
60
+ "\n",
61
+ "- The `essentials` module provides quick access to the most commonly used objects.\n"
62
+ ]
63
+ },
64
+ {
65
+ "cell_type": "code",
66
+ "execution_count": null,
67
+ "id": "875342bb",
68
+ "metadata": {},
69
+ "outputs": [],
70
+ "source": [
71
+ "from data_designer.essentials import (\n",
72
+ " CategorySamplerParams,\n",
73
+ " ChatCompletionInferenceParams,\n",
74
+ " DataDesigner,\n",
75
+ " DataDesignerConfigBuilder,\n",
76
+ " LLMTextColumnConfig,\n",
77
+ " ModelConfig,\n",
78
+ " PersonFromFakerSamplerParams,\n",
79
+ " SamplerColumnConfig,\n",
80
+ " SamplerType,\n",
81
+ " SubcategorySamplerParams,\n",
82
+ " UniformSamplerParams,\n",
83
+ ")"
84
+ ]
85
+ },
86
+ {
87
+ "cell_type": "markdown",
88
+ "id": "b58ac676",
89
+ "metadata": {},
90
+ "source": [
91
+ "### ⚙️ Initialize the Data Designer interface\n",
92
+ "\n",
93
+ "- `DataDesigner` is the main object is responsible for managing the data generation process.\n",
94
+ "\n",
95
+ "- When initialized without arguments, the [default model providers](https://nvidia-nemo.github.io/DataDesigner/latest/concepts/models/default-model-settings/) are used.\n"
96
+ ]
97
+ },
98
+ {
99
+ "cell_type": "code",
100
+ "execution_count": null,
101
+ "id": "3ce805ad",
102
+ "metadata": {},
103
+ "outputs": [],
104
+ "source": [
105
+ "data_designer = DataDesigner()"
106
+ ]
107
+ },
108
+ {
109
+ "cell_type": "markdown",
110
+ "id": "50e961ed",
111
+ "metadata": {},
112
+ "source": [
113
+ "### 🎛️ Define model configurations\n",
114
+ "\n",
115
+ "- Each `ModelConfig` defines a model that can be used during the generation process.\n",
116
+ "\n",
117
+ "- The \"model alias\" is used to reference the model in the Data Designer config (as we will see below).\n",
118
+ "\n",
119
+ "- The \"model provider\" is the external service that hosts the model (see the [model config](https://nvidia-nemo.github.io/DataDesigner/latest/concepts/models/default-model-settings/) docs for more details).\n",
120
+ "\n",
121
+ "- By default, we use [build.nvidia.com](https://build.nvidia.com/models) as the model provider.\n"
122
+ ]
123
+ },
124
+ {
125
+ "cell_type": "code",
126
+ "execution_count": null,
127
+ "id": "1b07a6a5",
128
+ "metadata": {},
129
+ "outputs": [],
130
+ "source": [
131
+ "# This name is set in the model provider configuration.\n",
132
+ "MODEL_PROVIDER = \"nvidia\"\n",
133
+ "\n",
134
+ "# The model ID is from build.nvidia.com.\n",
135
+ "MODEL_ID = \"nvidia/nemotron-3-nano-30b-a3b\"\n",
136
+ "\n",
137
+ "# We choose this alias to be descriptive for our use case.\n",
138
+ "MODEL_ALIAS = \"nemotron-nano-v2\"\n",
139
+ "\n",
140
+ "# This sets reasoning to False for the nemotron-nano-v2 model.\n",
141
+ "SYSTEM_PROMPT = \"/no_think\"\n",
142
+ "\n",
143
+ "model_configs = [\n",
144
+ " ModelConfig(\n",
145
+ " alias=MODEL_ALIAS,\n",
146
+ " model=MODEL_ID,\n",
147
+ " provider=MODEL_PROVIDER,\n",
148
+ " inference_parameters=ChatCompletionInferenceParams(\n",
149
+ " temperature=0.5,\n",
150
+ " top_p=1.0,\n",
151
+ " max_tokens=1024,\n",
152
+ " ),\n",
153
+ " )\n",
154
+ "]"
155
+ ]
156
+ },
157
+ {
158
+ "cell_type": "markdown",
159
+ "id": "6d873251",
160
+ "metadata": {},
161
+ "source": [
162
+ "### 🏗️ Initialize the Data Designer Config Builder\n",
163
+ "\n",
164
+ "- The Data Designer config defines the dataset schema and generation process.\n",
165
+ "\n",
166
+ "- The config builder provides an intuitive interface for building this configuration.\n",
167
+ "\n",
168
+ "- The list of model configs is provided to the builder at initialization.\n"
169
+ ]
170
+ },
171
+ {
172
+ "cell_type": "code",
173
+ "execution_count": null,
174
+ "id": "d45fac13",
175
+ "metadata": {},
176
+ "outputs": [],
177
+ "source": [
178
+ "config_builder = DataDesignerConfigBuilder(model_configs=model_configs)"
179
+ ]
180
+ },
181
+ {
182
+ "cell_type": "markdown",
183
+ "id": "c35b0274",
184
+ "metadata": {},
185
+ "source": [
186
+ "## 🎲 Getting started with sampler columns\n",
187
+ "\n",
188
+ "- Sampler columns offer non-LLM based generation of synthetic data.\n",
189
+ "\n",
190
+ "- They are particularly useful for **steering the diversity** of the generated data, as we demonstrate below.\n",
191
+ "\n",
192
+ "<br>\n",
193
+ "\n",
194
+ "You can view available samplers using the config builder's `info` property:\n"
195
+ ]
196
+ },
197
+ {
198
+ "cell_type": "code",
199
+ "execution_count": null,
200
+ "id": "14cb9967",
201
+ "metadata": {},
202
+ "outputs": [],
203
+ "source": [
204
+ "config_builder.info.display(\"samplers\")"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "markdown",
209
+ "id": "40945aea",
210
+ "metadata": {},
211
+ "source": [
212
+ "Let's start designing our product review dataset by adding product category and subcategory columns.\n"
213
+ ]
214
+ },
215
+ {
216
+ "cell_type": "code",
217
+ "execution_count": null,
218
+ "id": "a7d87e00",
219
+ "metadata": {},
220
+ "outputs": [],
221
+ "source": [
222
+ "config_builder.add_column(\n",
223
+ " SamplerColumnConfig(\n",
224
+ " name=\"product_category\",\n",
225
+ " sampler_type=SamplerType.CATEGORY,\n",
226
+ " params=CategorySamplerParams(\n",
227
+ " values=[\n",
228
+ " \"Electronics\",\n",
229
+ " \"Clothing\",\n",
230
+ " \"Home & Kitchen\",\n",
231
+ " \"Books\",\n",
232
+ " \"Home Office\",\n",
233
+ " ],\n",
234
+ " ),\n",
235
+ " )\n",
236
+ ")\n",
237
+ "\n",
238
+ "config_builder.add_column(\n",
239
+ " SamplerColumnConfig(\n",
240
+ " name=\"product_subcategory\",\n",
241
+ " sampler_type=SamplerType.SUBCATEGORY,\n",
242
+ " params=SubcategorySamplerParams(\n",
243
+ " category=\"product_category\",\n",
244
+ " values={\n",
245
+ " \"Electronics\": [\n",
246
+ " \"Smartphones\",\n",
247
+ " \"Laptops\",\n",
248
+ " \"Headphones\",\n",
249
+ " \"Cameras\",\n",
250
+ " \"Accessories\",\n",
251
+ " ],\n",
252
+ " \"Clothing\": [\n",
253
+ " \"Men's Clothing\",\n",
254
+ " \"Women's Clothing\",\n",
255
+ " \"Winter Coats\",\n",
256
+ " \"Activewear\",\n",
257
+ " \"Accessories\",\n",
258
+ " ],\n",
259
+ " \"Home & Kitchen\": [\n",
260
+ " \"Appliances\",\n",
261
+ " \"Cookware\",\n",
262
+ " \"Furniture\",\n",
263
+ " \"Decor\",\n",
264
+ " \"Organization\",\n",
265
+ " ],\n",
266
+ " \"Books\": [\n",
267
+ " \"Fiction\",\n",
268
+ " \"Non-Fiction\",\n",
269
+ " \"Self-Help\",\n",
270
+ " \"Textbooks\",\n",
271
+ " \"Classics\",\n",
272
+ " ],\n",
273
+ " \"Home Office\": [\n",
274
+ " \"Desks\",\n",
275
+ " \"Chairs\",\n",
276
+ " \"Storage\",\n",
277
+ " \"Office Supplies\",\n",
278
+ " \"Lighting\",\n",
279
+ " ],\n",
280
+ " },\n",
281
+ " ),\n",
282
+ " )\n",
283
+ ")\n",
284
+ "\n",
285
+ "config_builder.add_column(\n",
286
+ " SamplerColumnConfig(\n",
287
+ " name=\"target_age_range\",\n",
288
+ " sampler_type=SamplerType.CATEGORY,\n",
289
+ " params=CategorySamplerParams(values=[\"18-25\", \"25-35\", \"35-50\", \"50-65\", \"65+\"]),\n",
290
+ " )\n",
291
+ ")\n",
292
+ "\n",
293
+ "# Optionally validate that the columns are configured correctly.\n",
294
+ "config_builder.validate()"
295
+ ]
296
+ },
297
+ {
298
+ "cell_type": "markdown",
299
+ "id": "48699878",
300
+ "metadata": {},
301
+ "source": [
302
+ "Next, let's add samplers to generate data related to the customer and their review.\n"
303
+ ]
304
+ },
305
+ {
306
+ "cell_type": "code",
307
+ "execution_count": null,
308
+ "id": "df84faf3",
309
+ "metadata": {},
310
+ "outputs": [],
311
+ "source": [
312
+ "config_builder.add_column(\n",
313
+ " SamplerColumnConfig(\n",
314
+ " name=\"customer\",\n",
315
+ " sampler_type=SamplerType.PERSON_FROM_FAKER,\n",
316
+ " params=PersonFromFakerSamplerParams(age_range=[18, 70], locale=\"en_US\"),\n",
317
+ " )\n",
318
+ ")\n",
319
+ "\n",
320
+ "config_builder.add_column(\n",
321
+ " SamplerColumnConfig(\n",
322
+ " name=\"number_of_stars\",\n",
323
+ " sampler_type=SamplerType.UNIFORM,\n",
324
+ " params=UniformSamplerParams(low=1, high=5),\n",
325
+ " convert_to=\"int\", # Convert the sampled float to an integer.\n",
326
+ " )\n",
327
+ ")\n",
328
+ "\n",
329
+ "config_builder.add_column(\n",
330
+ " SamplerColumnConfig(\n",
331
+ " name=\"review_style\",\n",
332
+ " sampler_type=SamplerType.CATEGORY,\n",
333
+ " params=CategorySamplerParams(\n",
334
+ " values=[\"rambling\", \"brief\", \"detailed\", \"structured with bullet points\"],\n",
335
+ " weights=[1, 2, 2, 1],\n",
336
+ " ),\n",
337
+ " )\n",
338
+ ")\n",
339
+ "\n",
340
+ "config_builder.validate()"
341
+ ]
342
+ },
343
+ {
344
+ "cell_type": "markdown",
345
+ "id": "8288352d",
346
+ "metadata": {},
347
+ "source": [
348
+ "## 🦜 LLM-generated columns\n",
349
+ "\n",
350
+ "- The real power of Data Designer comes from leveraging LLMs to generate text, code, and structured data.\n",
351
+ "\n",
352
+ "- When prompting the LLM, we can use Jinja templating to reference other columns in the dataset.\n",
353
+ "\n",
354
+ "- As we see below, nested json fields can be accessed using dot notation.\n"
355
+ ]
356
+ },
357
+ {
358
+ "cell_type": "code",
359
+ "execution_count": null,
360
+ "id": "157919b4",
361
+ "metadata": {},
362
+ "outputs": [],
363
+ "source": [
364
+ "config_builder.add_column(\n",
365
+ " LLMTextColumnConfig(\n",
366
+ " name=\"product_name\",\n",
367
+ " prompt=(\n",
368
+ " \"You are a helpful assistant that generates product names. DO NOT add quotes around the product name.\\n\\n\"\n",
369
+ " \"Come up with a creative product name for a product in the '{{ product_category }}' category, focusing \"\n",
370
+ " \"on products related to '{{ product_subcategory }}'. The target age range of the ideal customer is \"\n",
371
+ " \"{{ target_age_range }} years old. Respond with only the product name, no other text.\"\n",
372
+ " ),\n",
373
+ " system_prompt=SYSTEM_PROMPT,\n",
374
+ " model_alias=MODEL_ALIAS,\n",
375
+ " )\n",
376
+ ")\n",
377
+ "\n",
378
+ "config_builder.add_column(\n",
379
+ " LLMTextColumnConfig(\n",
380
+ " name=\"customer_review\",\n",
381
+ " prompt=(\n",
382
+ " \"You are a customer named {{ customer.first_name }} from {{ customer.city }}, {{ customer.state }}. \"\n",
383
+ " \"You are {{ customer.age }} years old and recently purchased a product called {{ product_name }}. \"\n",
384
+ " \"Write a review of this product, which you gave a rating of {{ number_of_stars }} stars. \"\n",
385
+ " \"The style of the review should be '{{ review_style }}'.\"\n",
386
+ " ),\n",
387
+ " system_prompt=SYSTEM_PROMPT,\n",
388
+ " model_alias=MODEL_ALIAS,\n",
389
+ " )\n",
390
+ ")\n",
391
+ "\n",
392
+ "config_builder.validate()"
393
+ ]
394
+ },
395
+ {
396
+ "cell_type": "markdown",
397
+ "id": "009646e4",
398
+ "metadata": {},
399
+ "source": [
400
+ "### 🔁 Iteration is key – preview the dataset!\n",
401
+ "\n",
402
+ "1. Use the `preview` method to generate a sample of records quickly.\n",
403
+ "\n",
404
+ "2. Inspect the results for quality and format issues.\n",
405
+ "\n",
406
+ "3. Adjust column configurations, prompts, or parameters as needed.\n",
407
+ "\n",
408
+ "4. Re-run the preview until satisfied.\n"
409
+ ]
410
+ },
411
+ {
412
+ "cell_type": "code",
413
+ "execution_count": null,
414
+ "id": "a9c90236",
415
+ "metadata": {},
416
+ "outputs": [],
417
+ "source": [
418
+ "preview = data_designer.preview(config_builder, num_records=2)"
419
+ ]
420
+ },
421
+ {
422
+ "cell_type": "code",
423
+ "execution_count": null,
424
+ "id": "3cfe180e",
425
+ "metadata": {},
426
+ "outputs": [],
427
+ "source": [
428
+ "# Run this cell multiple times to cycle through the 2 preview records.\n",
429
+ "preview.display_sample_record()"
430
+ ]
431
+ },
432
+ {
433
+ "cell_type": "code",
434
+ "execution_count": null,
435
+ "id": "65b2f595",
436
+ "metadata": {},
437
+ "outputs": [],
438
+ "source": [
439
+ "# The preview dataset is available as a pandas DataFrame.\n",
440
+ "preview.dataset"
441
+ ]
442
+ },
443
+ {
444
+ "cell_type": "markdown",
445
+ "id": "2134fa0f",
446
+ "metadata": {},
447
+ "source": [
448
+ "### 📊 Analyze the generated data\n",
449
+ "\n",
450
+ "- Data Designer automatically generates a basic statistical analysis of the generated data.\n",
451
+ "\n",
452
+ "- This analysis is available via the `analysis` property of generation result objects.\n"
453
+ ]
454
+ },
455
+ {
456
+ "cell_type": "code",
457
+ "execution_count": null,
458
+ "id": "8a37dd61",
459
+ "metadata": {},
460
+ "outputs": [],
461
+ "source": [
462
+ "# Print the analysis as a table.\n",
463
+ "preview.analysis.to_report()"
464
+ ]
465
+ },
466
+ {
467
+ "cell_type": "markdown",
468
+ "id": "b715bc3a",
469
+ "metadata": {},
470
+ "source": [
471
+ "### 🆙 Scale up!\n",
472
+ "\n",
473
+ "- Happy with your preview data?\n",
474
+ "\n",
475
+ "- Use the `create` method to submit larger Data Designer generation jobs.\n"
476
+ ]
477
+ },
478
+ {
479
+ "cell_type": "code",
480
+ "execution_count": null,
481
+ "id": "565f03a1",
482
+ "metadata": {},
483
+ "outputs": [],
484
+ "source": [
485
+ "results = data_designer.create(config_builder, num_records=10)"
486
+ ]
487
+ },
488
+ {
489
+ "cell_type": "code",
490
+ "execution_count": null,
491
+ "id": "9d4c91ad",
492
+ "metadata": {},
493
+ "outputs": [],
494
+ "source": [
495
+ "# Load the generated dataset as a pandas DataFrame.\n",
496
+ "dataset = results.load_dataset()\n",
497
+ "\n",
498
+ "dataset.head()"
499
+ ]
500
+ },
501
+ {
502
+ "cell_type": "code",
503
+ "execution_count": null,
504
+ "id": "93c5a082",
505
+ "metadata": {},
506
+ "outputs": [],
507
+ "source": [
508
+ "# Load the analysis results into memory.\n",
509
+ "analysis = results.load_analysis()\n",
510
+ "\n",
511
+ "analysis.to_report()"
512
+ ]
513
+ },
514
+ {
515
+ "cell_type": "markdown",
516
+ "id": "13f7c942",
517
+ "metadata": {},
518
+ "source": [
519
+ "## ⏭️ Next Steps\n",
520
+ "\n",
521
+ "Now that you've seen the basics of Data Designer, check out the following notebooks to learn more about:\n",
522
+ "\n",
523
+ "- [Structured outputs and jinja expressions](https://nvidia-nemo.github.io/DataDesigner/latest/notebooks/2-structured-outputs-and-jinja-expressions/)\n",
524
+ "\n",
525
+ "- [Seeding synthetic data generation with an external dataset](https://nvidia-nemo.github.io/DataDesigner/latest/notebooks/3-seeding-with-a-dataset/)\n",
526
+ "\n",
527
+ "- [Providing images as context](https://nvidia-nemo.github.io/DataDesigner/latest/notebooks/4-providing-images-as-context/)\n"
528
+ ]
529
+ }
530
+ ],
531
+ "metadata": {
532
+ "kernelspec": {
533
+ "display_name": ".venv",
534
+ "language": "python",
535
+ "name": "python3"
536
+ }
537
+ },
538
+ "nbformat": 4,
539
+ "nbformat_minor": 5
540
+ }