truefoundry 0.10.4rc4__tar.gz → 0.10.6__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.

Potentially problematic release.


This version of truefoundry might be problematic. Click here for more details.

Files changed (388) hide show
  1. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/PKG-INFO +3 -3
  2. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/pyproject.toml +3 -3
  3. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/__init__.py +2 -0
  4. truefoundry-0.10.6/truefoundry/_ask/cli.py +156 -0
  5. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/util.py +1 -1
  6. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/warnings.py +8 -0
  7. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/__init__.py +1 -0
  8. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/_autogen/models.py +14 -3
  9. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/patched_models.py +6 -0
  10. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/artifact.py +19 -3
  11. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/constants.py +2 -0
  12. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/model.py +7 -0
  13. truefoundry-0.10.4rc4/truefoundry/_ask/cli.py +0 -148
  14. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/.gitignore +0 -0
  15. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/README.md +0 -0
  16. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/_ask/__init__.py +0 -0
  17. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/_ask/client.py +0 -0
  18. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/_ask/llm_utils.py +0 -0
  19. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/_client.py +0 -0
  20. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/__init__.py +0 -0
  21. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/agents/__init__.py +0 -0
  22. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/agents/base.py +0 -0
  23. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/agents/developer.py +0 -0
  24. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  25. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/agents/tester.py +0 -0
  26. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/cli.py +0 -0
  27. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/constants.py +0 -0
  28. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/exception.py +0 -0
  29. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/logger.py +0 -0
  30. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/__init__.py +0 -0
  31. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/ask.py +0 -0
  32. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/base.py +0 -0
  33. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/commit.py +0 -0
  34. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  35. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  36. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  37. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/list_files.py +0 -0
  38. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/read_file.py +0 -0
  39. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/send_request.py +0 -0
  40. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/tools/write_file.py +0 -0
  41. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/utils/client.py +0 -0
  42. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/utils/diff.py +0 -0
  43. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  44. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/__init__.py +0 -0
  45. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/__main__.py +0 -0
  46. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/config.py +0 -0
  47. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/console.py +0 -0
  48. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/const.py +0 -0
  49. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/cli/display_util.py +0 -0
  50. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/__init__.py +0 -0
  51. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/auth_service_client.py +0 -0
  52. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/constants.py +0 -0
  53. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/credential_file_manager.py +0 -0
  54. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/credential_provider.py +0 -0
  55. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/entities.py +0 -0
  56. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/exceptions.py +0 -0
  57. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/request_utils.py +0 -0
  58. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/servicefoundry_client.py +0 -0
  59. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/session.py +0 -0
  60. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/storage_provider_utils.py +0 -0
  61. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/types.py +0 -0
  62. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/common/utils.py +0 -0
  63. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/__init__.py +0 -0
  64. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  65. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  66. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  67. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  68. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  69. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  70. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/__init__.py +0 -0
  71. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/dockerfile_template.py +0 -0
  72. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/tfy_execute_notebook.py +0 -0
  73. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/constants.py +0 -0
  74. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/docker_service.py +0 -0
  75. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/builder/utils.py +0 -0
  76. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/__init__.py +0 -0
  77. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  78. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  79. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  80. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  81. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  82. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  83. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  84. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
  85. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
  86. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  87. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  88. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  89. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  90. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  91. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  92. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  93. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/cli/commands/utils.py +0 -0
  94. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/core/__init__.py +0 -0
  95. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/core/login.py +0 -0
  96. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/core/logout.py +0 -0
  97. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/io/__init__.py +0 -0
  98. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/io/no_output_callback.py +0 -0
  99. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/io/output_callback.py +0 -0
  100. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  101. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/__init__.py +0 -0
  102. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  103. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/clients/servicefoundry_client.py +0 -0
  104. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/const.py +0 -0
  105. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  106. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/application.py +0 -0
  107. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/apply.py +0 -0
  108. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/delete.py +0 -0
  109. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/version.py +0 -0
  110. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  111. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/diff_utils.py +0 -0
  112. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/logs_utils.py +0 -0
  113. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/messages.py +0 -0
  114. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/model/__init__.py +0 -0
  115. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/model/entity.py +0 -0
  116. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/session.py +0 -0
  117. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/util.py +0 -0
  118. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/lib/win32.py +0 -0
  119. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  120. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/__init__.py +0 -0
  121. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  122. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  123. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  124. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  125. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/models.py +0 -0
  126. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/deploy/v2/lib/source.py +0 -0
  127. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/logger.py +0 -0
  128. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/__init__.py +0 -0
  129. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/__init__.py +0 -0
  130. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/__init__.py +0 -0
  131. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
  132. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
  133. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
  134. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
  135. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
  136. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
  137. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
  138. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  139. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
  140. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
  141. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api_client.py +0 -0
  142. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/api_response.py +0 -0
  143. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/configuration.py +0 -0
  144. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
  145. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
  146. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
  147. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
  148. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
  149. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  150. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
  151. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
  152. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
  153. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
  154. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
  155. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
  156. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
  157. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
  158. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
  159. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
  160. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
  161. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
  162. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
  163. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  164. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  165. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
  166. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
  167. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
  168. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
  169. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
  170. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/command.py +0 -0
  171. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/content.py +0 -0
  172. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
  173. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
  174. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
  175. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
  176. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
  177. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
  178. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
  179. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
  180. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
  181. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
  182. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
  183. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  184. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  185. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  186. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  187. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  188. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
  189. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
  190. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  191. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
  192. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
  193. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
  194. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  195. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
  196. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  197. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
  198. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
  199. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
  200. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
  201. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
  202. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
  203. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
  204. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
  205. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
  206. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
  207. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
  208. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  209. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
  210. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  211. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
  212. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  213. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
  214. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  215. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  216. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  217. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  218. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  219. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  220. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  221. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  222. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
  223. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
  224. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
  225. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
  226. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
  227. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
  228. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
  229. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
  230. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
  231. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
  232. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
  233. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  234. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  235. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
  236. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
  237. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
  238. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
  239. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
  240. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
  241. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  242. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  243. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  244. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  245. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  246. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
  247. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
  248. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
  249. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
  250. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
  251. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
  252. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  253. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
  254. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
  255. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
  256. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
  257. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
  258. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
  259. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
  260. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
  261. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
  262. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/method.py +0 -0
  263. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
  264. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
  265. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
  266. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
  267. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
  268. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
  269. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
  270. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
  271. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
  272. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
  273. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
  274. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
  275. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
  276. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  277. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  278. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
  279. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
  280. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
  281. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
  282. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
  283. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
  284. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  285. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
  286. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
  287. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
  288. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
  289. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
  290. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
  291. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
  292. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
  293. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
  294. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
  295. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  296. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
  297. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
  298. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
  299. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
  300. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
  301. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/source.py +0 -0
  302. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
  303. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
  304. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
  305. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
  306. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
  307. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
  308. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
  309. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
  310. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
  311. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
  312. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/text.py +0 -0
  313. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
  314. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
  315. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  316. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  317. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
  318. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
  319. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
  320. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
  321. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
  322. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
  323. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
  324. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/url.py +0 -0
  325. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
  326. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  327. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  328. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
  329. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
  330. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
  331. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
  332. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
  333. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client/rest.py +0 -0
  334. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/client_README.md +0 -0
  335. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
  336. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/models/__init__.py +0 -0
  337. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
  338. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/models/schema.py +0 -0
  339. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/models/signature.py +0 -0
  340. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/_autogen/models/utils.py +0 -0
  341. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/artifact/__init__.py +0 -0
  342. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  343. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/__init__.py +0 -0
  344. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/cli.py +0 -0
  345. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/commands/__init__.py +0 -0
  346. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/commands/download.py +0 -0
  347. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/commands/model_init.py +0 -0
  348. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/cli/utils.py +0 -0
  349. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/clients/__init__.py +0 -0
  350. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  351. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/constants.py +0 -0
  352. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/entities.py +0 -0
  353. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/enums.py +0 -0
  354. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/exceptions.py +0 -0
  355. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/git_info.py +0 -0
  356. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/internal_namespace.py +0 -0
  357. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/__init__.py +0 -0
  358. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  359. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  360. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  361. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/image/__init__.py +0 -0
  362. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/image/constants.py +0 -0
  363. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/image/image.py +0 -0
  364. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  365. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/image/types.py +0 -0
  366. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/plot.py +0 -0
  367. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  368. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/log_types/utils.py +0 -0
  369. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/logger.py +0 -0
  370. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/mlfoundry_api.py +0 -0
  371. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/mlfoundry_run.py +0 -0
  372. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/model_framework.py +0 -0
  373. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/prompt_utils.py +0 -0
  374. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/run_utils.py +0 -0
  375. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/session.py +0 -0
  376. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/ml/validation_utils.py +0 -0
  377. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/pydantic_v1.py +0 -0
  378. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/version.py +0 -0
  379. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/__init__.py +0 -0
  380. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/container_task.py +0 -0
  381. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/map_task.py +0 -0
  382. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/python_task.py +0 -0
  383. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  384. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  385. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  386. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  387. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/task.py +0 -0
  388. {truefoundry-0.10.4rc4 → truefoundry-0.10.6}/truefoundry/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.10.4rc4
3
+ Version: 0.10.6
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -30,12 +30,12 @@ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
30
30
  Requires-Dist: rich-click<2.0.0,>=1.2.1
31
31
  Requires-Dist: rich<14.0.0,>=13.7.1
32
32
  Requires-Dist: tqdm<5.0.0,>=4.0.0
33
- Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.1
33
+ Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.3
34
34
  Requires-Dist: typing-extensions>=4.0
35
35
  Requires-Dist: urllib3<3,>=1.26.18
36
36
  Requires-Dist: yq<4.0.0,>=3.1.0
37
37
  Provides-Extra: ai
38
- Requires-Dist: mcp==1.9.1; (python_version >= '3.10') and extra == 'ai'
38
+ Requires-Dist: mcp==1.9.4; (python_version >= '3.10') and extra == 'ai'
39
39
  Provides-Extra: workflow
40
40
  Requires-Dist: flytekit==1.15.3; (python_version >= '3.9' and python_version < '3.13') and extra == 'workflow'
41
41
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "truefoundry"
3
- version = "0.10.4rc4" # This is a placeholder version, it will be replaced when releasing
3
+ version = "0.10.6" # This is a placeholder version, it will be replaced when releasing
4
4
  requires-python = ">=3.8.1,<3.14"
5
5
  description = "TrueFoundry CLI"
6
6
  authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
@@ -31,7 +31,7 @@ dependencies = [
31
31
  "rich-click>=1.2.1,<2.0.0",
32
32
  "rich>=13.7.1,<14.0.0",
33
33
  "tqdm>=4.0.0,<5.0.0",
34
- "truefoundry-sdk>=0.1.1,<0.2.0",
34
+ "truefoundry-sdk>=0.1.3,<0.2.0",
35
35
  "typing-extensions>=4.0",
36
36
  "urllib3>=1.26.18,<3",
37
37
  "yq>=3.1.0,<4.0.0",
@@ -43,7 +43,7 @@ dependencies = [
43
43
  [project.optional-dependencies]
44
44
  workflow = ["flytekit==1.15.3 ; python_version >= '3.9' and python_version < '3.13'"]
45
45
  ai = [
46
- "mcp==1.9.1 ; python_version >= '3.10'",
46
+ "mcp==1.9.4 ; python_version >= '3.10'",
47
47
  ]
48
48
 
49
49
  [project.scripts]
@@ -16,11 +16,13 @@ from truefoundry_sdk import (
16
16
  from truefoundry._client import client
17
17
  from truefoundry.common.warnings import (
18
18
  suppress_truefoundry_deprecation_warnings,
19
+ suppress_truefoundry_ml_autogen_warnings,
19
20
  surface_truefoundry_deprecation_warnings,
20
21
  )
21
22
  from truefoundry.deploy.core import login, logout
22
23
  from truefoundry.ml.prompt_utils import render_prompt
23
24
 
25
+ suppress_truefoundry_ml_autogen_warnings()
24
26
  surface_truefoundry_deprecation_warnings()
25
27
 
26
28
  __all__ = [
@@ -0,0 +1,156 @@
1
+ import asyncio
2
+ import logging
3
+ from typing import Callable, Dict, Optional, Tuple, Union
4
+
5
+ import rich_click as click
6
+ from openai import AsyncOpenAI
7
+ from rich.console import Console
8
+
9
+ from truefoundry.cli.config import CliConfig
10
+ from truefoundry.cli.const import COMMAND_CLS
11
+ from truefoundry.cli.util import handle_exception_wrapper, select_cluster
12
+ from truefoundry.common.constants import (
13
+ ENV_VARS,
14
+ TFY_ASK_MODEL_NAME_KEY,
15
+ TFY_ASK_OPENAI_API_KEY_KEY,
16
+ TFY_ASK_OPENAI_BASE_URL_KEY,
17
+ )
18
+ from truefoundry.common.session import Session
19
+ from truefoundry.common.utils import get_tfy_servers_config
20
+
21
+ console = Console()
22
+
23
+
24
+ class CustomAsyncOpenAI(AsyncOpenAI):
25
+ def __init__(
26
+ self, *, api_key: Optional[Union[str, Callable[[], str]]] = None, **kwargs
27
+ ):
28
+ self.__api_key_fn = None
29
+ if isinstance(api_key, str) or api_key is None:
30
+ _api_key = api_key
31
+ else:
32
+ self.__api_key_fn = api_key
33
+ _api_key = self.__api_key_fn()
34
+ super().__init__(api_key=_api_key, **kwargs)
35
+
36
+ @property
37
+ def auth_headers(self) -> Dict[str, str]:
38
+ if self.__api_key_fn is not None:
39
+ api_key = self.__api_key_fn()
40
+ else:
41
+ api_key = self.api_key
42
+ return {"Authorization": f"Bearer {api_key}"}
43
+
44
+
45
+ def _get_openai_client(session: Session) -> Tuple[CustomAsyncOpenAI, str]:
46
+ """
47
+ Returns an AsyncOpenAI client using either user-provided credentials or TrueFoundry LLM gateway.
48
+ """
49
+ if ENV_VARS.TFY_ASK_OPENAI_BASE_URL:
50
+ console.print(
51
+ f"Found custom OpenAI compatible API settings ([green]{TFY_ASK_OPENAI_BASE_URL_KEY}[/green]) in env"
52
+ )
53
+ if ENV_VARS.TFY_ASK_OPENAI_API_KEY:
54
+ console.print(
55
+ f"Found API key ([green]{TFY_ASK_OPENAI_API_KEY_KEY}[/green]) in env"
56
+ )
57
+ api_key = ENV_VARS.TFY_ASK_OPENAI_API_KEY
58
+ else:
59
+ console.print(
60
+ f"No API key found in env, using [yellow]EMPTY[/yellow] as API key"
61
+ f"\n[dim]Tip: To use a different API key, set the env var "
62
+ f"[green]{TFY_ASK_OPENAI_API_KEY_KEY}[/green] to the API key you want to use.[/dim]"
63
+ )
64
+ api_key = "EMPTY"
65
+ base_url = ENV_VARS.TFY_ASK_OPENAI_BASE_URL
66
+ default_model = "gpt-4o"
67
+ else:
68
+ tfy_servers_config = get_tfy_servers_config(session.tfy_host)
69
+ base_url = f"{tfy_servers_config.servicefoundry_server_url}/v1/tfy-ai/proxy/api/inference/openai"
70
+ console.print(
71
+ f"Using TrueFoundry Managed AI."
72
+ f"\n[dim]Tip: To use your own OpenAI API compatible API for the ask command, set the following env vars"
73
+ f"\n * [green]{TFY_ASK_OPENAI_BASE_URL_KEY}[/] to the base URL of your OpenAI compatible API. E.g. [yellow]https://api.openai.com/v1[/yellow]"
74
+ f"\n * [green]{TFY_ASK_OPENAI_API_KEY_KEY}[/] to the API key of your OpenAI compatible API."
75
+ f"[/dim]"
76
+ )
77
+ console.print("")
78
+
79
+ api_key = lambda: session.access_token # noqa: E731
80
+ default_model = "tfy-ai-openai/gpt-4o"
81
+ client = CustomAsyncOpenAI(
82
+ base_url=base_url,
83
+ api_key=api_key,
84
+ )
85
+ if ENV_VARS.TFY_ASK_MODEL_NAME:
86
+ openai_model = ENV_VARS.TFY_ASK_MODEL_NAME
87
+ console.print(
88
+ f"Using custom model from env [green]{TFY_ASK_MODEL_NAME_KEY}[/green]: [yellow]{openai_model}[/yellow]"
89
+ )
90
+ else:
91
+ openai_model = default_model
92
+ console.print(
93
+ f"Using default model: [yellow]{openai_model}[/yellow]"
94
+ f"\n[dim]Tip: To use a different model, set the env var "
95
+ f"[green]{TFY_ASK_MODEL_NAME_KEY}[/green] to the model name you want to use.[/dim]"
96
+ )
97
+ console.print("")
98
+
99
+ if ENV_VARS.TFY_ASK_OPENAI_BASE_URL:
100
+ console.print(
101
+ "[dim][yellow]This operation will use tokens from your model provider and may incur costs.[/yellow][/dim]"
102
+ )
103
+ console.print("")
104
+ return client, openai_model
105
+
106
+
107
+ @click.command(name="ask", cls=COMMAND_CLS)
108
+ @click.option(
109
+ "-c",
110
+ "--cluster",
111
+ type=str,
112
+ required=False,
113
+ help="The cluster id from TrueFoundry. If not provided, an interactive prompt will list available clusters",
114
+ )
115
+ @click.pass_context
116
+ @handle_exception_wrapper
117
+ def ask_command(ctx, cluster: str) -> None:
118
+ """
119
+ Ask questions related to your Cluster in TrueFoundry.
120
+ """
121
+ from truefoundry._ask.client import ask_client
122
+
123
+ debug = CliConfig.debug
124
+ if debug:
125
+ _mcp_logger = logging.getLogger("mcp")
126
+ _mcp_logger.setLevel(logging.DEBUG)
127
+ _mcp_logger.addHandler(logging.StreamHandler())
128
+
129
+ session = Session.new()
130
+ console.print(
131
+ "\n[bold green]Welcome to the Ask Command![/bold green]\n"
132
+ "Use this command to ask questions and troubleshoot issues in your Kubernetes cluster managed by the TrueFoundry Control Plane.\n"
133
+ "It helps you investigate and identify potential problems across services, pods, deployments, and more.\n"
134
+ )
135
+ openai_client, openai_model = _get_openai_client(session=session)
136
+ if not cluster:
137
+ console.print(
138
+ "[dim]Tip: You can specify a cluster using the '--cluster' option, or select one interactively from the list.[/dim]\n"
139
+ )
140
+ cluster = select_cluster(cluster)
141
+ tfy_servers_config = get_tfy_servers_config(session.tfy_host)
142
+ mcp_server_url = f"{tfy_servers_config.servicefoundry_server_url}/v1/k8s-mcp"
143
+ asyncio.run(
144
+ ask_client(
145
+ cluster=cluster,
146
+ server_url=mcp_server_url,
147
+ token=session.access_token,
148
+ openai_client=openai_client,
149
+ openai_model=openai_model,
150
+ debug=debug,
151
+ )
152
+ )
153
+
154
+
155
+ def get_ask_command():
156
+ return ask_command
@@ -109,7 +109,7 @@ def print_dict_as_table_panel(
109
109
  ):
110
110
  table = Table(show_header=False, box=None)
111
111
  table.add_column("Key", style=f"bold {key_color}", width=15)
112
- table.add_column("Value")
112
+ table.add_column("Value", overflow="fold")
113
113
  for key, value in dct.items():
114
114
  table.add_row(key, value)
115
115
  console.print(
@@ -19,3 +19,11 @@ def suppress_truefoundry_deprecation_warnings() -> None:
19
19
  "ignore",
20
20
  category=TrueFoundryDeprecationWarning,
21
21
  )
22
+
23
+
24
+ def suppress_truefoundry_ml_autogen_warnings() -> None:
25
+ """Mute TrueFoundry ML autogen warnings."""
26
+ warnings.filterwarnings(
27
+ "ignore",
28
+ module="truefoundry.ml._autogen",
29
+ )
@@ -118,6 +118,7 @@ from truefoundry.deploy.v2.lib.patched_models import (
118
118
  SparkImageBuild,
119
119
  SparkJobJavaEntrypoint,
120
120
  SparkJobPythonEntrypoint,
121
+ SparkJobPythonNotebookEntrypoint,
121
122
  SparkJobScalaEntrypoint,
122
123
  SQSInputConfig,
123
124
  SQSOutputConfig,
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2025-06-09T12:01:27+00:00
3
+ # timestamp: 2025-06-18T21:24:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -908,7 +908,7 @@ class SparkImageBuild(BaseModel):
908
908
  None,
909
909
  description="FQN of the container registry. If you can't find your registry here,\nadd it through the [Integrations](/integrations?tab=docker-registry) page",
910
910
  )
911
- build_source: GitSource
911
+ build_source: Union[GitSource, RemoteSource] = Field(..., description="")
912
912
  build_spec: SparkBuild
913
913
 
914
914
 
@@ -936,6 +936,14 @@ class SparkJobPythonEntrypoint(BaseModel):
936
936
  )
937
937
 
938
938
 
939
+ class SparkJobPythonNotebookEntrypoint(BaseModel):
940
+ type: Literal["python-notebook"] = Field(..., description="")
941
+ main_application_file: str = Field(
942
+ ...,
943
+ description="The main application file to be executed by the spark job. Relative path in case of git repository.",
944
+ )
945
+
946
+
939
947
  class SparkJobScalaEntrypoint(BaseModel):
940
948
  type: Literal["scala"] = Field(..., description="")
941
949
  main_application_file: str = Field(
@@ -1449,7 +1457,10 @@ class SparkJob(BaseModel):
1449
1457
  description="The image to use for driver and executors. Must have spark installed. Spark version must match the version in the image.",
1450
1458
  )
1451
1459
  entrypoint: Union[
1452
- SparkJobPythonEntrypoint, SparkJobScalaEntrypoint, SparkJobJavaEntrypoint
1460
+ SparkJobPythonEntrypoint,
1461
+ SparkJobScalaEntrypoint,
1462
+ SparkJobJavaEntrypoint,
1463
+ SparkJobPythonNotebookEntrypoint,
1453
1464
  ] = Field(..., description="")
1454
1465
  driver_config: SparkDriverConfig
1455
1466
  executor_config: SparkExecutorConfig
@@ -520,3 +520,9 @@ class SparkJobPythonEntrypoint(models.SparkJobPythonEntrypoint, PatchedModelBase
520
520
 
521
521
  class SparkJobJavaEntrypoint(models.SparkJobJavaEntrypoint, PatchedModelBase):
522
522
  type: Literal["java"] = "java"
523
+
524
+
525
+ class SparkJobPythonNotebookEntrypoint(
526
+ models.SparkJobPythonNotebookEntrypoint, PatchedModelBase
527
+ ):
528
+ type: Literal["python-notebook"] = "python-notebook"
@@ -29,7 +29,10 @@ from truefoundry.ml.artifact.truefoundry_artifact_repo import (
29
29
  MlFoundryArtifactsRepository,
30
30
  )
31
31
  from truefoundry.ml.exceptions import MlFoundryException
32
- from truefoundry.ml.log_types.artifacts.constants import INTERNAL_METADATA_PATH
32
+ from truefoundry.ml.log_types.artifacts.constants import (
33
+ ARTIFACT_METADATA_TRUEFOUNDRY_KEY,
34
+ INTERNAL_METADATA_PATH,
35
+ )
33
36
  from truefoundry.ml.log_types.artifacts.utils import (
34
37
  _get_src_dest_pairs,
35
38
  _validate_artifact_metadata,
@@ -455,6 +458,13 @@ def _log_artifact_version_helper(
455
458
  experiment_name=ml_repo
456
459
  ).experiment.experiment_id
457
460
 
461
+ metadata = metadata or {}
462
+ if ARTIFACT_METADATA_TRUEFOUNDRY_KEY not in metadata:
463
+ metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY] = {}
464
+
465
+ _validate_description(description)
466
+ _validate_artifact_metadata(metadata)
467
+
458
468
  assert mlfoundry_artifacts_api is not None
459
469
  _create_artifact_response = mlfoundry_artifacts_api.create_artifact_version_post(
460
470
  create_artifact_version_request_dto=CreateArtifactVersionRequestDto(
@@ -465,7 +475,8 @@ def _log_artifact_version_helper(
465
475
  )
466
476
  version_id = _create_artifact_response.id
467
477
  artifact_storage_root = _create_artifact_response.artifact_storage_root
468
- total_size = 0
478
+ total_size = None
479
+
469
480
  if isinstance(artifact_dir, tempfile.TemporaryDirectory):
470
481
  # Source is of type TrueFoundryManagedSource
471
482
  source = TrueFoundryManagedSource(type="truefoundry", uri=artifact_storage_root)
@@ -502,6 +513,9 @@ def _log_artifact_version_helper(
502
513
  else:
503
514
  raise MlFoundryException("Invalid artifact_dir provided")
504
515
 
516
+ if total_size is not None and total_size > 0:
517
+ metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY]["artifact_size"] = total_size
518
+
505
519
  artifact_manifest = None
506
520
  if artifact_type == ArtifactType.ARTIFACT:
507
521
  _source_cls = get_autogen_type(ArtifactManifest, "source")
@@ -509,11 +523,13 @@ def _log_artifact_version_helper(
509
523
  name=name,
510
524
  ml_repo=ml_repo,
511
525
  description=description,
512
- metadata=metadata or {},
526
+ metadata=metadata,
513
527
  source=_source_cls.from_dict(source.dict()),
514
528
  step=step,
529
+ run_id=run.run_id if run else None,
515
530
  )
516
531
  _manifest_cls = get_autogen_type(FinalizeArtifactVersionRequestDto, "manifest")
532
+
517
533
  finalize_artifact_version_request_dto = FinalizeArtifactVersionRequestDto(
518
534
  id=version_id,
519
535
  run_uuid=run.run_id if run else None,
@@ -31,3 +31,5 @@ model_version = ModelSchema(...) # or schema in dictionary format {{"features":
31
31
  model_version.update()
32
32
  ```
33
33
  """
34
+
35
+ ARTIFACT_METADATA_TRUEFOUNDRY_KEY = ".truefoundry"
@@ -36,6 +36,7 @@ from truefoundry.ml.enums import ModelFramework
36
36
  from truefoundry.ml.exceptions import MlFoundryException
37
37
  from truefoundry.ml.log_types.artifacts.artifact import BlobStorageDirectory
38
38
  from truefoundry.ml.log_types.artifacts.constants import (
39
+ ARTIFACT_METADATA_TRUEFOUNDRY_KEY,
39
40
  INTERNAL_METADATA_PATH,
40
41
  )
41
42
  from truefoundry.ml.log_types.artifacts.utils import (
@@ -547,6 +548,8 @@ def _log_model_version( # noqa: C901
547
548
  step = step or 0
548
549
  total_size = None
549
550
  metadata = metadata or {}
551
+ if ARTIFACT_METADATA_TRUEFOUNDRY_KEY not in metadata:
552
+ metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY] = {}
550
553
 
551
554
  _validate_description(description)
552
555
  _validate_artifact_metadata(metadata)
@@ -617,6 +620,9 @@ def _log_model_version( # noqa: C901
617
620
  else:
618
621
  raise MlFoundryException("Invalid model_file_or_folder provided")
619
622
 
623
+ if total_size is not None and total_size > 0:
624
+ metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY]["artifact_size"] = total_size
625
+
620
626
  _source_cls = get_autogen_type(ModelManifest, "source")
621
627
  # Auto fetch the framework & environment details if not provided
622
628
  framework = _ModelFramework.to_model_framework_type(framework)
@@ -636,6 +642,7 @@ def _log_model_version( # noqa: C901
636
642
  framework=Framework.from_dict(framework.dict()) if framework else None,
637
643
  environment=environment,
638
644
  step=step,
645
+ run_id=run.run_id if run else None,
639
646
  )
640
647
  _manifest_cls = get_autogen_type(FinalizeArtifactVersionRequestDto, "manifest")
641
648
  artifact_version_response = mlfoundry_artifacts_api.finalize_artifact_version_post(
@@ -1,148 +0,0 @@
1
- import asyncio
2
- import logging
3
- from typing import Tuple
4
-
5
- import rich_click as click
6
- from openai import AsyncOpenAI
7
- from rich.console import Console
8
-
9
- from truefoundry.cli.config import CliConfig
10
- from truefoundry.cli.const import COMMAND_CLS
11
- from truefoundry.cli.util import handle_exception_wrapper, select_cluster
12
- from truefoundry.common.constants import (
13
- ENV_VARS,
14
- OPENAI_API_KEY_KEY,
15
- OPENAI_MODEL_KEY,
16
- TFY_ASK_MODEL_NAME_KEY,
17
- TFY_ASK_OPENAI_API_KEY_KEY,
18
- TFY_ASK_OPENAI_BASE_URL_KEY,
19
- )
20
- from truefoundry.common.session import Session
21
- from truefoundry.common.utils import get_tfy_servers_config
22
-
23
- console = Console()
24
-
25
-
26
- def _get_openai_client() -> Tuple[AsyncOpenAI, str]:
27
- """
28
- Returns an AsyncOpenAI client using either user-provided credentials or TrueFoundry LLM gateway.
29
- """
30
- console.print("")
31
- default_model = "gpt-4o"
32
- if ENV_VARS.TFY_ASK_OPENAI_BASE_URL and ENV_VARS.TFY_ASK_OPENAI_API_KEY:
33
- console.print(
34
- f"Found custom OpenAI API settings ([green]{TFY_ASK_OPENAI_BASE_URL_KEY}[/green], [green]{TFY_ASK_OPENAI_API_KEY_KEY}[/green]) in env"
35
- )
36
- client = AsyncOpenAI(
37
- base_url=ENV_VARS.TFY_ASK_OPENAI_BASE_URL,
38
- api_key=ENV_VARS.TFY_ASK_OPENAI_API_KEY,
39
- )
40
- if ENV_VARS.TFY_ASK_MODEL_NAME:
41
- openai_model = ENV_VARS.TFY_ASK_MODEL_NAME
42
- console.print(
43
- f"Using custom OpenAI model from env [green]{TFY_ASK_MODEL_NAME_KEY}[/green]: [yellow]{openai_model}[/yellow]"
44
- )
45
- else:
46
- openai_model = default_model
47
- console.print(
48
- f"Using default OpenAI model: [yellow]{openai_model}[/yellow]"
49
- f"\n[dim]Tip: To use a different model, set the env var "
50
- f"[green]{TFY_ASK_MODEL_NAME_KEY}[/green] to the model name you want to use.[/dim]"
51
- )
52
- console.print(
53
- "[dim][yellow]This operation will use tokens from your model provider and may incur costs.[/yellow][/dim]"
54
- )
55
- console.print("")
56
- return client, openai_model
57
- elif ENV_VARS.OPENAI_API_KEY:
58
- console.print(f"Found [green]{OPENAI_API_KEY_KEY}[/green] in env")
59
- client = AsyncOpenAI(
60
- api_key=ENV_VARS.OPENAI_API_KEY,
61
- )
62
- if ENV_VARS.OPENAI_MODEL:
63
- openai_model = ENV_VARS.OPENAI_MODEL
64
- console.print(
65
- f"Using custom OpenAI model from env [green]{OPENAI_MODEL_KEY}[/green]: [yellow]{openai_model}[/yellow]"
66
- )
67
- else:
68
- openai_model = default_model
69
- console.print(
70
- f"Using default OpenAI model: [yellow]{openai_model}[/yellow]"
71
- f"\n[dim]Tip: To use a different OpenAI model, set the env var "
72
- f"[green]{OPENAI_MODEL_KEY}[/green] to the model name you want to use.[/dim]"
73
- )
74
- console.print(
75
- f"[dim]Tip: To use your own OpenAI API compatible model for the ask command, set the env vars "
76
- f"[green]{TFY_ASK_OPENAI_BASE_URL_KEY}[/], "
77
- f"[green]{TFY_ASK_OPENAI_API_KEY_KEY}[/], and "
78
- f"[green]{TFY_ASK_MODEL_NAME_KEY}[/].[/dim]"
79
- )
80
- console.print(
81
- "[dim][yellow]This operation will use tokens from your OpenAI account and may incur costs.[/yellow][/dim]"
82
- )
83
- console.print("")
84
- return client, openai_model
85
- else:
86
- llm_env_instruction = (
87
- "No OpenAI API Key found in env."
88
- f"\n- To use your own OpenAI API compatible model for the ask command, set the env vars "
89
- f"[green]{TFY_ASK_OPENAI_BASE_URL_KEY}[/], "
90
- f"[green]{TFY_ASK_OPENAI_API_KEY_KEY}[/], and "
91
- f"[green]{TFY_ASK_MODEL_NAME_KEY}[/] (default: {default_model})."
92
- f"\n- Alternatively, you can use OpenAI directly by setting the env vars "
93
- f"[green]{OPENAI_API_KEY_KEY}[/], "
94
- f"[green]{OPENAI_MODEL_KEY}[/] (default: {default_model})"
95
- )
96
- raise ValueError(llm_env_instruction)
97
-
98
-
99
- @click.command(name="ask", cls=COMMAND_CLS)
100
- @click.option(
101
- "-c",
102
- "--cluster",
103
- type=str,
104
- required=False,
105
- help="The cluster id from TrueFoundry. If not provided, an interactive prompt will list available clusters",
106
- )
107
- @click.pass_context
108
- @handle_exception_wrapper
109
- def ask_command(ctx, cluster: str) -> None:
110
- """
111
- Ask questions related to your Cluster in TrueFoundry.
112
- """
113
- from truefoundry._ask.client import ask_client
114
-
115
- debug = CliConfig.debug
116
- if debug:
117
- _mcp_logger = logging.getLogger("mcp")
118
- _mcp_logger.setLevel(logging.DEBUG)
119
- _mcp_logger.addHandler(logging.StreamHandler())
120
-
121
- session = Session.new()
122
- console.print(
123
- "\n[bold green]Welcome to the Ask Command![/bold green]\n"
124
- "Use this command to ask questions and troubleshoot issues in your Kubernetes cluster managed by the TrueFoundry Control Plane.\n"
125
- "It helps you investigate and identify potential problems across services, pods, deployments, and more.\n"
126
- )
127
- openai_client, openai_model = _get_openai_client()
128
- if not cluster:
129
- console.print(
130
- "[dim]Tip: You can specify a cluster using the '--cluster' option, or select one interactively from the list.[/dim]\n"
131
- )
132
- cluster = select_cluster(cluster)
133
- tfy_servers_config = get_tfy_servers_config(session.tfy_host)
134
- mcp_server_url = f"{tfy_servers_config.servicefoundry_server_url}/v1/k8s-mcp"
135
- asyncio.run(
136
- ask_client(
137
- cluster=cluster,
138
- server_url=mcp_server_url,
139
- token=session.access_token,
140
- openai_client=openai_client,
141
- openai_model=openai_model,
142
- debug=debug,
143
- )
144
- )
145
-
146
-
147
- def get_ask_command():
148
- return ask_command
File without changes
File without changes