truefoundry 0.11.9rc1__tar.gz → 0.11.11__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 (393) hide show
  1. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/PKG-INFO +1 -1
  2. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/pyproject.toml +1 -1
  3. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/storage_provider_utils.py +35 -10
  4. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/_autogen/models.py +39 -24
  5. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +3 -1
  6. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/patch_command.py +12 -2
  7. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/patched_models.py +9 -0
  8. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +29 -12
  9. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/artifact.py +3 -2
  10. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/model.py +1 -0
  11. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/.gitignore +0 -0
  12. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/README.md +0 -0
  13. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/__init__.py +0 -0
  14. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/_ask/__init__.py +0 -0
  15. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/_ask/cli.py +0 -0
  16. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/_ask/client.py +0 -0
  17. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/_ask/llm_utils.py +0 -0
  18. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/_client.py +0 -0
  19. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/__init__.py +0 -0
  20. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/agents/__init__.py +0 -0
  21. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/agents/base.py +0 -0
  22. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/agents/developer.py +0 -0
  23. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  24. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/agents/tester.py +0 -0
  25. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/cli.py +0 -0
  26. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/constants.py +0 -0
  27. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/exception.py +0 -0
  28. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/logger.py +0 -0
  29. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/__init__.py +0 -0
  30. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/ask.py +0 -0
  31. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/base.py +0 -0
  32. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/commit.py +0 -0
  33. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  34. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  35. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  36. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/list_files.py +0 -0
  37. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/read_file.py +0 -0
  38. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/send_request.py +0 -0
  39. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/tools/write_file.py +0 -0
  40. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/utils/client.py +0 -0
  41. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/utils/diff.py +0 -0
  42. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  43. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/__init__.py +0 -0
  44. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/__main__.py +0 -0
  45. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/config.py +0 -0
  46. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/console.py +0 -0
  47. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/const.py +0 -0
  48. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/display_util.py +0 -0
  49. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/cli/util.py +0 -0
  50. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/__init__.py +0 -0
  51. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/auth_service_client.py +0 -0
  52. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/constants.py +0 -0
  53. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/credential_file_manager.py +0 -0
  54. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/credential_provider.py +0 -0
  55. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/entities.py +0 -0
  56. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/exceptions.py +0 -0
  57. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/request_utils.py +0 -0
  58. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/servicefoundry_client.py +0 -0
  59. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/session.py +0 -0
  60. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/types.py +0 -0
  61. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/utils.py +0 -0
  62. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/common/warnings.py +0 -0
  63. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/__init__.py +0 -0
  64. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/__init__.py +0 -0
  65. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  66. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  67. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  68. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  69. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  70. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/__init__.py +0 -0
  71. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/dockerfile_template.py +0 -0
  72. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/tfy_execute_notebook.py +0 -0
  73. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_task_pyspark_buildpack/__init__.py +0 -0
  74. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/builders/tfy_task_pyspark_buildpack/dockerfile_template.py +0 -0
  75. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/constants.py +0 -0
  76. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/docker_service.py +0 -0
  77. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/builder/utils.py +0 -0
  78. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/__init__.py +0 -0
  79. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  80. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  81. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  82. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  83. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  84. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  85. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  86. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
  87. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
  88. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  89. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  90. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  91. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  92. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  93. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  94. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/cli/commands/utils.py +0 -0
  95. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/core/__init__.py +0 -0
  96. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/core/login.py +0 -0
  97. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/core/logout.py +0 -0
  98. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/io/__init__.py +0 -0
  99. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/io/no_output_callback.py +0 -0
  100. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/io/output_callback.py +0 -0
  101. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  102. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/__init__.py +0 -0
  103. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  104. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/clients/servicefoundry_client.py +0 -0
  105. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/const.py +0 -0
  106. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  107. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/application.py +0 -0
  108. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/apply.py +0 -0
  109. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/delete.py +0 -0
  110. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/version.py +0 -0
  111. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  112. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/diff_utils.py +0 -0
  113. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/logs_utils.py +0 -0
  114. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/messages.py +0 -0
  115. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/model/__init__.py +0 -0
  116. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/model/entity.py +0 -0
  117. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/session.py +0 -0
  118. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/util.py +0 -0
  119. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/lib/win32.py +0 -0
  120. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  121. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/__init__.py +0 -0
  122. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  123. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  124. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  125. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  126. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/models.py +0 -0
  127. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/deploy/v2/lib/source.py +0 -0
  128. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/logger.py +0 -0
  129. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/__init__.py +0 -0
  130. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/__init__.py +0 -0
  131. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/__init__.py +0 -0
  132. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
  133. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
  134. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
  135. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
  136. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
  137. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
  138. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
  139. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  140. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
  141. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
  142. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api_client.py +0 -0
  143. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/api_response.py +0 -0
  144. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/configuration.py +0 -0
  145. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
  146. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
  147. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
  148. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
  149. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
  150. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  151. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
  152. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
  153. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
  154. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
  155. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
  156. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
  157. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
  158. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
  159. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
  160. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
  161. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
  162. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
  163. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
  164. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  165. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  166. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
  167. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
  168. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
  169. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
  170. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
  171. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/command.py +0 -0
  172. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/content.py +0 -0
  173. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
  174. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
  175. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
  176. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
  177. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
  178. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
  179. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
  180. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
  181. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
  182. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
  183. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
  184. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  185. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  186. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  187. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  188. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  189. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
  190. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
  191. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  192. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
  193. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
  194. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
  195. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  196. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
  197. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  198. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
  199. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
  200. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
  201. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
  202. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
  203. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
  204. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
  205. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
  206. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
  207. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
  208. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
  209. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  210. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
  211. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  212. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
  213. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  214. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
  215. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  216. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  217. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  218. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  219. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  220. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  221. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  222. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  223. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
  224. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
  225. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
  226. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
  227. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
  228. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
  229. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
  230. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
  231. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
  232. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
  233. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
  234. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  235. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  236. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
  237. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
  238. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
  239. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
  240. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
  241. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
  242. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  243. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  244. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  245. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  246. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  247. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
  248. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
  249. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
  250. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
  251. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
  252. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
  253. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  254. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
  255. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
  256. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
  257. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
  258. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
  259. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
  260. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
  261. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
  262. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
  263. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/method.py +0 -0
  264. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
  265. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
  266. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
  267. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
  268. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
  269. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
  270. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
  271. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
  272. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
  273. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
  274. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
  275. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
  276. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
  277. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  278. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  279. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
  280. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
  281. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
  282. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
  283. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
  284. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
  285. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  286. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
  287. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
  288. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
  289. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
  290. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
  291. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
  292. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
  293. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
  294. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
  295. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
  296. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  297. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
  298. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
  299. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
  300. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
  301. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
  302. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/source.py +0 -0
  303. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
  304. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
  305. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
  306. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
  307. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
  308. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
  309. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
  310. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
  311. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
  312. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
  313. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/text.py +0 -0
  314. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
  315. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
  316. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  317. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  318. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
  319. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
  320. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
  321. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
  322. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
  323. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
  324. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
  325. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/url.py +0 -0
  326. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
  327. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  328. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  329. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
  330. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
  331. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
  332. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
  333. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
  334. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client/rest.py +0 -0
  335. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/client_README.md +0 -0
  336. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
  337. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/models/__init__.py +0 -0
  338. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
  339. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/models/schema.py +0 -0
  340. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/models/signature.py +0 -0
  341. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/_autogen/models/utils.py +0 -0
  342. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/artifact/__init__.py +0 -0
  343. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/__init__.py +0 -0
  344. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/cli.py +0 -0
  345. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/commands/__init__.py +0 -0
  346. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/commands/download.py +0 -0
  347. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/commands/model_init.py +0 -0
  348. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/cli/utils.py +0 -0
  349. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/clients/__init__.py +0 -0
  350. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/constants.py +0 -0
  351. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/entities.py +0 -0
  352. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/enums.py +0 -0
  353. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/exceptions.py +0 -0
  354. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/git_info.py +0 -0
  355. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/integrations/__init__.py +0 -0
  356. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/integrations/huggingface/__init__.py +0 -0
  357. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/integrations/huggingface/trainer_callback.py +0 -0
  358. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/internal_namespace.py +0 -0
  359. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/__init__.py +0 -0
  360. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/__init__.py +0 -0
  361. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  362. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  363. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  364. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  365. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/image/__init__.py +0 -0
  366. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/image/constants.py +0 -0
  367. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/image/image.py +0 -0
  368. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  369. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/image/types.py +0 -0
  370. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/plot.py +0 -0
  371. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  372. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/log_types/utils.py +0 -0
  373. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/logger.py +0 -0
  374. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/mlfoundry_api.py +0 -0
  375. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/mlfoundry_run.py +0 -0
  376. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/model_framework.py +0 -0
  377. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/prompt_utils.py +0 -0
  378. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/run_utils.py +0 -0
  379. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/session.py +0 -0
  380. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/ml/validation_utils.py +0 -0
  381. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/pydantic_v1.py +0 -0
  382. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/version.py +0 -0
  383. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/__init__.py +0 -0
  384. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/container_task.py +0 -0
  385. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/map_task.py +0 -0
  386. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/python_task.py +0 -0
  387. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  388. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  389. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  390. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  391. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/spark_task.py +0 -0
  392. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/task.py +0 -0
  393. {truefoundry-0.11.9rc1 → truefoundry-0.11.11}/truefoundry/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.11.9rc1
3
+ Version: 0.11.11
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "truefoundry"
3
- version = "0.11.9rc1" # This is a placeholder version, it will be replaced when releasing
3
+ version = "0.11.11" # 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" }]
@@ -22,6 +22,23 @@ from truefoundry.pydantic_v1 import BaseModel
22
22
  logger = logging.getLogger("truefoundry")
23
23
 
24
24
 
25
+ def truncate_path_for_progress(
26
+ path: str, max_length: int, relpath: bool = False
27
+ ) -> str:
28
+ if relpath:
29
+ path = os.path.relpath(path)
30
+ if len(path) <= max_length:
31
+ return path
32
+ parts = path.split(os.sep)
33
+ result = parts[-1] # start with filename
34
+ i = len(parts) - 2
35
+ # keep prepending directories until adding more would exceed max_len - 3
36
+ while i >= 0 and len(result) + len(parts[i]) + 1 <= max_length - 3:
37
+ result = parts[i] + os.sep + result
38
+ i -= 1
39
+ return "..." + os.sep + result
40
+
41
+
25
42
  class MultiPartUploadStorageProvider(str, Enum):
26
43
  S3_COMPATIBLE = "S3_COMPATIBLE"
27
44
  AZURE_BLOB = "AZURE_BLOB"
@@ -182,7 +199,7 @@ def _file_part_upload(
182
199
  return response
183
200
 
184
201
 
185
- def s3_compatible_multipart_upload(
202
+ def s3_compatible_multipart_upload( # noqa: C901
186
203
  multipart_upload: MultiPartUpload,
187
204
  local_file: str,
188
205
  multipart_info: _FileMultiPartInfo,
@@ -190,13 +207,15 @@ def s3_compatible_multipart_upload(
190
207
  progress_bar: Optional[Progress] = None,
191
208
  abort_event: Optional[Event] = None,
192
209
  exception_class=HttpRequestException,
193
- ):
210
+ ) -> None:
194
211
  abort_event = abort_event or Event()
195
212
  parts = []
196
213
 
197
- if progress_bar:
214
+ if progress_bar is not None:
198
215
  multi_part_upload_progress = progress_bar.add_task(
199
- f"[green]Uploading {local_file}:", start=True
216
+ f"[green] {truncate_path_for_progress(local_file, 64, relpath=True)}",
217
+ start=True,
218
+ visible=True,
200
219
  )
201
220
 
202
221
  def upload(part_number: int, seek: int) -> None:
@@ -221,7 +240,7 @@ def s3_compatible_multipart_upload(
221
240
  multipart_info.num_parts,
222
241
  local_file,
223
242
  )
224
- if progress_bar:
243
+ if progress_bar is not None:
225
244
  progress_bar.update(
226
245
  multi_part_upload_progress,
227
246
  advance=multipart_info.part_size,
@@ -254,10 +273,12 @@ def s3_compatible_multipart_upload(
254
273
  timeout=2 * 60,
255
274
  )
256
275
  response.raise_for_status()
276
+ if progress_bar is not None:
277
+ progress_bar.refresh()
257
278
  logger.debug("Multipart upload of %s completed", local_file)
258
279
 
259
280
 
260
- def azure_multi_part_upload(
281
+ def azure_multi_part_upload( # noqa: C901
261
282
  multipart_upload: MultiPartUpload,
262
283
  local_file: str,
263
284
  multipart_info: _FileMultiPartInfo,
@@ -265,12 +286,14 @@ def azure_multi_part_upload(
265
286
  progress_bar: Optional[Progress] = None,
266
287
  abort_event: Optional[Event] = None,
267
288
  exception_class=HttpRequestException,
268
- ):
289
+ ) -> None:
269
290
  abort_event = abort_event or Event()
270
291
 
271
- if progress_bar:
292
+ if progress_bar is not None:
272
293
  multi_part_upload_progress = progress_bar.add_task(
273
- f"[green]Uploading {local_file}:", start=True
294
+ f"[green] {truncate_path_for_progress(local_file, 64, relpath=True)}",
295
+ start=True,
296
+ visible=True,
274
297
  )
275
298
 
276
299
  def upload(part_number: int, seek: int):
@@ -289,7 +312,7 @@ def azure_multi_part_upload(
289
312
  abort_event=abort_event,
290
313
  exception_class=exception_class,
291
314
  )
292
- if progress_bar:
315
+ if progress_bar is not None:
293
316
  progress_bar.update(
294
317
  multi_part_upload_progress,
295
318
  advance=multipart_info.part_size,
@@ -328,4 +351,6 @@ def azure_multi_part_upload(
328
351
  timeout=2 * 60,
329
352
  )
330
353
  response.raise_for_status()
354
+ if progress_bar is not None:
355
+ progress_bar.refresh()
331
356
  logger.debug("Multipart upload of %s completed", local_file)
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2025-08-06T19:58:42+00:00
3
+ # timestamp: 2025-09-09T12:09:08+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -504,34 +504,49 @@ class Profile(str, Enum):
504
504
  """
505
505
  Name of the MIG profile to use. One of the following based on gpu type
506
506
  Please refer to https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-mig-profiles for more details
507
- A100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb]
508
- A100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb]
509
- H100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb]
510
- H100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb]
507
+ A30 - [1g.6gb, 2g.12gb, 4g.24gb]
508
+ A100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb, 7g.40gb]
509
+ A100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb, 7g.80gb]
510
+ H100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb, 7g.94gb]
511
+ H100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb, 7g.96gb]
511
512
  H200 141 GB - [1g.18gb, 1g.35gb, 2g.35gb, 3g.71gb, 4g.71gb]
513
+ B200 180 GB - [1g.23gb, 1g.45gb, 2g.45gb, 3g.90gb, 4g.90gb, 7g.180gb]
512
514
  """
513
515
 
516
+ field_1g_6gb = "1g.6gb"
517
+ field_2g_12gb = "2g.12gb"
514
518
  field_1g_5gb = "1g.5gb"
515
519
  field_1g_10gb = "1g.10gb"
516
- field_1g_12gb = "1g.12gb"
517
- field_1g_18gb = "1g.18gb"
518
- field_1g_20gb = "1g.20gb"
519
- field_1g_24gb = "1g.24gb"
520
- field_1g_35gb = "1g.35gb"
521
520
  field_2g_10gb = "2g.10gb"
522
- field_2g_20gb = "2g.20gb"
523
- field_2g_24gb = "2g.24gb"
524
- field_2g_35gb = "2g.35gb"
525
521
  field_3g_20gb = "3g.20gb"
526
- field_3g_40gb = "3g.40gb"
527
- field_3g_47gb = "3g.47gb"
528
- field_3g_48gb = "3g.48gb"
529
- field_3g_71gb = "3g.71gb"
530
522
  field_4g_20gb = "4g.20gb"
523
+ field_1g_20gb = "1g.20gb"
524
+ field_2g_20gb = "2g.20gb"
525
+ field_3g_40gb = "3g.40gb"
531
526
  field_4g_40gb = "4g.40gb"
527
+ field_1g_12gb = "1g.12gb"
528
+ field_1g_24gb = "1g.24gb"
529
+ field_2g_24gb = "2g.24gb"
530
+ field_3g_47gb = "3g.47gb"
532
531
  field_4g_47gb = "4g.47gb"
532
+ field_3g_48gb = "3g.48gb"
533
533
  field_4g_48gb = "4g.48gb"
534
+ field_1g_18gb = "1g.18gb"
535
+ field_1g_35gb = "1g.35gb"
536
+ field_2g_35gb = "2g.35gb"
537
+ field_3g_71gb = "3g.71gb"
534
538
  field_4g_71gb = "4g.71gb"
539
+ field_1g_23gb = "1g.23gb"
540
+ field_1g_45gb = "1g.45gb"
541
+ field_2g_45gb = "2g.45gb"
542
+ field_3g_90gb = "3g.90gb"
543
+ field_4g_90gb = "4g.90gb"
544
+ field_4g_24gb = "4g.24gb"
545
+ field_7g_40gb = "7g.40gb"
546
+ field_7g_80gb = "7g.80gb"
547
+ field_7g_94gb = "7g.94gb"
548
+ field_7g_96gb = "7g.96gb"
549
+ field_7g_180gb = "7g.180gb"
535
550
 
536
551
 
537
552
  class NvidiaMIGGPU(BaseModel):
@@ -542,7 +557,7 @@ class NvidiaMIGGPU(BaseModel):
542
557
  )
543
558
  profile: Profile = Field(
544
559
  ...,
545
- description="Name of the MIG profile to use. One of the following based on gpu type\nPlease refer to https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-mig-profiles for more details\nA100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb]\nA100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb]\nH100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb]\nH100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb]\nH200 141 GB - [1g.18gb, 1g.35gb, 2g.35gb, 3g.71gb, 4g.71gb]",
560
+ description="Name of the MIG profile to use. One of the following based on gpu type\nPlease refer to https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-mig-profiles for more details\nA30 - [1g.6gb, 2g.12gb, 4g.24gb]\nA100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb, 7g.40gb]\nA100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb, 7g.80gb]\nH100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb, 7g.94gb]\nH100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb, 7g.96gb]\nH200 141 GB - [1g.18gb, 1g.35gb, 2g.35gb, 3g.71gb, 4g.71gb]\nB200 180 GB - [1g.23gb, 1g.45gb, 2g.45gb, 3g.90gb, 4g.90gb, 7g.180gb]",
546
561
  )
547
562
 
548
563
 
@@ -552,7 +567,7 @@ class NvidiaTimeslicingGPU(BaseModel):
552
567
  None,
553
568
  description="Name of the Nvidia GPU. One of [P4, P100, V100, T4, A10G, A100_40GB, A100_80GB]\nThis field is required for Node Selector and can be ignored in Nodepool Selector.\nOne instance of the card contains the following amount of memory -\nP4: 8 GB, P100: 16 GB, V100: 16 GB, T4: 16 GB, A10G: 24 GB, A100_40GB: 40GB, A100_80GB: 80 GB",
554
569
  )
555
- gpu_memory: conint(ge=1, le=200000) = Field(
570
+ gpu_memory: conint(ge=1, le=400000) = Field(
556
571
  ...,
557
572
  description="Amount of GPU memory (in MB) to allocate. Please note, this limit is not being enforced today but will be in future. Applications are expected to operate in co-opertative mode",
558
573
  )
@@ -681,11 +696,11 @@ class Resources(BaseModel):
681
696
  0.5,
682
697
  description="CPU limit beyond which the usage cannot be exceeded. 1 CPU means 1 CPU core. Fractional CPU can be requested\nlike `0.5`. CPU limit should be >= cpu request.",
683
698
  )
684
- memory_request: conint(ge=1, le=2000000) = Field(
699
+ memory_request: conint(ge=1, le=4000000) = Field(
685
700
  200,
686
701
  description="Requested memory which determines the minimum cost incurred. The unit of memory is in megabytes(MB).\nSo 1 means 1 MB and 2000 means 2GB.",
687
702
  )
688
- memory_limit: conint(ge=1, le=2000000) = Field(
703
+ memory_limit: conint(ge=1, le=4000000) = Field(
689
704
  500,
690
705
  description="Memory limit after which the application will be killed with an OOM error. The unit of memory is\nin megabytes(MB). So 1 means 1 MB and 2000 means 2GB. MemoryLimit should be greater than memory request.",
691
706
  )
@@ -697,7 +712,7 @@ class Resources(BaseModel):
697
712
  2000,
698
713
  description="Disk storage limit. The unit of memory is in megabytes(MB). Exceeding this limit will result in eviction.\nIt should be greater than the request. This is ephemeral storage and will be wiped out on pod restarts or eviction",
699
714
  )
700
- shared_memory_size: Optional[conint(ge=64, le=2000000)] = Field(
715
+ shared_memory_size: Optional[conint(ge=64, le=4000000)] = Field(
701
716
  None,
702
717
  description="Define the shared memory requirements for your workload. Machine learning libraries like Pytorch can use Shared Memory\nfor inter-process communication. If you use this, we will mount a `tmpfs` backed volume at the `/dev/shm` directory.\nAny usage will also count against the workload's memory limit (`resources.memory_limit`) along with your workload's memory usage.\nIf the overall usage goes above `resources.memory_limit` the user process may get killed.\nShared Memory Size cannot be more than the defined Memory Limit for the workload.",
703
718
  )
@@ -1236,7 +1251,7 @@ class ContainerTaskConfig(BaseModel):
1236
1251
  description="Configure environment variables to be injected in the task either as plain text or secrets. [Docs](https://docs.truefoundry.com/docs/env-variables)",
1237
1252
  )
1238
1253
  resources: Optional[Resources] = None
1239
- mounts: Optional[List[VolumeMount]] = Field(
1254
+ mounts: Optional[List[Union[SecretMount, StringDataMount, VolumeMount]]] = Field(
1240
1255
  None, description="Configure data to be mounted to Workflow pod(s) as a volume."
1241
1256
  )
1242
1257
  service_account: Optional[str] = Field(None, description="")
@@ -1636,7 +1651,7 @@ class PySparkTaskConfig(BaseModel):
1636
1651
  None,
1637
1652
  description="Configure environment variables to be injected in the task either as plain text or secrets. [Docs](https://docs.truefoundry.com/docs/env-variables)",
1638
1653
  )
1639
- mounts: Optional[List[Union[SecretMount, StringDataMount, VolumeMount]]] = Field(
1654
+ mounts: Optional[List[VolumeMount]] = Field(
1640
1655
  None, description="Configure data to be mounted to Workflow pod(s) as a volume."
1641
1656
  )
1642
1657
  service_account: Optional[str] = Field(None, description="")
@@ -80,7 +80,9 @@ CUDA_VERSION_TO_IMAGE_TAG: Dict[str, str] = {
80
80
  # From 12.4+ onwards, the image tags drop the cudnn version
81
81
  CUDAVersion.CUDA_12_4_CUDNN9.value: "12.4.1-cudnn-runtime-ubuntu22.04",
82
82
  CUDAVersion.CUDA_12_5_CUDNN9.value: "12.5.1-cudnn-runtime-ubuntu22.04",
83
- CUDAVersion.CUDA_12_6_CUDNN9.value: "12.6.1-cudnn-runtime-ubuntu22.04",
83
+ CUDAVersion.CUDA_12_6_CUDNN9.value: "12.6.3-cudnn-runtime-ubuntu22.04",
84
+ CUDAVersion.CUDA_12_8_CUDNN9.value: "12.8.1-cudnn-runtime-ubuntu22.04",
85
+ CUDAVersion.CUDA_12_9_CUDNN9.value: "12.9.1-cudnn-runtime-ubuntu22.04",
84
86
  }
85
87
 
86
88
 
@@ -58,9 +58,19 @@ def patch_command(
58
58
  ]
59
59
  if output_file:
60
60
  with open(output_file, "w") as fd:
61
- subprocess.run(yq_command, stdout=fd)
61
+ p = subprocess.run(
62
+ yq_command, stdout=fd, stderr=subprocess.PIPE, check=False
63
+ )
64
+ if p.returncode != 0:
65
+ stderr = p.stderr.decode("UTF-8")
66
+ raise Exception(f"Failed to patch yaml file: {stderr}")
62
67
  else:
63
- p = subprocess.run(yq_command, stdout=subprocess.PIPE)
68
+ p = subprocess.run(
69
+ yq_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=False
70
+ )
71
+ if p.returncode != 0:
72
+ stderr = p.stderr.decode("UTF-8")
73
+ raise Exception(f"Failed to patch yaml file: {stderr}")
64
74
  output = p.stdout.decode("UTF-8")
65
75
  callback = RichOutputCallBack()
66
76
  callback.print_line(output)
@@ -91,6 +91,8 @@ class CUDAVersion(str, enum.Enum):
91
91
  CUDA_12_4_CUDNN9 = "12.4-cudnn9"
92
92
  CUDA_12_5_CUDNN9 = "12.5-cudnn9"
93
93
  CUDA_12_6_CUDNN9 = "12.6-cudnn9"
94
+ CUDA_12_8_CUDNN9 = "12.8-cudnn9"
95
+ CUDA_12_9_CUDNN9 = "12.9-cudnn9"
94
96
 
95
97
 
96
98
  class GPUType(str, enum.Enum):
@@ -99,12 +101,19 @@ class GPUType(str, enum.Enum):
99
101
  V100 = "V100"
100
102
  T4 = "T4"
101
103
  A10G = "A10G"
104
+ A10_4GB = "A10_4GB"
105
+ A10_8GB = "A10_8GB"
106
+ A10_12GB = "A10_12GB"
107
+ A10_24GB = "A10_24GB"
102
108
  A100_40GB = "A100_40GB"
103
109
  A100_80GB = "A100_80GB"
104
110
  L4 = "L4"
111
+ L40S = "L40S"
105
112
  H100_80GB = "H100_80GB"
106
113
  H100_94GB = "H100_94GB"
114
+ H100_96GB = "H100_96GB"
107
115
  H200 = "H200"
116
+ B200 = "B200"
108
117
 
109
118
 
110
119
  class TPUType(str, enum.Enum):
@@ -40,6 +40,7 @@ from truefoundry.common.storage_provider_utils import (
40
40
  azure_multi_part_upload,
41
41
  decide_file_parts,
42
42
  s3_compatible_multipart_upload,
43
+ truncate_path_for_progress,
43
44
  )
44
45
  from truefoundry.ml._autogen.client import ( # type: ignore[attr-defined]
45
46
  ApiClient,
@@ -125,14 +126,14 @@ def _signed_url_upload_file(
125
126
  augmented_raise_for_status(response, exception_class=MlFoundryException) # type: ignore
126
127
  return
127
128
 
128
- task_progress_bar = progress_bar.add_task(
129
- f"[green]Uploading {local_file}:", start=True
129
+ task_id = progress_bar.add_task(
130
+ f"[green] {truncate_path_for_progress(local_file, 64, relpath=True)}",
131
+ start=True,
132
+ visible=True,
130
133
  )
131
134
 
132
135
  def callback(length):
133
- progress_bar.update(
134
- task_progress_bar, advance=length, total=os.stat(local_file).st_size
135
- )
136
+ progress_bar.update(task_id, advance=length, total=os.stat(local_file).st_size)
136
137
  if abort_event and abort_event.is_set():
137
138
  raise Exception("aborting upload")
138
139
 
@@ -147,6 +148,9 @@ def _signed_url_upload_file(
147
148
  ) as response:
148
149
  augmented_raise_for_status(response, exception_class=MlFoundryException) # type: ignore
149
150
 
151
+ if progress_bar is not None:
152
+ progress_bar.refresh()
153
+
150
154
 
151
155
  def _download_file_using_http_uri(
152
156
  http_uri,
@@ -167,11 +171,18 @@ def _download_file_using_http_uri(
167
171
  exception_class=MlFoundryException, # type: ignore
168
172
  ) as response:
169
173
  augmented_raise_for_status(response, exception_class=MlFoundryException) # type: ignore
170
- file_size = int(response.headers.get("Content-Length", 0))
174
+ file_size = int(response.headers.get("Content-Length", -1))
175
+ if file_size == 0 and callback:
176
+ # special case for empty files
177
+ callback(1, 1)
178
+ file_size = file_size if file_size > 0 else 0
171
179
  with open(download_path, "wb") as output_file:
172
180
  for chunk in response.iter_content(chunk_size=chunk_size):
173
181
  if callback:
174
182
  callback(len(chunk), file_size)
183
+ print(
184
+ f"Sent callback for {download_path} {len(chunk)} / {file_size}"
185
+ )
175
186
  if not chunk:
176
187
  break
177
188
  output_file.write(chunk)
@@ -371,7 +382,7 @@ class MlFoundryArtifactsRepository:
371
382
  is MultiPartUploadStorageProvider.AZURE_BLOB
372
383
  ):
373
384
  azure_multi_part_upload(
374
- multipart_upload=MultiPartUpload.parse_obj(multipart_upload.to_dict()),
385
+ multipart_upload=MultiPartUpload.parse_obj(multipart_upload.dict()),
375
386
  local_file=local_file,
376
387
  executor=executor,
377
388
  multipart_info=multipart_info,
@@ -658,15 +669,18 @@ class MlFoundryArtifactsRepository:
658
669
  logger.info("Downloading %s to %s", remote_file_path, local_path)
659
670
 
660
671
  if progress_bar is not None:
661
- download_progress_bar = progress_bar.add_task(
662
- f"[green]Downloading to {remote_file_path}:", start=True
672
+ task_id = progress_bar.add_task(
673
+ f"[green] {truncate_path_for_progress(remote_file_path, 64)}",
674
+ start=True,
675
+ visible=True,
663
676
  )
664
677
 
665
- def callback(chunk, total_file_size):
678
+ def callback(chunk_size: int, total_file_size: int):
679
+ nonlocal task_id
666
680
  if progress_bar is not None:
667
681
  progress_bar.update(
668
- download_progress_bar,
669
- advance=chunk,
682
+ task_id,
683
+ advance=chunk_size,
670
684
  total=total_file_size,
671
685
  )
672
686
  if abort_event and abort_event.is_set():
@@ -677,6 +691,9 @@ class MlFoundryArtifactsRepository:
677
691
  download_path=local_path,
678
692
  callback=callback,
679
693
  )
694
+
695
+ if progress_bar is not None:
696
+ progress_bar.refresh()
680
697
  logger.debug("Downloaded %s to %s", remote_file_path, local_path)
681
698
 
682
699
  def _download_artifact(
@@ -347,10 +347,11 @@ class ArtifactVersion:
347
347
  artifact_version.download(path="<your-desired-download-path>")
348
348
  ```
349
349
  """
350
- download_path = self._download(
350
+ download_info = self._download(
351
351
  path=path, overwrite=overwrite, progress=progress
352
352
  )
353
- return download_path.download_dir
353
+ logger.info("Downloaded artifact contents to %s", download_info.download_dir)
354
+ return download_info.download_dir
354
355
 
355
356
  def delete(self) -> bool:
356
357
  """
@@ -440,6 +440,7 @@ class ModelVersion:
440
440
  download_info = self._download(
441
441
  path=path, overwrite=overwrite, progress=progress
442
442
  )
443
+ logger.info("Downloaded model contents to %s", download_info.model_dir)
443
444
  return download_info
444
445
 
445
446
  def delete(self) -> bool:
File without changes