DeepFabric 4.9.0__tar.gz → 4.10.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 (225) hide show
  1. deepfabric-4.10.0/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  2. deepfabric-4.10.0/.github/ISSUE_TEMPLATE/feature_request.yml +46 -0
  3. deepfabric-4.10.0/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  4. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/workflows/docs.yml +1 -1
  5. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/workflows/integration.yml +2 -2
  6. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/workflows/publish.yml +2 -2
  7. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/workflows/test.yml +2 -2
  8. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/workflows/tools-sdk-docker.yml +1 -1
  9. {deepfabric-4.9.0 → deepfabric-4.10.0}/PKG-INFO +5 -6
  10. {deepfabric-4.9.0 → deepfabric-4.10.0}/README.md +3 -4
  11. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/builders.py +7 -21
  12. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/builders_agent.py +0 -542
  13. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/cli.py +505 -74
  14. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/config.py +57 -73
  15. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/config_manager.py +8 -6
  16. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/constants.py +6 -0
  17. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/dataset_manager.py +107 -11
  18. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/parser.py +7 -7
  19. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/generator.py +656 -103
  20. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/graph.py +46 -1
  21. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/prompts.py +0 -39
  22. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/schemas.py +4 -3
  23. deepfabric-4.10.0/deepfabric/topic_model.py +52 -0
  24. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tree.py +23 -1
  25. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tui.py +66 -21
  26. deepfabric-4.10.0/deepfabric/utils.py +381 -0
  27. deepfabric-4.10.0/deepfabric/validation.py +113 -0
  28. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/generate.md +87 -6
  29. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/agent.md +10 -121
  30. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/basic.md +20 -22
  31. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/configuration.md +59 -6
  32. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/index.md +8 -27
  33. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/evaluation/index.md +17 -0
  34. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/index.md +5 -1
  35. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/custom.md +0 -1
  36. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/mock.md +2 -3
  37. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/tutorials/go.md +0 -1
  38. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/tutorials/python.md +0 -1
  39. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/tutorials/rust.md +0 -1
  40. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/tutorials/typescript.md +0 -1
  41. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/training/index.md +16 -0
  42. deepfabric-4.9.0/examples/agent-tools-single.yaml → deepfabric-4.10.0/examples/agent-tools.yaml +2 -3
  43. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/coding-agent.yaml +1 -1
  44. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/complete.yaml +1 -6
  45. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/github-mock-tools.yaml +1 -4
  46. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/spin-vfs-tools.yaml +1 -1
  47. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/blender/spin-blender.yaml +0 -1
  48. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/figma/spin-figma.yaml +0 -1
  49. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/github/spin-github-tools.yaml +1 -1
  50. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/kubernetes/spin-kubernetes.yaml +0 -1
  51. {deepfabric-4.9.0 → deepfabric-4.10.0}/pyproject.toml +2 -2
  52. deepfabric-4.10.0/tests/unit/test_checkpoint.py +550 -0
  53. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_cli.py +46 -1
  54. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_generator.py +8 -1
  55. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_modular_config.py +18 -56
  56. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_topic_graph.py +44 -0
  57. {deepfabric-4.9.0 → deepfabric-4.10.0}/uv.lock +4 -4
  58. deepfabric-4.9.0/deepfabric/topic_model.py +0 -20
  59. deepfabric-4.9.0/deepfabric/utils.py +0 -197
  60. deepfabric-4.9.0/deepfabric/validation.py +0 -143
  61. deepfabric-4.9.0/examples/agent-tools-multi.yaml +0 -158
  62. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/config.yml +0 -0
  63. {deepfabric-4.9.0 → deepfabric-4.10.0}/.github/dependabot.yml +0 -0
  64. {deepfabric-4.9.0 → deepfabric-4.10.0}/.gitignore +0 -0
  65. {deepfabric-4.9.0 → deepfabric-4.10.0}/CLAUDE.md +0 -0
  66. {deepfabric-4.9.0 → deepfabric-4.10.0}/CODE_OF_CONDUCT.md +0 -0
  67. {deepfabric-4.9.0 → deepfabric-4.10.0}/CONTRIBUTING.md +0 -0
  68. {deepfabric-4.9.0 → deepfabric-4.10.0}/LICENSE +0 -0
  69. {deepfabric-4.9.0 → deepfabric-4.10.0}/Makefile +0 -0
  70. {deepfabric-4.9.0 → deepfabric-4.10.0}/assets/df-demo.gif +0 -0
  71. {deepfabric-4.9.0 → deepfabric-4.10.0}/assets/logo-light-hols.png +0 -0
  72. {deepfabric-4.9.0 → deepfabric-4.10.0}/assets/logo-light.png +0 -0
  73. {deepfabric-4.9.0 → deepfabric-4.10.0}/assets/star.gif +0 -0
  74. {deepfabric-4.9.0 → deepfabric-4.10.0}/coverage.xml +0 -0
  75. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/__init__.py +0 -0
  76. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/__main__.py +0 -0
  77. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/auth.py +0 -0
  78. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/cloud_upload.py +0 -0
  79. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/dataset.py +0 -0
  80. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/error_codes.py +0 -0
  81. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/__init__.py +0 -0
  82. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/backends/__init__.py +0 -0
  83. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/backends/llm_eval_backend.py +0 -0
  84. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/backends/ollama_backend.py +0 -0
  85. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/backends/tool_call_parsers.py +0 -0
  86. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/backends/transformers_backend.py +0 -0
  87. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluator.py +0 -0
  88. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluators/__init__.py +0 -0
  89. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluators/base.py +0 -0
  90. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluators/builtin/__init__.py +0 -0
  91. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluators/builtin/tool_calling.py +0 -0
  92. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/evaluators/registry.py +0 -0
  93. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/inference.py +0 -0
  94. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/metrics.py +0 -0
  95. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/reporters/__init__.py +0 -0
  96. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/reporters/base.py +0 -0
  97. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/reporters/cloud_reporter.py +0 -0
  98. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/reporters/file_reporter.py +0 -0
  99. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/evaluation/reporters/multi_reporter.py +0 -0
  100. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/exceptions.py +0 -0
  101. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/factory.py +0 -0
  102. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/hf_hub.py +0 -0
  103. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/kaggle_hub.py +0 -0
  104. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/__init__.py +0 -0
  105. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/api_key_verifier.py +0 -0
  106. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/client.py +0 -0
  107. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/errors.py +0 -0
  108. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/rate_limit_config.py +0 -0
  109. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/rate_limit_detector.py +0 -0
  110. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/llm/retry_handler.py +0 -0
  111. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/loader.py +0 -0
  112. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/metrics.py +0 -0
  113. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/progress.py +0 -0
  114. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/spin/__init__.py +0 -0
  115. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/spin/client.py +0 -0
  116. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/spin/models.py +0 -0
  117. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/stream_simulator.py +0 -0
  118. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tools/__init__.py +0 -0
  119. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tools/defaults.py +0 -0
  120. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tools/loader.py +0 -0
  121. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/tools/mcp_client.py +0 -0
  122. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/topic_manager.py +0 -0
  123. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/training/__init__.py +0 -0
  124. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/training/api_key_prompt.py +0 -0
  125. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/training/callback.py +0 -0
  126. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/training/dataset_utils.py +0 -0
  127. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/training/metrics_sender.py +0 -0
  128. {deepfabric-4.9.0 → deepfabric-4.10.0}/deepfabric/update_checker.py +0 -0
  129. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/evaluate.md +0 -0
  130. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/import-tools.md +0 -0
  131. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/index.md +0 -0
  132. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/info.md +0 -0
  133. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/upload-hf.md +0 -0
  134. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/upload-kaggle.md +0 -0
  135. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/upload.md +0 -0
  136. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/validate.md +0 -0
  137. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/cli/visualize.md +0 -0
  138. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/rate-limiting.md +0 -0
  139. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/dataset-generation/reasoning.md +0 -0
  140. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/evaluation/metrics.md +0 -0
  141. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/evaluation/running.md +0 -0
  142. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/images/logo-light.png +0 -0
  143. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/images/python-spin.png +0 -0
  144. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/index.md +0 -0
  145. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/spin.md +0 -0
  146. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/tutorials/index.md +0 -0
  147. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/tools/vfs.md +0 -0
  148. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/training/chat-templates.md +0 -0
  149. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/training/dataset-preparation.md +0 -0
  150. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/training/frameworks.md +0 -0
  151. {deepfabric-4.9.0 → deepfabric-4.10.0}/docs/training/loading.md +0 -0
  152. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-anthropic.yaml +0 -0
  153. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-gemini.yaml +0 -0
  154. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-graph.yaml +0 -0
  155. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-ollama.yaml +0 -0
  156. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-openai.yaml +0 -0
  157. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-openrouter.yaml +0 -0
  158. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/basic-tree.yaml +0 -0
  159. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/custom-tools.yaml +0 -0
  160. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/reasoning.yaml +0 -0
  161. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/blender/load-blender-mock-data.sh +0 -0
  162. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/figma/load-figma-mock-data.sh +0 -0
  163. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/github/load-github-mock-data.sh +0 -0
  164. {deepfabric-4.9.0 → deepfabric-4.10.0}/examples/tools-sdk-examples/kubernetes/load-kubernetes-mock-data.sh +0 -0
  165. {deepfabric-4.9.0 → deepfabric-4.10.0}/misc/test_update_manual.py +0 -0
  166. {deepfabric-4.9.0 → deepfabric-4.10.0}/mkdocs.yml +0 -0
  167. {deepfabric-4.9.0 → deepfabric-4.10.0}/notebooks/Train_and_Evaluate_Qwen3_4B_Thinking_as_a_Blender_MCP_Agent.ipynb +0 -0
  168. {deepfabric-4.9.0 → deepfabric-4.10.0}/notebooks/dataset-compatibility-check.ipynb +0 -0
  169. {deepfabric-4.9.0 → deepfabric-4.10.0}/notebooks/evaluations.ipynb +0 -0
  170. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/01-alpaca.txt +0 -0
  171. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/01-chatml.txt +0 -0
  172. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/01-grpo.txt +0 -0
  173. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/01-xlam_v2.txt +0 -0
  174. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/02-trl2.txt +0 -0
  175. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/02-xlam_v2.txt +0 -0
  176. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/04-agent-tool-conversations.jsnl +0 -0
  177. {deepfabric-4.9.0 → deepfabric-4.10.0}/test-run/04-single-agent-tools +0 -0
  178. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/__init__.py +0 -0
  179. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/__init__.py +0 -0
  180. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/conftest.py +0 -0
  181. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/test_generator_integration.py +0 -0
  182. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/test_graph_integration.py +0 -0
  183. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/test_llm_client_integration.py +0 -0
  184. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/test_spin_integration.py +0 -0
  185. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/integration/test_tree_integration.py +0 -0
  186. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/__init__.py +0 -0
  187. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/conftest.py +0 -0
  188. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_api_key_validation.py +0 -0
  189. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_cloud_upload.py +0 -0
  190. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_config.py +0 -0
  191. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_dataset.py +0 -0
  192. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_error_codes.py +0 -0
  193. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_gemini_schema.py +0 -0
  194. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_hf_hub.py +0 -0
  195. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_kaggle_hub.py +0 -0
  196. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_llm_eval_backend.py +0 -0
  197. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_loader.py +0 -0
  198. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_rate_limiting.py +0 -0
  199. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_schemas.py +0 -0
  200. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_tool_call_parsers.py +0 -0
  201. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_training_callback.py +0 -0
  202. {deepfabric-4.9.0 → deepfabric-4.10.0}/tests/unit/test_update_checker.py +0 -0
  203. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools/extract_messages.py +0 -0
  204. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools/function.py +0 -0
  205. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools/yaml_to_openai_tools.py +0 -0
  206. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/.dockerignore +0 -0
  207. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/Dockerfile +0 -0
  208. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/README.md +0 -0
  209. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/README.md +0 -0
  210. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/app.py +0 -0
  211. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/github.wasm +0 -0
  212. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/pyproject.toml +0 -0
  213. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/requirements.txt +0 -0
  214. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/spin.toml +0 -0
  215. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/github/uv.lock +0 -0
  216. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/mock/Cargo.lock +0 -0
  217. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/mock/Cargo.toml +0 -0
  218. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/mock/README.md +0 -0
  219. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/mock/src/lib.rs +0 -0
  220. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/vfs/Cargo.lock +0 -0
  221. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/vfs/Cargo.toml +0 -0
  222. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/components/vfs/src/lib.rs +0 -0
  223. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/docker-compose.yaml +0 -0
  224. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/runtime-config.toml +0 -0
  225. {deepfabric-4.9.0 → deepfabric-4.10.0}/tools-sdk/spin.toml +0 -0
@@ -0,0 +1,69 @@
1
+ name: Bug report 🐛
2
+ description: Report a bug to help us improve
3
+ labels: ['bug']
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thanks for taking the time to fill out this bug report!
9
+ - type: checkboxes
10
+ id: new-bug
11
+ attributes:
12
+ label: Is there an existing issue for this?
13
+ description: Please search to see if an issue already exists for the bug you encountered.
14
+ options:
15
+ - label: I have searched the existing issues
16
+ required: true
17
+ - type: textarea
18
+ id: bug-description
19
+ attributes:
20
+ label: Description of the bug
21
+ description: Tell us what bug you encountered and what should have happened.
22
+ validations:
23
+ required: true
24
+ - type: textarea
25
+ id: steps-to-reproduce
26
+ attributes:
27
+ label: Steps to reproduce
28
+ description: Steps to reproduce the behavior.
29
+ placeholder: |
30
+ Please tell us how to reproduce this bug, for example:
31
+ 1. Install dependencies with 'uv pip install -r requirements.txt'
32
+ 2. Run the script with 'python main.py ...'
33
+ 3. Use the following configuration options, if any
34
+ 4. Observe the error
35
+ validations:
36
+ required: true
37
+ - type: textarea
38
+ id: expected-behavior
39
+ attributes:
40
+ label: Expected behavior
41
+ description: What should be the expected behavior.
42
+ placeholder: A clear and concise description of what you expected to happen.
43
+ validations:
44
+ required: true
45
+ - type: textarea
46
+ id: screenshots
47
+ attributes:
48
+ label: Screenshots / Logs
49
+ description: If applicable, add screenshots to help explain your problem.
50
+ placeholder: Paste your screenshots here.
51
+ - type: textarea
52
+ id: software-info
53
+ attributes:
54
+ label: Software information
55
+ description: |
56
+ Please provide the following information about your environment.
57
+ Run `deepfabric --version` to get the DeepFabric version.
58
+ value: |
59
+ - Operating system:
60
+ - Python version:
61
+ - DeepFabric version:
62
+ validations:
63
+ required: true
64
+ - type: textarea
65
+ id: additional-context
66
+ attributes:
67
+ label: Additional context
68
+ description: Do you want to share any additional context about this bug?
69
+ placeholder: Add any other context about the problem here.
@@ -0,0 +1,46 @@
1
+ name: Feature request ⛰️
2
+ description: Suggest an idea for this project
3
+ labels: ['enhancement']
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thank you for suggesting this feature!
9
+ - type: checkboxes
10
+ id: new-feature
11
+ attributes:
12
+ label: Is there an existing issue or pull request for this?
13
+ description: Please search to see if an issue or pull request already exists for the feature you desire.
14
+ options:
15
+ - label: I have searched the existing issues and pull requests
16
+ required: true
17
+ - type: textarea
18
+ id: feature-description
19
+ attributes:
20
+ label: Feature description
21
+ description: Is your feature request related to a problem? Please describe.
22
+ placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
23
+ validations:
24
+ required: true
25
+ - type: textarea
26
+ id: desired-solution
27
+ attributes:
28
+ label: Desired solution
29
+ description: Describe the solution you'd like.
30
+ placeholder: A clear and concise description of what you want to happen.
31
+ validations:
32
+ required: true
33
+ - type: textarea
34
+ id: alternatives-considered
35
+ attributes:
36
+ label: Alternatives considered
37
+ description: Describe alternatives you've considered.
38
+ placeholder: A clear and concise description of any alternative solutions or features you've considered.
39
+ validations:
40
+ required: true
41
+ - type: textarea
42
+ id: additional-context
43
+ attributes:
44
+ label: Additional context
45
+ description: Do you want to share any additional context about this feature?
46
+ placeholder: Add any other context about the feature here.
@@ -0,0 +1,42 @@
1
+ ## Description
2
+
3
+ <!--- Describe your changes in detail -->
4
+
5
+ ## Motivation and Context
6
+
7
+ <!--- Why is this change required? What problem does it solve? -->
8
+ <!--- If it fixes an open issue, please link to the issue here. -->
9
+ <!--- You can use keywords like "Closes #123" or "Fixes #123" to automatically close the issue on merge. -->
10
+
11
+ ## How Has This Been Tested?
12
+
13
+ <!--- Please describe in detail how you tested your changes. -->
14
+ <!--- Include details of your testing environment, and the tests you ran to -->
15
+ <!--- see how your change affects other areas of the code, etc. -->
16
+
17
+ ## Screenshots / Logs (if applicable)
18
+
19
+ ## Types of Changes
20
+
21
+ <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
22
+
23
+ - [ ] Bug fix (non-breaking change which fixes an issue)
24
+ - [ ] New feature (non-breaking change which adds functionality)
25
+ - [ ] Breaking change (fix or feature that would cause existing functionality to change)
26
+ - [ ] Documentation (no code change)
27
+ - [ ] Refactor (code restructuring with no functional changes)
28
+ - [ ] Other (please describe)
29
+
30
+ ## Checklist:
31
+
32
+ <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
33
+ <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
34
+
35
+ - [ ] My code follows the code style of this project.
36
+ - [ ] I have updated the documentation accordingly.
37
+ - [ ] I have formatted the code with [ruff](https://github.com/astral-sh/ruff) (`uv run ruff format deepfabric/ tests/`).
38
+ - [ ] I checked the lints with [ruff](https://github.com/astral-sh/ruff) (`uv run ruff check . --exclude notebooks/`).
39
+ - [ ] I have added tests to cover my changes.
40
+ - [ ] All new and existing tests passed.
41
+
42
+ <!--- Thank you for contributing to deepfabric! ⛰️ -->
@@ -20,7 +20,7 @@ jobs:
20
20
  runs-on: ubuntu-latest
21
21
  steps:
22
22
  - name: Checkout
23
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5
23
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5
24
24
 
25
25
  - name: Install uv
26
26
  uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7
@@ -32,7 +32,7 @@ jobs:
32
32
 
33
33
  steps:
34
34
  - name: Checkout code
35
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5
35
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5
36
36
 
37
37
  - name: Wait for Spin service
38
38
  run: |
@@ -52,7 +52,7 @@ jobs:
52
52
  exit 1
53
53
 
54
54
  - name: Set up Python
55
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
55
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
56
56
  with:
57
57
  python-version: ${{ matrix.python-version }}
58
58
  cache: pip
@@ -16,10 +16,10 @@ jobs:
16
16
 
17
17
  steps:
18
18
  - name: Checkout code
19
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5
19
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5
20
20
 
21
21
  - name: Set up Python
22
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
22
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
23
23
  with:
24
24
  python-version: '3.x'
25
25
 
@@ -14,10 +14,10 @@ jobs:
14
14
  python-version: ['3.11']
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5
17
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5
18
18
 
19
19
  - name: Set up Python ${{ matrix.python-version }}
20
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
20
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
21
21
  with:
22
22
  python-version: ${{ matrix.python-version }}
23
23
 
@@ -39,7 +39,7 @@ jobs:
39
39
 
40
40
  steps:
41
41
  - name: Checkout code
42
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
42
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
43
43
 
44
44
  - name: Set up Docker Buildx
45
45
  uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: DeepFabric
3
- Version: 4.9.0
3
+ Version: 4.10.0
4
4
  Summary: Curate High Quality Datasets, Train, Evaluate and Ship
5
5
  Author-email: DeepFabric Team <oss@alwaysfurther.ai>
6
6
  License-File: LICENSE
@@ -25,7 +25,7 @@ Requires-Dist: pyyaml>=6.0.1
25
25
  Requires-Dist: rich>=13.0.0
26
26
  Requires-Dist: sentencepiece>=0.1.99
27
27
  Requires-Dist: spin-sdk>=3.4.1
28
- Requires-Dist: transformers==5.0.0rc2
28
+ Requires-Dist: transformers==5.0.0rc3
29
29
  Provides-Extra: dev
30
30
  Requires-Dist: bandit>=1.7.10; extra == 'dev'
31
31
  Requires-Dist: mermaid-py>=0.2.0; extra == 'dev'
@@ -172,12 +172,12 @@ generation:
172
172
  Provide context on when and why to use specific patterns or libraries.
173
173
  Ensure code is modular, testable, and maintainable.
174
174
 
175
+ # Agent mode is implicit when tools are configured
175
176
  conversation:
176
177
  type: cot # basic | cot
177
178
  reasoning_style: agent # freetext | agent (for cot)
178
- agent_mode: single_turn # single_turn | multi_turn (for agent)
179
-
180
- # Tool configuration (required for agent modes)
179
+
180
+ # Tool configuration (enables agent mode automatically)
181
181
  tools:
182
182
  spin_endpoint: "http://localhost:3000" # Spin service for tool execution
183
183
  components: # Map component name to tool names
@@ -535,7 +535,6 @@ generation:
535
535
  conversation:
536
536
  type: cot
537
537
  reasoning_style: agent
538
- agent_mode: single_turn
539
538
 
540
539
  tools:
541
540
  spin_endpoint: "http://localhost:3000" # Spin service URL
@@ -125,12 +125,12 @@ generation:
125
125
  Provide context on when and why to use specific patterns or libraries.
126
126
  Ensure code is modular, testable, and maintainable.
127
127
 
128
+ # Agent mode is implicit when tools are configured
128
129
  conversation:
129
130
  type: cot # basic | cot
130
131
  reasoning_style: agent # freetext | agent (for cot)
131
- agent_mode: single_turn # single_turn | multi_turn (for agent)
132
-
133
- # Tool configuration (required for agent modes)
132
+
133
+ # Tool configuration (enables agent mode automatically)
134
134
  tools:
135
135
  spin_endpoint: "http://localhost:3000" # Spin service for tool execution
136
136
  components: # Map component name to tool names
@@ -488,7 +488,6 @@ generation:
488
488
  conversation:
489
489
  type: cot
490
490
  reasoning_style: agent
491
- agent_mode: single_turn
492
491
 
493
492
  tools:
494
493
  spin_endpoint: "http://localhost:3000" # Spin service URL
@@ -83,12 +83,14 @@ class BuilderType(BaseModel):
83
83
  # Builder type constants
84
84
  SINGLE_SHOT_BUILDER = BuilderType(name="single_shot", requires_tools=False)
85
85
  SINGLE_TURN_AGENT_BUILDER = BuilderType(name="single_turn_agent", requires_tools=True)
86
- MULTI_TURN_AGENT_BUILDER = BuilderType(name="multi_turn_agent", requires_tools=True)
87
86
 
88
87
 
89
88
  def determine_builder_type(config: "DataSetGeneratorConfig") -> BuilderType:
90
89
  """Determine the appropriate builder type from configuration.
91
90
 
91
+ Agent mode is implicit when tools are configured (tool_components or custom_tools).
92
+ Single-turn agent mode is used for tool-calling conversations.
93
+
92
94
  Args:
93
95
  config: Generator configuration (Pydantic model)
94
96
 
@@ -98,20 +100,10 @@ def determine_builder_type(config: "DataSetGeneratorConfig") -> BuilderType:
98
100
  Raises:
99
101
  ValueError: If configuration is invalid or unsupported
100
102
  """
101
- # Agent mode with tools requires specialized builder
102
- if config.agent_mode:
103
- # Check that tools are configured via tool_components or custom_tools
104
- has_tools = config.tool_components or config.custom_tools
105
- if not has_tools:
106
- msg = "agent_mode requires tools to be configured via tool_components or custom_tools"
107
- raise ValueError(msg)
108
-
109
- if config.agent_mode == "multi_turn":
110
- return MULTI_TURN_AGENT_BUILDER
111
- if config.agent_mode == "single_turn":
112
- return SINGLE_TURN_AGENT_BUILDER
113
- msg = f"Unknown agent_mode: {config.agent_mode}"
114
- raise ValueError(msg)
103
+ # Agent mode is implicit when tools are configured
104
+ has_tools = config.tool_components or config.custom_tools
105
+ if has_tools:
106
+ return SINGLE_TURN_AGENT_BUILDER
115
107
 
116
108
  # Non-agent conversations use single-shot generation
117
109
  if config.conversation_type in ("basic", "cot"):
@@ -293,11 +285,5 @@ class ConversationBuilderFactory:
293
285
  return SingleTurnAgentBuilder(
294
286
  llm, config, cast("ToolRegistry", tool_registry), progress_reporter
295
287
  )
296
- if builder_type == MULTI_TURN_AGENT_BUILDER:
297
- from .builders_agent import MultiTurnAgentBuilder # noqa: PLC0415
298
-
299
- return MultiTurnAgentBuilder(
300
- llm, config, cast("ToolRegistry", tool_registry), progress_reporter
301
- )
302
288
  msg = f"Unknown builder type: {builder_type.name}"
303
289
  raise ValueError(msg)