truefoundry 0.11.0__tar.gz → 0.11.2__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 (387) hide show
  1. {truefoundry-0.11.0 → truefoundry-0.11.2}/PKG-INFO +2 -2
  2. {truefoundry-0.11.0 → truefoundry-0.11.2}/pyproject.toml +2 -2
  3. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/utils.py +9 -3
  4. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/tfy_execute_notebook.py +32 -28
  5. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +15 -50
  6. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/mlfoundry_api.py +21 -27
  7. truefoundry-0.11.0/truefoundry/ml/clients/servicefoundry_client.py +0 -65
  8. {truefoundry-0.11.0 → truefoundry-0.11.2}/.gitignore +0 -0
  9. {truefoundry-0.11.0 → truefoundry-0.11.2}/README.md +0 -0
  10. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/__init__.py +0 -0
  11. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/_ask/__init__.py +0 -0
  12. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/_ask/cli.py +0 -0
  13. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/_ask/client.py +0 -0
  14. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/_ask/llm_utils.py +0 -0
  15. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/_client.py +0 -0
  16. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/__init__.py +0 -0
  17. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/agents/__init__.py +0 -0
  18. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/agents/base.py +0 -0
  19. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/agents/developer.py +0 -0
  20. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  21. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/agents/tester.py +0 -0
  22. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/cli.py +0 -0
  23. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/constants.py +0 -0
  24. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/exception.py +0 -0
  25. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/logger.py +0 -0
  26. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/__init__.py +0 -0
  27. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/ask.py +0 -0
  28. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/base.py +0 -0
  29. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/commit.py +0 -0
  30. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  31. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  32. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  33. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/list_files.py +0 -0
  34. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/read_file.py +0 -0
  35. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/send_request.py +0 -0
  36. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/tools/write_file.py +0 -0
  37. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/utils/client.py +0 -0
  38. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/utils/diff.py +0 -0
  39. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  40. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/__init__.py +0 -0
  41. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/__main__.py +0 -0
  42. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/config.py +0 -0
  43. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/console.py +0 -0
  44. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/const.py +0 -0
  45. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/display_util.py +0 -0
  46. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/cli/util.py +0 -0
  47. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/__init__.py +0 -0
  48. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/auth_service_client.py +0 -0
  49. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/constants.py +0 -0
  50. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/credential_file_manager.py +0 -0
  51. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/credential_provider.py +0 -0
  52. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/entities.py +0 -0
  53. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/exceptions.py +0 -0
  54. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/request_utils.py +0 -0
  55. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/servicefoundry_client.py +0 -0
  56. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/session.py +0 -0
  57. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/storage_provider_utils.py +0 -0
  58. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/types.py +0 -0
  59. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/common/warnings.py +0 -0
  60. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/__init__.py +0 -0
  61. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/_autogen/models.py +0 -0
  62. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/__init__.py +0 -0
  63. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  64. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  65. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  66. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  67. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  68. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  69. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/__init__.py +0 -0
  70. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/dockerfile_template.py +0 -0
  71. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/constants.py +0 -0
  72. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/docker_service.py +0 -0
  73. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/builder/utils.py +0 -0
  74. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/__init__.py +0 -0
  75. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  76. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  77. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  78. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  79. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  80. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  81. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  82. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
  83. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
  84. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  85. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  86. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  87. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  88. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  89. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  90. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  91. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/cli/commands/utils.py +0 -0
  92. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/core/__init__.py +0 -0
  93. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/core/login.py +0 -0
  94. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/core/logout.py +0 -0
  95. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/io/__init__.py +0 -0
  96. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/io/no_output_callback.py +0 -0
  97. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/io/output_callback.py +0 -0
  98. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  99. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/__init__.py +0 -0
  100. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  101. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/clients/servicefoundry_client.py +0 -0
  102. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/const.py +0 -0
  103. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  104. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/application.py +0 -0
  105. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/apply.py +0 -0
  106. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/delete.py +0 -0
  107. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/version.py +0 -0
  108. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  109. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/diff_utils.py +0 -0
  110. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/logs_utils.py +0 -0
  111. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/messages.py +0 -0
  112. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/model/__init__.py +0 -0
  113. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/model/entity.py +0 -0
  114. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/session.py +0 -0
  115. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/util.py +0 -0
  116. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/lib/win32.py +0 -0
  117. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  118. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/__init__.py +0 -0
  119. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  120. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  121. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  122. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  123. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/models.py +0 -0
  124. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  125. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/deploy/v2/lib/source.py +0 -0
  126. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/logger.py +0 -0
  127. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/__init__.py +0 -0
  128. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/__init__.py +0 -0
  129. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/__init__.py +0 -0
  130. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
  131. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
  132. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
  133. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
  134. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
  135. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
  136. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
  137. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  138. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
  139. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
  140. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api_client.py +0 -0
  141. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/api_response.py +0 -0
  142. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/configuration.py +0 -0
  143. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
  144. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
  145. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
  146. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
  147. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
  148. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  149. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
  150. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
  151. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
  152. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
  153. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
  154. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
  155. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
  156. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
  157. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
  158. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
  159. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
  160. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
  161. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
  162. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  163. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  164. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
  165. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
  166. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
  167. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
  168. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
  169. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/command.py +0 -0
  170. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/content.py +0 -0
  171. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
  172. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
  173. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
  174. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
  175. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
  176. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
  177. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
  178. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
  179. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
  180. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
  181. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
  182. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  183. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  184. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  185. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  186. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  187. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
  188. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
  189. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  190. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
  191. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
  192. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
  193. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  194. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
  195. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  196. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
  197. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
  198. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
  199. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
  200. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
  201. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
  202. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
  203. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
  204. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
  205. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
  206. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
  207. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  208. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
  209. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  210. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
  211. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  212. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
  213. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  214. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  215. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  216. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  217. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  218. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  219. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  220. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  221. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
  222. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
  223. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
  224. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
  225. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
  226. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
  227. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
  228. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
  229. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
  230. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
  231. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
  232. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  233. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  234. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
  235. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
  236. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
  237. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
  238. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
  239. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
  240. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  241. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  242. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  243. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  244. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  245. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
  246. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
  247. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
  248. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
  249. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
  250. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
  251. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  252. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
  253. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
  254. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
  255. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
  256. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
  257. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
  258. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
  259. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
  260. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
  261. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/method.py +0 -0
  262. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
  263. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
  264. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
  265. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
  266. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
  267. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
  268. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
  269. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
  270. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
  271. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
  272. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
  273. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
  274. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
  275. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  276. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  277. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
  278. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
  279. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
  280. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
  281. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
  282. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
  283. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  284. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
  285. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
  286. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
  287. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
  288. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
  289. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
  290. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
  291. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
  292. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
  293. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
  294. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  295. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
  296. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
  297. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
  298. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
  299. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
  300. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/source.py +0 -0
  301. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
  302. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
  303. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
  304. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
  305. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
  306. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
  307. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
  308. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
  309. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
  310. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
  311. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/text.py +0 -0
  312. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
  313. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
  314. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  315. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  316. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
  317. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
  318. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
  319. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
  320. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
  321. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
  322. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
  323. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/url.py +0 -0
  324. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
  325. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  326. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  327. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
  328. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
  329. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
  330. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
  331. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
  332. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client/rest.py +0 -0
  333. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/client_README.md +0 -0
  334. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
  335. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/models/__init__.py +0 -0
  336. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
  337. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/models/schema.py +0 -0
  338. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/models/signature.py +0 -0
  339. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/_autogen/models/utils.py +0 -0
  340. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/artifact/__init__.py +0 -0
  341. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/__init__.py +0 -0
  342. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/cli.py +0 -0
  343. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/commands/__init__.py +0 -0
  344. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/commands/download.py +0 -0
  345. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/commands/model_init.py +0 -0
  346. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/cli/utils.py +0 -0
  347. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/clients/__init__.py +0 -0
  348. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/constants.py +0 -0
  349. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/entities.py +0 -0
  350. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/enums.py +0 -0
  351. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/exceptions.py +0 -0
  352. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/git_info.py +0 -0
  353. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/internal_namespace.py +0 -0
  354. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/__init__.py +0 -0
  355. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  356. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  357. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  358. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  359. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  360. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  361. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/image/__init__.py +0 -0
  362. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/image/constants.py +0 -0
  363. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/image/image.py +0 -0
  364. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  365. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/image/types.py +0 -0
  366. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/plot.py +0 -0
  367. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  368. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/log_types/utils.py +0 -0
  369. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/logger.py +0 -0
  370. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/mlfoundry_run.py +0 -0
  371. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/model_framework.py +0 -0
  372. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/prompt_utils.py +0 -0
  373. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/run_utils.py +0 -0
  374. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/session.py +0 -0
  375. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/ml/validation_utils.py +0 -0
  376. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/pydantic_v1.py +0 -0
  377. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/version.py +0 -0
  378. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/__init__.py +0 -0
  379. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/container_task.py +0 -0
  380. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/map_task.py +0 -0
  381. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/python_task.py +0 -0
  382. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  383. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  384. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  385. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  386. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/task.py +0 -0
  387. {truefoundry-0.11.0 → truefoundry-0.11.2}/truefoundry/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.11.0
3
+ Version: 0.11.2
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -30,7 +30,7 @@ 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.5
33
+ Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.7
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "truefoundry"
3
- version = "0.11.0" # This is a placeholder version, it will be replaced when releasing
3
+ version = "0.11.2" # 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.5,<0.2.0",
34
+ "truefoundry-sdk>=0.1.7,<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",
@@ -16,6 +16,7 @@ from truefoundry.common.constants import (
16
16
  API_SERVER_RELATIVE_PATH,
17
17
  ENV_VARS,
18
18
  MLFOUNDRY_SERVER_RELATIVE_PATH,
19
+ TFY_API_KEY_ENV_KEY,
19
20
  TFY_DEBUG_ENV_KEY,
20
21
  TFY_HOST_ENV_KEY,
21
22
  TFY_INTERNAL_ENV_KEY,
@@ -113,9 +114,14 @@ def validate_tfy_host(tfy_host: str) -> None:
113
114
  def resolve_tfy_host(tfy_host: Optional[str] = None) -> str:
114
115
  tfy_host = tfy_host or ENV_VARS.TFY_HOST
115
116
  if not tfy_host:
116
- raise ValueError(
117
- f"Either `host` should be provided using `--host <value>`, or `{TFY_HOST_ENV_KEY}` env must be set"
118
- )
117
+ if ENV_VARS.TFY_API_KEY:
118
+ raise ValueError(
119
+ f"TFY_HOST` env must be set since `{TFY_API_KEY_ENV_KEY}` env is set. Either set `{TFY_HOST_ENV_KEY}` or unset `{TFY_API_KEY_ENV_KEY}` and login"
120
+ )
121
+ else:
122
+ raise ValueError(
123
+ f"Either `host` should be provided using `--host <value>`, or `{TFY_HOST_ENV_KEY}` env must be set"
124
+ )
119
125
  tfy_host = tfy_host.strip("/")
120
126
  validate_tfy_host(tfy_host)
121
127
  return tfy_host
@@ -45,16 +45,9 @@ def upload_file_to_s3(file_path, bucket_name, s3_key):
45
45
  # Use s3proxy for pushing data to s3
46
46
  # The JWT token is already available in the pod
47
47
  aws_access_key_id = os.environ.get("SPARK_APPLICATION_EVENT_LOG_JWT_TOKEN")
48
- aws_secret_access_key = "__token__"
48
+ aws_secret_access_key = os.environ.get("TFY_NOTEBOOK_OUTPUT_S3_SECRET_KEY")
49
49
  s3_endpoint_url = os.environ.get("S3_PROXY_URL")
50
50
 
51
- if not aws_access_key_id:
52
- raise ValueError(
53
- "SPARK_APPLICATION_EVENT_LOG_JWT_TOKEN environment variable is not set"
54
- )
55
- if not s3_endpoint_url:
56
- raise ValueError("S3_PROXY_URL environment variable is not set")
57
-
58
51
  # Needed for the issue https://github.com/gaul/s3proxy/issues/765
59
52
  s3_config = Config(
60
53
  request_checksum_calculation="when_required",
@@ -106,7 +99,22 @@ def execute_notebook(notebook_path, output_path="/tmp/output.ipynb", parameters=
106
99
  stderr_file=sys.stderr,
107
100
  )
108
101
  print(f"Successfully executed notebook: {notebook_path}")
109
- return output_path
102
+
103
+
104
+ def validate_env_vars():
105
+ keys = [
106
+ "TFY_NOTEBOOK_OUTPUT_S3_KEY",
107
+ "TFY_NOTEBOOK_OUTPUT_S3_BUCKET",
108
+ "SPARK_APPLICATION_EVENT_LOG_JWT_TOKEN",
109
+ "TFY_NOTEBOOK_OUTPUT_S3_SECRET_KEY",
110
+ ]
111
+ unset_keys = [key for key in keys if not os.environ.get(key)]
112
+ if unset_keys:
113
+ raise ValueError(
114
+ f"Environment variables {unset_keys} are not set."
115
+ f"Contact you tenant-admin to configure storage bucket on the control plane "
116
+ f"to enable uploading spark notebook outputs."
117
+ )
110
118
 
111
119
 
112
120
  if __name__ == "__main__":
@@ -116,35 +124,31 @@ if __name__ == "__main__":
116
124
  parser.add_argument("notebook_path", help="Path to the notebook file to execute")
117
125
  args = parser.parse_args()
118
126
 
127
+ # Since failure to upload is considered a job failure, fail the job even before it run if uploads cannot happen
128
+ validate_env_vars()
129
+
119
130
  output_notebook_path = "/tmp/output.ipynb"
120
131
 
121
132
  # This would be the same as the default bucket used by servicefoundry-server
122
133
  s3_bucket = os.environ.get("TFY_NOTEBOOK_OUTPUT_S3_BUCKET")
123
- # This would be something like sparkjob-events/<tenant-id>
124
- s3_key_prefix = os.environ.get("TFY_NOTEBOOK_OUTPUT_S3_KEY_PREFIX")
134
+ # This would be something like sparkjob-events/<tenant-id>/output-notebooks/<application-id>/<jobrun-name>/output.html
135
+ s3_key = os.environ.get("TFY_NOTEBOOK_OUTPUT_S3_KEY")
125
136
 
126
137
  try:
127
- executed_notebook_path = execute_notebook(
128
- args.notebook_path, output_path=output_notebook_path
129
- )
138
+ execute_notebook(args.notebook_path, output_path=output_notebook_path)
130
139
 
131
140
  # The following may also be modeled as an entrypoint
132
141
  # https://papermill.readthedocs.io/en/latest/extending-entry-points.html
133
142
  # Will take that up with next iteration where we save the executed notebook periodically
134
- if s3_bucket and s3_key_prefix:
135
- print("Converting notebook to HTML and uploading to S3...")
136
- html_output_path = "/tmp/output.html"
137
- convert_notebook_to_html(
138
- notebook_path=executed_notebook_path, output_html_path=html_output_path
139
- )
140
-
141
- # Construct S3 key: use the original notebook name for the HTML file
142
- notebook_name = os.path.basename(args.notebook_path)
143
- s3_html_key = f"{s3_key_prefix}/output.html"
144
- upload_file_to_s3(
145
- file_path=html_output_path, bucket_name=s3_bucket, s3_key=s3_html_key
146
- )
147
- print(f"Successfully uploaded HTML to s3://{s3_bucket}/{s3_html_key}")
143
+ print("Converting notebook to HTML and uploading to S3...")
144
+ html_output_path = "/tmp/output.html"
145
+ convert_notebook_to_html(
146
+ notebook_path=output_notebook_path, output_html_path=html_output_path
147
+ )
148
+ upload_file_to_s3(
149
+ file_path=html_output_path, bucket_name=s3_bucket, s3_key=s3_key
150
+ )
151
+ print(f"Successfully uploaded HTML to s3://{s3_bucket}/{s3_key}")
148
152
 
149
153
  except Exception as e:
150
154
  print(f"Error executing notebook {args.notebook_path}: {e}")
@@ -6,17 +6,7 @@ import uuid
6
6
  from concurrent.futures import FIRST_EXCEPTION, Future, ThreadPoolExecutor, wait
7
7
  from shutil import rmtree
8
8
  from threading import Event
9
- from typing import (
10
- Any,
11
- Callable,
12
- Dict,
13
- Iterator,
14
- List,
15
- Optional,
16
- Sequence,
17
- Tuple,
18
- Union,
19
- )
9
+ from typing import Any, Callable, Dict, Iterator, List, Optional, Sequence, Tuple
20
10
  from urllib.parse import unquote
21
11
  from urllib.request import pathname2url
22
12
 
@@ -31,6 +21,7 @@ from rich.progress import (
31
21
  )
32
22
  from tqdm.utils import CallbackIOWrapper
33
23
  from truefoundry_sdk import (
24
+ FileInfo,
34
25
  MultiPartUploadResponse,
35
26
  MultiPartUploadStorageProvider,
36
27
  Operation,
@@ -52,11 +43,6 @@ from truefoundry.common.storage_provider_utils import (
52
43
  )
53
44
  from truefoundry.ml._autogen.client import ( # type: ignore[attr-defined]
54
45
  ApiClient,
55
- FileInfoDto,
56
- ListFilesForArtifactVersionRequestDto,
57
- ListFilesForArtifactVersionsResponseDto,
58
- ListFilesForDatasetRequestDto,
59
- ListFilesForDatasetResponseDto,
60
46
  MlfoundryArtifactsApi,
61
47
  RunArtifactsApi,
62
48
  )
@@ -592,44 +578,23 @@ class MlFoundryArtifactsRepository:
592
578
  progress=progress,
593
579
  )
594
580
 
595
- def _list_files(
596
- self, artifact_identifier: ArtifactIdentifier, path, page_size, page_token
597
- ) -> Union[ListFilesForDatasetResponseDto, ListFilesForArtifactVersionsResponseDto]:
598
- if artifact_identifier.dataset_fqn:
599
- return self._mlfoundry_artifacts_api.list_files_for_dataset_post(
600
- list_files_for_dataset_request_dto=ListFilesForDatasetRequestDto(
601
- dataset_fqn=artifact_identifier.dataset_fqn,
602
- path=path,
603
- max_results=page_size,
604
- page_token=page_token,
605
- )
606
- )
607
- else:
608
- return self._mlfoundry_artifacts_api.list_files_for_artifact_version_post(
609
- list_files_for_artifact_version_request_dto=ListFilesForArtifactVersionRequestDto(
610
- id=str(artifact_identifier.artifact_version_id),
611
- path=path,
612
- max_results=page_size,
613
- page_token=page_token,
614
- )
615
- )
616
-
617
581
  def list_artifacts(
618
582
  self, path=None, page_size=_LIST_FILES_PAGE_SIZE, **kwargs
619
- ) -> Iterator[FileInfoDto]:
620
- page_token = None
621
- started = False
622
- while not started or page_token is not None:
623
- started = True
624
- page = self._list_files(
625
- artifact_identifier=self.artifact_identifier,
583
+ ) -> Iterator[FileInfo]:
584
+ if self.artifact_identifier.dataset_id:
585
+ for file_info in client.data_directories.list_files(
586
+ id=str(self.artifact_identifier.dataset_id),
626
587
  path=path,
627
- page_size=page_size,
628
- page_token=page_token,
629
- )
630
- for file_info in page.files:
588
+ limit=page_size,
589
+ ):
590
+ yield file_info
591
+ else:
592
+ for file_info in client.artifact_versions.list_files(
593
+ id=str(self.artifact_identifier.artifact_version_id),
594
+ path=path,
595
+ limit=page_size,
596
+ ):
631
597
  yield file_info
632
- page_token = page.next_page_token
633
598
 
634
599
  def _is_directory(self, artifact_path):
635
600
  # TODO: Ideally server should return a flag to indicate if it is a directory
@@ -46,7 +46,6 @@ from truefoundry.ml._autogen.client.exceptions import (
46
46
  ApiException,
47
47
  NotFoundException,
48
48
  )
49
- from truefoundry.ml.clients.servicefoundry_client import ServiceFoundryServiceClient
50
49
  from truefoundry.ml.enums import ModelFramework, ViewType
51
50
  from truefoundry.ml.exceptions import MlFoundryException
52
51
  from truefoundry.ml.internal_namespace import NAMESPACE
@@ -139,7 +138,8 @@ class MlFoundry:
139
138
  except (IndexError, NotFoundError):
140
139
  err_msg = (
141
140
  f"ML Repo Does Not Exist for name: {ml_repo}. You may either "
142
- "create it from the dashboard or using client.create_ml_repo('<ml_repo_name>')"
141
+ f"create it from the dashboard or using "
142
+ f"`client.create_ml_repo(ml_repo='{ml_repo}', storage_integration_fqn='<storage_integration_fqn>')`"
143
143
  )
144
144
  raise MlFoundryException(err_msg) from None
145
145
  except ApiError as e:
@@ -191,7 +191,12 @@ class MlFoundry:
191
191
 
192
192
  client = get_client()
193
193
 
194
- client.create_ml_repo(ml_repo="my-repo")
194
+ client.create_ml_repo(
195
+ ml_repo="my-repo",
196
+ # This controls which bucket is used.
197
+ # You can get this from Platform > Integrations > Copy FQN of any Blob Storage type integration.
198
+ storage_integration_fqn="..."
199
+ )
195
200
  ```
196
201
  """
197
202
  _validate_ml_repo_name(ml_repo_name=name)
@@ -235,28 +240,11 @@ class MlFoundry:
235
240
  raise MlFoundryException(err_msg) from e
236
241
  return
237
242
 
238
- servicefoundry_client = ServiceFoundryServiceClient(
239
- tfy_host=self._api_client.tfy_host,
240
- token=self._api_client.access_token,
241
- )
242
-
243
- assert existing_ml_repo.storage_integration_id is not None
244
- try:
245
- existing_storage_integration = (
246
- servicefoundry_client.get_integration_from_id(
247
- existing_ml_repo.storage_integration_id
248
- )
249
- )
250
- except Exception as e:
251
- raise MlFoundryException(
252
- "Error in getting storage integration for ML Repo"
253
- ) from e
254
-
255
- if existing_storage_integration["fqn"] != storage_integration_fqn:
243
+ if existing_ml_repo.manifest.storage_integration_fqn != storage_integration_fqn:
256
244
  raise MlFoundryException(
257
245
  f"ML Repo with same name already exists with storage integration:"
258
- f"{existing_storage_integration['fqn']}. Cannot update the storage integration to: "
259
- f"{storage_integration_fqn}"
246
+ f"{existing_ml_repo.manifest.storage_integration_fqn!r}. "
247
+ f"Cannot update the storage integration to: {storage_integration_fqn!r}"
260
248
  )
261
249
 
262
250
  def create_run(
@@ -562,7 +550,8 @@ class MlFoundry:
562
550
  except (IndexError, NotFoundError):
563
551
  raise MlFoundryException(
564
552
  f"ML Repo with name {ml_repo} does not exist. "
565
- "You may either create it from the dashboard or using client.create_ml_repo('<ml_repo_name>')"
553
+ f"You may either create it from the dashboard or using "
554
+ f"`client.create_ml_repo(ml_repo='{ml_repo}', storage_integration_fqn='<storage_integration_fqn>')`"
566
555
  ) from None
567
556
  except ApiError as e:
568
557
  raise MlFoundryException(
@@ -1202,7 +1191,12 @@ class MlFoundry:
1202
1191
  client = get_client()
1203
1192
  ml_repo = "sample-repo"
1204
1193
 
1205
- client.create_ml_repo(ml_repo=ml_repo)
1194
+ client.create_ml_repo(
1195
+ ml_repo=ml_repo,
1196
+ # This controls which bucket is used.
1197
+ # You can get this from Platform > Integrations > Copy FQN of any Blob Storage type integration.
1198
+ storage_integration_fqn="..."
1199
+ )
1206
1200
  client.log_artifact(
1207
1201
  ml_repo=ml_repo,
1208
1202
  name="hello-world-file",
@@ -1301,8 +1295,8 @@ class MlFoundry:
1301
1295
  client.create_ml_repo( # This is only required once
1302
1296
  ml_repo="my-classification-project",
1303
1297
  # This controls which bucket is used.
1304
- # You can get this from Integrations > Blob Storage. `None` picks the default
1305
- storage_integration_fqn=None
1298
+ # You can get this from Platform > Integrations > Copy FQN of any Blob Storage type integration.
1299
+ storage_integration_fqn="..."
1306
1300
  )
1307
1301
  model_version = client.log_model(
1308
1302
  ml_repo="my-classification-project",
@@ -1,65 +0,0 @@
1
- import functools
2
-
3
- from truefoundry.common.constants import (
4
- SERVICEFOUNDRY_CLIENT_MAX_RETRIES,
5
- VERSION_PREFIX,
6
- )
7
- from truefoundry.common.exceptions import HttpRequestException
8
- from truefoundry.common.request_utils import (
9
- http_request,
10
- request_handling,
11
- requests_retry_session,
12
- )
13
- from truefoundry.common.servicefoundry_client import (
14
- ServiceFoundryServiceClient as BaseServiceFoundryServiceClient,
15
- )
16
- from truefoundry.common.utils import get_user_agent
17
- from truefoundry.ml.exceptions import MlFoundryException
18
-
19
-
20
- class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
21
- def __init__(self, tfy_host: str, token: str):
22
- super().__init__(tfy_host=tfy_host)
23
- self._token = token
24
-
25
- @functools.cached_property
26
- def _min_cli_version_required(self) -> str:
27
- # TODO (chiragjn): read the mlfoundry min cli version from the config?
28
- return self.python_sdk_config.truefoundry_cli_min_version
29
-
30
- def get_integration_from_id(self, integration_id: str):
31
- integration_id = integration_id or ""
32
- session = requests_retry_session(retries=SERVICEFOUNDRY_CLIENT_MAX_RETRIES)
33
- response = http_request(
34
- method="get",
35
- url=f"{self._api_server_url}/{VERSION_PREFIX}/provider-accounts/provider-integrations",
36
- token=self._token,
37
- timeout=3,
38
- params={"id": integration_id, "type": "blob-storage"},
39
- session=session,
40
- headers={
41
- "User-Agent": get_user_agent(),
42
- },
43
- )
44
-
45
- try:
46
- result = request_handling(response)
47
- assert isinstance(result, dict)
48
- except HttpRequestException as he:
49
- raise MlFoundryException(
50
- f"Failed to get storage integration from id: {integration_id}. Error: {he.message}",
51
- status_code=he.status_code,
52
- ) from None
53
- except Exception as e:
54
- raise MlFoundryException(
55
- f"Failed to get storage integration from id: {integration_id}. Error: {str(e)}"
56
- ) from None
57
-
58
- data = result.get("data", result.get("providerAccounts"))
59
- # TODO (chiragjn): Parse this using Pydantic
60
- if data and len(data) > 0 and data[0]:
61
- return data[0]
62
- else:
63
- raise MlFoundryException(
64
- f"Invalid storage integration id: {integration_id}"
65
- )
File without changes
File without changes