truefoundry 0.5.8rc3__tar.gz → 0.5.9__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 (372) hide show
  1. truefoundry-0.5.9/.gitignore +152 -0
  2. truefoundry-0.5.9/PKG-INFO +72 -0
  3. truefoundry-0.5.9/pyproject.toml +181 -0
  4. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/constants.py +1 -1
  5. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/auto_gen/models.py +11 -3
  6. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/docker_service.py +1 -1
  7. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/delete_command.py +40 -8
  8. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/clients/servicefoundry_client.py +11 -1
  9. truefoundry-0.5.9/truefoundry/deploy/lib/dao/delete.py +88 -0
  10. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/messages.py +1 -0
  11. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/model/entity.py +5 -0
  12. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/session.py +1 -2
  13. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/python_deploy_codegen.py +1 -1
  14. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/deploy.py +3 -3
  15. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/health_api.py +1 -2
  16. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/exceptions.py +1 -1
  17. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/models/schema.py +1 -1
  18. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/plot.py +2 -2
  19. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/mlfoundry_run.py +1 -1
  20. truefoundry-0.5.8rc3/PKG-INFO +0 -79
  21. truefoundry-0.5.8rc3/pyproject.toml +0 -173
  22. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/README.md +0 -0
  23. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/__init__.py +0 -0
  24. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/__init__.py +0 -0
  25. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/agents/__init__.py +0 -0
  26. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/agents/base.py +0 -0
  27. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/agents/developer.py +0 -0
  28. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  29. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/agents/tester.py +0 -0
  30. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/cli.py +0 -0
  31. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/constants.py +0 -0
  32. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/exception.py +0 -0
  33. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/logger.py +0 -0
  34. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/__init__.py +0 -0
  35. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/ask.py +0 -0
  36. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/base.py +0 -0
  37. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/commit.py +0 -0
  38. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  39. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  40. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  41. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/list_files.py +0 -0
  42. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/read_file.py +0 -0
  43. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/send_request.py +0 -0
  44. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/tools/write_file.py +0 -0
  45. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/utils/client.py +0 -0
  46. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/utils/diff.py +0 -0
  47. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  48. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/__init__.py +0 -0
  49. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/__main__.py +0 -0
  50. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/config.py +0 -0
  51. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/console.py +0 -0
  52. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/const.py +0 -0
  53. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/display_util.py +0 -0
  54. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/cli/util.py +0 -0
  55. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/__init__.py +0 -0
  56. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/auth_service_client.py +0 -0
  57. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/credential_file_manager.py +0 -0
  58. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/credential_provider.py +0 -0
  59. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/entities.py +0 -0
  60. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/exceptions.py +0 -0
  61. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/request_utils.py +0 -0
  62. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/servicefoundry_client.py +0 -0
  63. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/session.py +0 -0
  64. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/storage_provider_utils.py +0 -0
  65. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/types.py +0 -0
  66. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/utils.py +0 -0
  67. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/common/warnings.py +0 -0
  68. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/__init__.py +0 -0
  69. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/__init__.py +0 -0
  70. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  71. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  72. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  73. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  74. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  75. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  76. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/constants.py +0 -0
  77. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/builder/utils.py +0 -0
  78. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/__init__.py +0 -0
  79. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  80. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  81. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  82. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/create_command.py +0 -0
  83. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  84. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  85. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  86. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/list_command.py +0 -0
  87. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  88. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  89. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  90. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  91. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  92. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
  93. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  94. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  95. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/core/__init__.py +0 -0
  96. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/core/login.py +0 -0
  97. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/core/logout.py +0 -0
  98. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/io/__init__.py +0 -0
  99. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/io/output_callback.py +0 -0
  100. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  101. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/__init__.py +0 -0
  102. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  103. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/const.py +0 -0
  104. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  105. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/dao/application.py +0 -0
  106. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/dao/apply.py +0 -0
  107. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/dao/version.py +0 -0
  108. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  109. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/logs_utils.py +0 -0
  110. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/model/__init__.py +0 -0
  111. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/util.py +0 -0
  112. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/lib/win32.py +0 -0
  113. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/__init__.py +0 -0
  114. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  115. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  116. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  117. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/models.py +0 -0
  118. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  119. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/deploy/v2/lib/source.py +0 -0
  120. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/logger.py +0 -0
  121. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/__init__.py +0 -0
  122. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/artifact/__init__.py +0 -0
  123. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  124. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/__init__.py +0 -0
  125. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/__init__.py +0 -0
  126. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
  127. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
  128. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
  129. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
  130. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
  131. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
  132. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  133. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
  134. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
  135. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api_client.py +0 -0
  136. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/api_response.py +0 -0
  137. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/configuration.py +0 -0
  138. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
  139. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
  140. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
  141. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/agent.py +0 -0
  142. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
  143. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
  144. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  145. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
  146. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
  147. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
  148. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
  149. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
  150. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +0 -0
  151. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
  152. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
  153. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
  154. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
  155. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  156. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  157. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
  158. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
  159. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
  160. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
  161. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
  162. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/command.py +0 -0
  163. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/content.py +0 -0
  164. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/content1.py +0 -0
  165. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/content2.py +0 -0
  166. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
  167. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
  168. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
  169. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
  170. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
  171. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
  172. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
  173. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
  174. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
  175. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  176. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  177. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  178. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  179. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  180. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
  181. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
  182. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  183. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
  184. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
  185. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  186. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
  187. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  188. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
  189. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
  190. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
  191. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
  192. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
  193. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
  194. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
  195. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
  196. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/external_blob_storage_source.py +0 -0
  197. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
  198. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
  199. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  200. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/framework.py +0 -0
  201. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  202. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
  203. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  204. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
  205. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  206. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  207. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  208. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  209. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  210. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  211. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  212. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  213. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
  214. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
  215. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
  216. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
  217. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
  218. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
  219. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
  220. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
  221. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
  222. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
  223. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
  224. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
  225. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  226. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  227. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
  228. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
  229. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
  230. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
  231. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
  232. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
  233. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  234. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  235. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  236. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  237. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  238. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
  239. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
  240. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
  241. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
  242. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
  243. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
  244. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  245. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
  246. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
  247. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
  248. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
  249. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
  250. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/method.py +0 -0
  251. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
  252. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
  253. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
  254. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
  255. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
  256. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
  257. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
  258. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
  259. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
  260. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_version_manifest.py +0 -0
  261. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
  262. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
  263. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
  264. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  265. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  266. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
  267. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
  268. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
  269. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
  270. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
  271. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
  272. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  273. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
  274. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
  275. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
  276. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
  277. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
  278. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
  279. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
  280. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
  281. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
  282. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
  283. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  284. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
  285. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
  286. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
  287. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
  288. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
  289. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/source.py +0 -0
  290. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/source1.py +0 -0
  291. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
  292. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
  293. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/stop.py +0 -0
  294. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
  295. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/subject.py +0 -0
  296. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
  297. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
  298. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
  299. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/text.py +0 -0
  300. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
  301. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
  302. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  303. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  304. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/true_foundry_managed_source.py +0 -0
  305. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
  306. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
  307. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
  308. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
  309. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
  310. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
  311. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/url.py +0 -0
  312. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
  313. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  314. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  315. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
  316. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
  317. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
  318. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
  319. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
  320. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client/rest.py +0 -0
  321. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/client_README.md +0 -0
  322. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
  323. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/models/__init__.py +0 -0
  324. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/models/exceptions.py +0 -0
  325. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/models/signature.py +0 -0
  326. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/autogen/models/utils.py +0 -0
  327. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/__init__.py +0 -0
  328. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/cli.py +0 -0
  329. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/commands/__init__.py +0 -0
  330. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/commands/download.py +0 -0
  331. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/commands/model_init.py +0 -0
  332. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/cli/utils.py +0 -0
  333. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/clients/__init__.py +0 -0
  334. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  335. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/constants.py +0 -0
  336. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/entities.py +0 -0
  337. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/enums.py +0 -0
  338. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/exceptions.py +0 -0
  339. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/git_info.py +0 -0
  340. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/internal_namespace.py +0 -0
  341. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/__init__.py +0 -0
  342. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  343. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  344. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  345. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  346. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  347. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  348. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/image/__init__.py +0 -0
  349. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/image/constants.py +0 -0
  350. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/image/image.py +0 -0
  351. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  352. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/image/types.py +0 -0
  353. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  354. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/log_types/utils.py +0 -0
  355. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/logger.py +0 -0
  356. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/mlfoundry_api.py +0 -0
  357. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/model_framework.py +0 -0
  358. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/run_utils.py +0 -0
  359. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/session.py +0 -0
  360. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/ml/validation_utils.py +0 -0
  361. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/pydantic_v1.py +0 -0
  362. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/version.py +0 -0
  363. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/__init__.py +0 -0
  364. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/container_task.py +0 -0
  365. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/map_task.py +0 -0
  366. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/python_task.py +0 -0
  367. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  368. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  369. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  370. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  371. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/task.py +0 -0
  372. {truefoundry-0.5.8rc3 → truefoundry-0.5.9}/truefoundry/workflow/workflow.py +0 -0
@@ -0,0 +1,152 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib64/
18
+ parts/
19
+ sdist/
20
+ var/
21
+ wheels/
22
+ pip-wheel-metadata/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+
53
+ # Translations
54
+ *.mo
55
+ *.pot
56
+
57
+ # Django stuff:
58
+ *.log
59
+ local_settings.py
60
+ db.sqlite3
61
+ db.sqlite3-journal
62
+
63
+ # Flask stuff:
64
+ instance/
65
+ .webassets-cache
66
+
67
+ # Scrapy stuff:
68
+ .scrapy
69
+
70
+ # Sphinx documentation
71
+ docs/_build/
72
+
73
+ # PyBuilder
74
+ target/
75
+
76
+ # Jupyter Notebook
77
+ .ipynb_checkpoints
78
+
79
+ # IPython
80
+ profile_default/
81
+ ipython_config.py
82
+
83
+ # pyenv
84
+ .python-version
85
+
86
+ # pipenv
87
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
88
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
89
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
90
+ # install all needed dependencies.
91
+ #Pipfile.lock
92
+
93
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
94
+ __pypackages__/
95
+
96
+ # Celery stuff
97
+ celerybeat-schedule
98
+ celerybeat.pid
99
+
100
+ # SageMath parsed files
101
+ *.sage.py
102
+
103
+ # Environments
104
+ *.env
105
+ .venv
106
+ env/
107
+ venv/
108
+ ENV/
109
+ env.bak/
110
+ venv.bak/
111
+
112
+ # Spyder project settings
113
+ .spyderproject
114
+ .spyproject
115
+
116
+ # Rope project settings
117
+ .ropeproject
118
+
119
+ # mkdocs documentation
120
+ /site
121
+
122
+ # mypy
123
+ .mypy_cache/
124
+ .dmypy.json
125
+ dmypy.json
126
+
127
+ # Pyre type checker
128
+ .pyre/
129
+
130
+
131
+ # mlflow local files
132
+ mlruns/
133
+ mlf/
134
+
135
+ # local build files
136
+ servicefoundry/
137
+ tmp/
138
+
139
+ # dataset files
140
+ *.gz
141
+ aclImdb/
142
+
143
+ # Jetbrains files
144
+ .idea/
145
+
146
+ # VSCode files
147
+ .vscode/
148
+
149
+ # Mac Poop
150
+ **/.DS_Store
151
+
152
+ .mypy-errors.txt
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: truefoundry
3
+ Version: 0.5.9
4
+ Summary: TrueFoundry CLI
5
+ Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
+ Requires-Python: <3.13,>=3.8.1
7
+ Requires-Dist: aenum<4.0.0,>=3.0.0
8
+ Requires-Dist: click<9.0.0,>=7.0.0
9
+ Requires-Dist: coolname<2.0.0,>=1.1.0
10
+ Requires-Dist: docker<8.0.0,>=6.1.2
11
+ Requires-Dist: filelock<4.0.0,>=3.8.0
12
+ Requires-Dist: gitignorefile<2.0.0,>=1.1.2
13
+ Requires-Dist: gitpython<4.0.0,>=3.1.43
14
+ Requires-Dist: importlib-metadata<9.0.0,>=4.11.3
15
+ Requires-Dist: importlib-resources<7.0.0,>=5.2.0
16
+ Requires-Dist: mako<2.0.0,>=1.1.6
17
+ Requires-Dist: numpy<2.0.0,>=1.23.0; python_version < '3.12'
18
+ Requires-Dist: numpy<2.0.0,>=1.26.0; python_version >= '3.12'
19
+ Requires-Dist: openai<2.0.0,>=1.16.2
20
+ Requires-Dist: packaging<25.0,>=20.0
21
+ Requires-Dist: pydantic<3.0.0,>=1.8.2
22
+ Requires-Dist: pygments<3.0.0,>=2.12.0
23
+ Requires-Dist: pyjwt<3.0.0,>=2.0.0
24
+ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
25
+ Requires-Dist: python-dotenv<2.0.0,>=1.0.1
26
+ Requires-Dist: python-socketio[client]<6.0.0,>=5.5.2
27
+ Requires-Dist: pyyaml<7.0.0,>=6.0.0
28
+ Requires-Dist: questionary<2.0.0,>=1.10.0
29
+ Requires-Dist: requests<3.0.0,>=2.18.0
30
+ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
31
+ Requires-Dist: rich-click<2.0.0,>=1.2.1
32
+ Requires-Dist: rich<14.0.0,>=13.7.1
33
+ Requires-Dist: scipy<2.0.0,>=1.12.0; python_version >= '3.12'
34
+ Requires-Dist: scipy<2.0.0,>=1.5.0; python_version < '3.12'
35
+ Requires-Dist: tqdm<5.0.0,>=4.0.0
36
+ Requires-Dist: typing-extensions>=4.0
37
+ Requires-Dist: urllib3<3,>=1.26.18
38
+ Requires-Dist: yq<4.0.0,>=3.1.0
39
+ Provides-Extra: workflow
40
+ Requires-Dist: flytekit==1.13.13; extra == 'workflow'
41
+ Description-Content-Type: text/markdown
42
+
43
+ # TrueFoundry
44
+
45
+ TrueFoundry library to help you interact with the platform programmatically by
46
+
47
+ - Interacting with the deployments side of TrueFoundry, enabling you to manage workspaces, deployments, applications, and view logs.
48
+ - Providing experiment tracking capabilities, allowing you to track ML experiments and interact with ML repositories within TrueFoundry.
49
+
50
+ You can access the health of your service, monitoring links, deployed endpoints and track metadata and artifacts by logging on to TrueFoundry's dashboard.
51
+
52
+ ## Installation
53
+
54
+ To install the `TrueFoundry CLI`, you can use pip:
55
+
56
+ ```bash
57
+ pip install truefoundry
58
+ ```
59
+
60
+ To install the `TrueFoundry CLI` with Workflow deployment features, you can use pip:
61
+
62
+ ```bash
63
+ pip install truefoundry[workflow]
64
+ ```
65
+
66
+ ## Examples
67
+
68
+ https://github.com/truefoundry/getting-started-examples
69
+
70
+ ## Documentation
71
+
72
+ https://docs.truefoundry.com/
@@ -0,0 +1,181 @@
1
+ [project]
2
+ name = "truefoundry"
3
+ version = "0.5.9" # This is a placeholder version, it will be replaced when releasing
4
+ requires-python = ">=3.8.1,<3.13"
5
+ description = "TrueFoundry CLI"
6
+ authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
7
+ readme = "README.md"
8
+ dependencies = [
9
+ "aenum>=3.0.0,<4.0.0",
10
+ "click>=7.0.0,<9.0.0",
11
+ "coolname>=1.1.0,<2.0.0",
12
+ "docker>=6.1.2,<8.0.0",
13
+ "filelock>=3.8.0,<4.0.0",
14
+ "gitignorefile>=1.1.2,<2.0.0",
15
+ "GitPython>=3.1.43,<4.0.0",
16
+ "importlib-metadata>=4.11.3,<9.0.0",
17
+ "importlib-resources>=5.2.0,<7.0.0",
18
+ "Mako>=1.1.6,<2.0.0",
19
+ "openai>=1.16.2,<2.0.0",
20
+ "packaging>=20.0,<25.0",
21
+ "pydantic>=1.8.2,<3.0.0",
22
+ "pygments>=2.12.0,<3.0.0",
23
+ "PyJWT>=2.0.0,<3.0.0",
24
+ "python-dateutil>=2.8.2,<3.0.0",
25
+ "python-dotenv>=1.0.1,<2.0.0",
26
+ "python-socketio[client]>=5.5.2,<6.0.0",
27
+ "PyYAML>=6.0.0,<7.0.0",
28
+ "questionary>=1.10.0,<2.0.0",
29
+ "requests>=2.18.0,<3.0.0",
30
+ "requirements-parser>=0.11.0,<0.12.0",
31
+ "rich>=13.7.1,<14.0.0",
32
+ "rich-click>=1.2.1,<2.0.0",
33
+ "tqdm>=4.0.0,<5.0.0",
34
+ "typing-extensions>=4.0",
35
+ "urllib3>=1.26.18,<3",
36
+ "yq>=3.1.0,<4.0.0",
37
+ # Check and try to eliminate libs below this comment
38
+ "scipy>=1.5.0,<2.0.0; python_version < '3.12'",
39
+ "scipy>=1.12.0,<2.0.0; python_version >= '3.12'",
40
+ "numpy>=1.23.0,<2.0.0; python_version < '3.12'",
41
+ "numpy>=1.26.0,<2.0.0; python_version >= '3.12'",
42
+ ]
43
+
44
+ [project.optional-dependencies]
45
+ workflow = ["flytekit==1.13.13"]
46
+
47
+ [project.scripts]
48
+ tfy = "truefoundry.cli.__main__:main"
49
+ truefoundry = "truefoundry.cli.__main__:main"
50
+
51
+ [dependency-groups]
52
+ dev = [
53
+ "Pillow>=9.1.1,<11.0.0",
54
+ "ipykernel>=6.16.0",
55
+ "ipywidgets>=8.0.0",
56
+ "ipython>=7.10.0",
57
+ "langchain>=0.2.0,<0.3.0",
58
+ "matplotlib>=3.0.0,<4.0.0",
59
+ "mypy>=1.14.1",
60
+ "omegaconf==2.3",
61
+ "plotly>=5.8.2,<6.0.0",
62
+ "pandas>=1.0.0,<3.0.0; python_version < '3.10'",
63
+ "pandas>=1.4.0,<3.0.0; python_version >= '3.10'",
64
+ "pre-commit>=3.5.0,<4.0.0",
65
+ "pytest>=8.2.2,<9.0.0",
66
+ "pytest-env>=1.1.5,<2.0.0",
67
+ "ruff>=0.9.4",
68
+ "seaborn>=0.13.0,<0.14.0",
69
+ "scikit-learn>=1.3.0,<2.0.0",
70
+ "shap>=0.40.0,<0.45.0; python_version < '3.12'",
71
+ "shap>=0.45.0; python_version >= '3.12'",
72
+ "xgboost>=2.1.3,<3.0.0",
73
+
74
+ # typing stubs
75
+ "types-PyYAML",
76
+ "types-pytz",
77
+ "types-python-dateutil",
78
+ "types-protobuf",
79
+ "types-pexpect",
80
+ "types-docutils",
81
+ "types-defusedxml",
82
+ "types-decorator",
83
+ "types-colorama",
84
+ "types-cffi",
85
+ "types-requests",
86
+ "types-Pygments",
87
+ "pandas-stubs",
88
+ "types-tqdm",
89
+ ]
90
+
91
+ [build-system]
92
+ requires = ["hatchling"]
93
+ build-backend = "hatchling.build"
94
+ [tool.hatch.build.targets.sdist]
95
+ include = [
96
+ "truefoundry/"
97
+ ]
98
+
99
+ [tool.ruff]
100
+ target-version = "py38"
101
+ exclude = [
102
+ ".venv",
103
+ "venv",
104
+ "repos",
105
+ ]
106
+
107
+ [tool.ruff.lint]
108
+ select = [
109
+ "E", # pycodestyle errors
110
+ "W", # pycodestyle warnings
111
+ "F", # pyflakes
112
+ "C", # flake8-comprehensions
113
+ "B", # flake8-bugbear
114
+ "Q", # flake8-quotes
115
+ "I",
116
+ "T10",
117
+ "ASYNC",
118
+ ]
119
+ ignore = ["E501"]
120
+
121
+ [tool.ruff.lint.flake8-quotes]
122
+ docstring-quotes = "double"
123
+ inline-quotes = "double"
124
+
125
+ [tool.ruff.lint.per-file-ignores]
126
+ "__init__.py" = ["F401"]
127
+ "truefoundry/ml/autogen/client/*" = ["B028", "B904", "C901", "C409", "F841"]
128
+ "truefoundry/ml/autogen/models/*" = ["E721"]
129
+ "truefoundry/ml/autogen/client/models/*" = ["F821"]
130
+ "truefoundry/ml/autogen/client/api_client.py" = ["E721"]
131
+
132
+ [tool.ruff.format]
133
+ quote-style = "double"
134
+
135
+ [tool.mypy]
136
+ plugins = ["pydantic.v1.mypy"]
137
+ install_types = true
138
+ non_interactive = true
139
+
140
+ allow_redefinition = false
141
+ allow_untyped_globals = false
142
+ check_untyped_defs = true
143
+ disallow_any_generics = true
144
+ disallow_incomplete_defs = true
145
+ disallow_subclassing_any = true
146
+ disallow_untyped_calls = true
147
+ disallow_untyped_decorators = true
148
+ disallow_untyped_defs = true
149
+ follow_imports = "silent"
150
+ force_uppercase_builtins = true
151
+ no_implicit_optional = true
152
+ no_implicit_reexport = true
153
+ strict_equality = true
154
+ strict_optional = true
155
+ warn_no_return = true
156
+ warn_redundant_casts = true
157
+ warn_return_any = true
158
+ warn_unreachable = true
159
+ warn_unused_ignores = true
160
+
161
+ packages = ["truefoundry"]
162
+ exclude = [
163
+ "^truefoundry/ml/autogen",
164
+ "^truefoundry/deploy/auto_gen",
165
+ "^truefoundry/pydantic_v1.py$",
166
+ "^truefoundry/autodeploy/",
167
+ ]
168
+ disable_error_code = ["import-untyped", "method-assign"]
169
+
170
+ [tool.pydantic-mypy]
171
+ init_forbid_extra = true
172
+ init_typed = true
173
+ warn_required_dynamic_aliases = true
174
+
175
+ [tool.pytest.ini_options]
176
+ env = [
177
+ "TFY_PYTHONBUILD_PYTHON_IMAGE_REPO=docker.io/truefoundrycloud/test/python",
178
+ ]
179
+
180
+ [tool.uv]
181
+ default-groups = ["dev"]
@@ -57,7 +57,7 @@ class TrueFoundrySdkEnv(BaseSettings):
57
57
  # For local development, this enables futher configuration via _TFYServersConfig
58
58
  TFY_CLI_LOCAL_DEV_MODE: bool = False
59
59
 
60
- TFY_PYTHON_BUILD_PACKAGE_MANAGER: PythonPackageManager = PythonPackageManager.PIP
60
+ TFY_PYTHON_BUILD_PACKAGE_MANAGER: PythonPackageManager = PythonPackageManager.UV
61
61
  TFY_PYTHON_BUILD_UV_IMAGE_URI: str = "ghcr.io/astral-sh/uv:latest"
62
62
 
63
63
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2025-01-29T10:40:43+00:00
3
+ # timestamp: 2025-02-19T09:48:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1565,7 +1565,7 @@ class Notebook(BaseWorkbenchInput):
1565
1565
  image: WorkbenchImage
1566
1566
  cull_timeout: conint(ge=5) = Field(
1567
1567
  30,
1568
- description="+label=Stop after (minutes of inactivity)\n+usage=Stop the notebook instance after this much time in minutes of inactivity.\nThe notebook instance will be stopped even if the notebook is open in your browser, but nothing is running on the notebook.\n+sort=5",
1568
+ description='+label=Stop after (minutes of inactivity)\n+usage=Stop the notebook instance after this much time in minutes of inactivity.\nThe notebook instance will be stopped even if the notebook is open in your browser, but nothing is running on the notebook.\n+sort=5\n+uiProps={"descriptionInline":true}',
1569
1569
  )
1570
1570
 
1571
1571
 
@@ -1656,7 +1656,7 @@ class SSHServer(BaseWorkbenchInput):
1656
1656
  )
1657
1657
  cull_timeout: Optional[conint(ge=5)] = Field(
1658
1658
  None,
1659
- description="+label=Stop after (minutes of inactivity)\n+usage=Stop the SSH Server instance after this much time in minutes of inactivity. \\\nThe instance is considered active if there is at least one active SSH connection (a client connected to the SSH server), \\\nor if a background job is running using tmux or screen, or if the pod has restarted.\n+sort=5",
1659
+ description='+label=Stop after (minutes of inactivity)\n+usage=Stop the SSH Server instance after this much time in minutes of inactivity. The instance is considered active if there is at least one active SSH connection (a client connected to the SSH server), or if a background job is running using tmux or screen, or if the pod has restarted.\n+sort=5\n+uiProps={"descriptionInline":true, "warningMessage":"Please note that stop after inactivity is only available for images with tag(including custom images) >= v0.3.10"}',
1660
1660
  )
1661
1661
 
1662
1662
 
@@ -1696,6 +1696,10 @@ class SparkJob(BaseModel):
1696
1696
  None,
1697
1697
  description="+label=Environment Variables\n+usage=Configure environment variables to be injected in the service either as plain text. [Docs](https://docs.truefoundry.com/docs/env-variables)\n+icon=fa-globe\n+sort=21000",
1698
1698
  )
1699
+ conf: Optional[Dict[str, Any]] = Field(
1700
+ None,
1701
+ description="+label=Spark Config Properties\n+usage=Extra configuration properties to be passed to the spark job. [Docs](https://spark.apache.org/docs/latest/configuration.html)\n+icon=fa-gear:#68BBE3\n+sort=21500",
1702
+ )
1699
1703
  mounts: Optional[List[VolumeMount]] = Field(
1700
1704
  None,
1701
1705
  description="+label=Mounts\n+usage=Configure volumes to be mounted to driver and executors. [Docs](https://docs.truefoundry.com/docs/mounting-volumes-job)\n+sort=22000\n+uiType=Mounts",
@@ -1888,6 +1892,10 @@ class ApplicationSet(BaseModel):
1888
1892
  None,
1889
1893
  description="+label=Workspace FQN\n+docs=Fully qualified name of the workspace\n+uiType=Hidden",
1890
1894
  )
1895
+ convert_template_manifest: Optional[bool] = Field(
1896
+ None,
1897
+ description="+label=Convert Template Manifest\n+docs=Flag to indicate if the template manifest should be converted to TrueFoundry manifest\n+uiType=Hidden",
1898
+ )
1891
1899
 
1892
1900
 
1893
1901
  class Application(BaseModel):
@@ -38,7 +38,7 @@ def _catch_error_in_push(response: List[dict]):
38
38
  for line in response:
39
39
  if line.get("error") is not None:
40
40
  raise Exception(
41
- f'Failed to push to registry with message \'{line.get("error")}\''
41
+ f"Failed to push to registry with message '{line.get('error')}'"
42
42
  )
43
43
 
44
44
 
@@ -1,31 +1,63 @@
1
+ from typing import List, Tuple
2
+
1
3
  import rich_click as click
2
4
 
3
5
  from truefoundry.cli.config import CliConfig
6
+ from truefoundry.cli.console import console
4
7
  from truefoundry.cli.const import COMMAND_CLS, GROUP_CLS
5
8
  from truefoundry.cli.display_util import print_json
6
9
  from truefoundry.cli.util import handle_exception_wrapper
7
10
  from truefoundry.deploy.io.rich_output_callback import RichOutputCallBack
11
+ from truefoundry.deploy.lib.clients.servicefoundry_client import (
12
+ ServiceFoundryServiceClient,
13
+ )
8
14
  from truefoundry.deploy.lib.dao import application as application_lib
15
+ from truefoundry.deploy.lib.dao import delete as delete_lib
9
16
  from truefoundry.deploy.lib.dao import workspace as workspace_lib
10
17
  from truefoundry.deploy.lib.messages import (
11
18
  PROMPT_DELETED_APPLICATION,
12
19
  PROMPT_DELETED_WORKSPACE,
20
+ PROMPT_DELETING_MANIFEST,
13
21
  )
22
+ from truefoundry.deploy.lib.model.entity import DeleteResult
14
23
 
15
24
  # TODO (chiragjn): --json should disable all non json console prints
16
25
 
17
26
 
18
- @click.group(name="delete", cls=GROUP_CLS)
19
- def delete_command():
27
+ @click.group(name="delete", cls=GROUP_CLS, invoke_without_command=True)
28
+ @click.pass_context
29
+ @click.option(
30
+ "-f",
31
+ "--file",
32
+ "files",
33
+ type=click.Path(exists=True, dir_okay=False, resolve_path=True),
34
+ help="Path to yaml manifest file (You can pass multiple files at once by providing multiple -f options)",
35
+ show_default=True,
36
+ required=False,
37
+ multiple=True,
38
+ )
39
+ @handle_exception_wrapper
40
+ def delete_command(ctx, files: Tuple[str, ...]):
20
41
  """
21
42
  Delete TrueFoundry resources
22
-
23
- \b
24
- Supported resources:
25
- - Workspace
26
- - Application
27
43
  """
28
- pass
44
+ if ctx.invoked_subcommand is None:
45
+ if not files:
46
+ raise click.UsageError("Missing option '-f' / '--file'")
47
+ delete_results: List[DeleteResult] = []
48
+ client = ServiceFoundryServiceClient()
49
+ for file in files:
50
+ with console.status(PROMPT_DELETING_MANIFEST.format(file), spinner="dots"):
51
+ for delete_result in delete_lib.delete_manifest_file(file, client):
52
+ if delete_result.success:
53
+ console.print(f"[green]\u2714 {delete_result.message}[/]")
54
+ else:
55
+ console.print(f"[red]\u2718 {delete_result.message}[/]")
56
+
57
+ delete_results.append(delete_result)
58
+
59
+ if not all(delete_result.success for delete_result in delete_results):
60
+ raise Exception("Failed to delete one or more resource manifests")
29
61
 
30
62
 
31
63
  @click.command(name="workspace", cls=COMMAND_CLS, help="Delete a Workspace")
@@ -262,7 +262,7 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
262
262
  time_obj.replace(tzinfo=timezone.utc)
263
263
  local_time = time_obj.astimezone(tzlocal())
264
264
  local_time_str = local_time.isoformat()
265
- return f'[{local_time_str}] {log["log"].strip()}'
265
+ return f"[{local_time_str}] {log['log'].strip()}"
266
266
 
267
267
  def _tail_logs(
268
268
  self,
@@ -693,6 +693,16 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
693
693
  response_data = request_handling(response)
694
694
  return response_data
695
695
 
696
+ @check_min_cli_version
697
+ def delete(self, manifest: Dict[str, Any]):
698
+ url = f"{self._api_server_url}/{VERSION_PREFIX}/delete"
699
+ body = {"manifest": manifest}
700
+ response = session_with_retries().post(
701
+ url, headers=self._get_header(), json=body
702
+ )
703
+ response_data = request_handling(response)
704
+ return response_data
705
+
696
706
  def terminate_job_run(
697
707
  self,
698
708
  deployment_id: str,
@@ -0,0 +1,88 @@
1
+ from pathlib import Path
2
+ from typing import Any, Dict, Iterator, Optional
3
+
4
+ import yaml
5
+
6
+ from truefoundry.deploy.lib.clients.servicefoundry_client import (
7
+ ServiceFoundryServiceClient,
8
+ )
9
+ from truefoundry.deploy.lib.model.entity import DeleteResult, Manifest
10
+ from truefoundry.pydantic_v1 import ValidationError
11
+
12
+
13
+ def _delete_manifest(
14
+ manifest: Dict[str, Any],
15
+ client: Optional[ServiceFoundryServiceClient] = None,
16
+ filename: Optional[str] = None,
17
+ index: Optional[int] = None,
18
+ ) -> DeleteResult:
19
+ client = client or ServiceFoundryServiceClient()
20
+
21
+ file_metadata = ""
22
+ if index is not None:
23
+ file_metadata += f" at index {index}"
24
+ if filename:
25
+ file_metadata += f" from file {filename}"
26
+
27
+ try:
28
+ manifest = Manifest.parse_obj(manifest)
29
+ except ValidationError as ex:
30
+ return DeleteResult(
31
+ success=False,
32
+ message=f"Failed to parse manifest{file_metadata}. Error: {ex}",
33
+ )
34
+
35
+ try:
36
+ client.delete(manifest.dict())
37
+
38
+ return DeleteResult(
39
+ success=True,
40
+ message=(
41
+ f"Successfully deleted resource manifest {manifest.name} of type {manifest.type}."
42
+ ),
43
+ )
44
+ except Exception as ex:
45
+ return DeleteResult(
46
+ success=False,
47
+ message=(
48
+ f"Failed to delete resource manifest {manifest.name} of type {manifest.type}. Error: {ex}."
49
+ ),
50
+ )
51
+
52
+
53
+ def delete_manifest(
54
+ manifest: Dict[str, Any],
55
+ client: Optional[ServiceFoundryServiceClient] = None,
56
+ ) -> DeleteResult:
57
+ return _delete_manifest(manifest=manifest, client=client)
58
+
59
+
60
+ def delete_manifest_file(
61
+ filepath: str,
62
+ client: Optional[ServiceFoundryServiceClient] = None,
63
+ ) -> Iterator[DeleteResult]:
64
+ client = client or ServiceFoundryServiceClient()
65
+ filename = Path(filepath).name
66
+ try:
67
+ with open(filepath, "r") as f:
68
+ manifests_it = list(yaml.safe_load_all(f))
69
+ except Exception as ex:
70
+ yield DeleteResult(
71
+ success=False,
72
+ message=f"Failed to read file {filepath} as a valid YAML file. Error: {ex}",
73
+ )
74
+ else:
75
+ for index, manifest in enumerate(manifests_it):
76
+ if not isinstance(manifest, dict):
77
+ yield DeleteResult(
78
+ success=False,
79
+ message=f"Failed to delete resource manifest at index {index} from file {filename}. Error: A manifest must be a dict, got type {type(manifest)}",
80
+ )
81
+ continue
82
+
83
+ yield _delete_manifest(
84
+ manifest=manifest,
85
+ client=client,
86
+ filename=filename,
87
+ index=index,
88
+ )
@@ -10,3 +10,4 @@ PROMPT_NO_WORKSPACES = f"""[yellow]No workspaces found. Either cluster name is w
10
10
  PROMPT_NO_APPLICATIONS = f"""[yellow]No applications found. You can create one with [bold]{TFY} deploy[/] from within your application folder"""
11
11
  PROMPT_NO_VERSIONS = """[yellow]No application versions found."""
12
12
  PROMPT_APPLYING_MANIFEST = """[yellow]Applying manifest for file {!r}[/]"""
13
+ PROMPT_DELETING_MANIFEST = """[yellow]Deleting manifest for file {!r}[/]"""
@@ -280,6 +280,11 @@ class ApplyResult(BaseModel):
280
280
  message: str
281
281
 
282
282
 
283
+ class DeleteResult(BaseModel):
284
+ success: bool
285
+ message: str
286
+
287
+
283
288
  class Manifest(Base):
284
289
  type: str
285
290
  name: str
@@ -81,8 +81,7 @@ def login(
81
81
 
82
82
  user_info = token.to_user_info()
83
83
  output_hook.print_line(
84
- f"Successfully logged in to {cred_file_content.host!r} as "
85
- f"{user_info.user_id!r}"
84
+ f"Successfully logged in to {cred_file_content.host!r} as {user_info.user_id!r}"
86
85
  )
87
86
  return True
88
87