truefoundry 0.12.0rc2__tar.gz → 0.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (393) hide show
  1. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/PKG-INFO +3 -3
  2. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/pyproject.toml +3 -3
  3. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/constants.py +27 -18
  4. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/_autogen/models.py +4 -4
  5. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/artifact.py +2 -0
  6. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/constants.py +4 -1
  7. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/model.py +2 -0
  8. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/utils.py +52 -14
  9. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/.gitignore +0 -0
  10. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/README.md +0 -0
  11. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/__init__.py +0 -0
  12. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/_ask/__init__.py +0 -0
  13. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/_ask/cli.py +0 -0
  14. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/_ask/client.py +0 -0
  15. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/_ask/llm_utils.py +0 -0
  16. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/_client.py +0 -0
  17. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/__init__.py +0 -0
  18. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/agents/__init__.py +0 -0
  19. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/agents/base.py +0 -0
  20. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/agents/developer.py +0 -0
  21. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  22. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/agents/tester.py +0 -0
  23. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/cli.py +0 -0
  24. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/constants.py +0 -0
  25. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/exception.py +0 -0
  26. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/logger.py +0 -0
  27. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/__init__.py +0 -0
  28. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/ask.py +0 -0
  29. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/base.py +0 -0
  30. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/commit.py +0 -0
  31. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  32. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  33. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  34. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/list_files.py +0 -0
  35. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/read_file.py +0 -0
  36. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/send_request.py +0 -0
  37. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/tools/write_file.py +0 -0
  38. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/utils/client.py +0 -0
  39. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/utils/diff.py +0 -0
  40. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  41. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/__init__.py +0 -0
  42. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/__main__.py +0 -0
  43. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/config.py +0 -0
  44. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/console.py +0 -0
  45. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/const.py +0 -0
  46. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/display_util.py +0 -0
  47. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/cli/util.py +0 -0
  48. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/__init__.py +0 -0
  49. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/auth_service_client.py +0 -0
  50. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/credential_file_manager.py +0 -0
  51. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/credential_provider.py +0 -0
  52. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/entities.py +0 -0
  53. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/exceptions.py +0 -0
  54. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/request_utils.py +0 -0
  55. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/servicefoundry_client.py +0 -0
  56. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/session.py +0 -0
  57. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/storage_provider_utils.py +0 -0
  58. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/types.py +0 -0
  59. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/utils.py +0 -0
  60. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/common/warnings.py +0 -0
  61. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/__init__.py +0 -0
  62. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/__init__.py +0 -0
  63. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  64. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  65. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  66. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  67. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  68. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  69. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/__init__.py +0 -0
  70. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/dockerfile_template.py +0 -0
  71. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/tfy_execute_notebook.py +0 -0
  72. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_task_pyspark_buildpack/__init__.py +0 -0
  73. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/builders/tfy_task_pyspark_buildpack/dockerfile_template.py +0 -0
  74. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/constants.py +0 -0
  75. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/docker_service.py +0 -0
  76. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/builder/utils.py +0 -0
  77. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/__init__.py +0 -0
  78. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  79. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  80. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  81. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  82. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  83. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  84. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  85. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
  86. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
  87. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  88. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  89. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  90. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  91. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  92. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  93. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  94. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/cli/commands/utils.py +0 -0
  95. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/core/__init__.py +0 -0
  96. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/core/login.py +0 -0
  97. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/core/logout.py +0 -0
  98. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/io/__init__.py +0 -0
  99. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/io/no_output_callback.py +0 -0
  100. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/io/output_callback.py +0 -0
  101. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  102. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/__init__.py +0 -0
  103. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  104. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/clients/servicefoundry_client.py +0 -0
  105. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/const.py +0 -0
  106. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  107. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/application.py +0 -0
  108. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/apply.py +0 -0
  109. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/delete.py +0 -0
  110. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/version.py +0 -0
  111. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  112. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/diff_utils.py +0 -0
  113. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/logs_utils.py +0 -0
  114. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/messages.py +0 -0
  115. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/model/__init__.py +0 -0
  116. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/model/entity.py +0 -0
  117. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/session.py +0 -0
  118. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/util.py +0 -0
  119. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/lib/win32.py +0 -0
  120. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  121. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/__init__.py +0 -0
  122. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  123. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  124. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  125. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  126. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/models.py +0 -0
  127. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  128. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/deploy/v2/lib/source.py +0 -0
  129. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/logger.py +0 -0
  130. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/__init__.py +0 -0
  131. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/__init__.py +0 -0
  132. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/__init__.py +0 -0
  133. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
  134. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
  135. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
  136. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
  137. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
  138. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
  139. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
  140. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  141. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
  142. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
  143. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api_client.py +0 -0
  144. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/api_response.py +0 -0
  145. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/configuration.py +0 -0
  146. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
  147. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
  148. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
  149. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
  150. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
  151. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  152. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
  153. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
  154. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
  155. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
  156. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
  157. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
  158. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
  159. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
  160. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
  161. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
  162. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
  163. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
  164. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
  165. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  166. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  167. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
  168. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
  169. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
  170. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
  171. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
  172. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/command.py +0 -0
  173. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/content.py +0 -0
  174. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
  175. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
  176. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
  177. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
  178. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
  179. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
  180. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
  181. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
  182. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
  183. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
  184. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
  185. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  186. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  187. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  188. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  189. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  190. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
  191. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
  192. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  193. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
  194. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
  195. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
  196. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  197. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
  198. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  199. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
  200. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
  201. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
  202. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
  203. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
  204. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
  205. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
  206. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
  207. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
  208. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
  209. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
  210. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  211. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
  212. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  213. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
  214. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  215. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
  216. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  217. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  218. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  219. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  220. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  221. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  222. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  223. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  224. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
  225. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
  226. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
  227. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
  228. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
  229. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
  230. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
  231. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
  232. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
  233. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
  234. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
  235. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  236. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  237. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
  238. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
  239. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
  240. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
  241. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
  242. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
  243. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  244. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  245. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  246. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  247. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  248. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
  249. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
  250. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
  251. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
  252. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
  253. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
  254. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  255. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
  256. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
  257. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
  258. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
  259. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
  260. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
  261. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
  262. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
  263. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
  264. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/method.py +0 -0
  265. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
  266. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
  267. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
  268. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
  269. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
  270. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
  271. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
  272. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
  273. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
  274. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
  275. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
  276. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
  277. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
  278. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  279. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  280. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
  281. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
  282. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
  283. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
  284. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
  285. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
  286. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  287. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
  288. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
  289. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
  290. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
  291. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
  292. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
  293. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
  294. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
  295. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
  296. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
  297. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  298. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
  299. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
  300. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
  301. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
  302. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
  303. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/source.py +0 -0
  304. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
  305. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
  306. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
  307. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
  308. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
  309. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
  310. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
  311. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
  312. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
  313. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
  314. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/text.py +0 -0
  315. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
  316. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
  317. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  318. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  319. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
  320. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
  321. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
  322. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
  323. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
  324. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
  325. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
  326. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/url.py +0 -0
  327. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
  328. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  329. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  330. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
  331. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
  332. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
  333. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
  334. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
  335. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client/rest.py +0 -0
  336. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/client_README.md +0 -0
  337. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
  338. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/models/__init__.py +0 -0
  339. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
  340. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/models/schema.py +0 -0
  341. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/models/signature.py +0 -0
  342. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/_autogen/models/utils.py +0 -0
  343. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/artifact/__init__.py +0 -0
  344. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  345. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/__init__.py +0 -0
  346. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/cli.py +0 -0
  347. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/commands/__init__.py +0 -0
  348. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/commands/download.py +0 -0
  349. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/commands/model_init.py +0 -0
  350. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/cli/utils.py +0 -0
  351. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/clients/__init__.py +0 -0
  352. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/constants.py +0 -0
  353. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/entities.py +0 -0
  354. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/enums.py +0 -0
  355. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/exceptions.py +0 -0
  356. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/git_info.py +0 -0
  357. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/integrations/__init__.py +0 -0
  358. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/integrations/huggingface/__init__.py +0 -0
  359. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/integrations/huggingface/trainer_callback.py +0 -0
  360. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/internal_namespace.py +0 -0
  361. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/__init__.py +0 -0
  362. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/__init__.py +0 -0
  363. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  364. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  365. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/image/__init__.py +0 -0
  366. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/image/constants.py +0 -0
  367. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/image/image.py +0 -0
  368. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  369. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/image/types.py +0 -0
  370. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/plot.py +0 -0
  371. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  372. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/log_types/utils.py +0 -0
  373. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/logger.py +0 -0
  374. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/mlfoundry_api.py +0 -0
  375. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/mlfoundry_run.py +0 -0
  376. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/model_framework.py +0 -0
  377. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/prompt_utils.py +0 -0
  378. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/run_utils.py +0 -0
  379. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/session.py +0 -0
  380. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/ml/validation_utils.py +0 -0
  381. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/pydantic_v1.py +0 -0
  382. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/version.py +0 -0
  383. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/__init__.py +0 -0
  384. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/container_task.py +0 -0
  385. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/map_task.py +0 -0
  386. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/python_task.py +0 -0
  387. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  388. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  389. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  390. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  391. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/spark_task.py +0 -0
  392. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/task.py +0 -0
  393. {truefoundry-0.12.0rc2 → truefoundry-0.13.0}/truefoundry/workflow/workflow.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.12.0rc2
3
+ Version: 0.13.0
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
- Requires-Python: <3.14,>=3.8.1
6
+ Requires-Python: <3.15,>=3.8.1
7
7
  Requires-Dist: aenum<4.0.0,>=3.0.0
8
8
  Requires-Dist: click<9.0.0,>=7.0.0
9
9
  Requires-Dist: coolname<2.0.0,>=1.1.0
@@ -31,7 +31,7 @@ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
31
31
  Requires-Dist: rich-click<2.0.0,>=1.2.1
32
32
  Requires-Dist: rich<14.0.0,>=13.7.1
33
33
  Requires-Dist: tqdm<5.0.0,>=4.0.0
34
- Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.10
34
+ Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.11
35
35
  Requires-Dist: typing-extensions>=4.0
36
36
  Requires-Dist: urllib3<3,>=1.26.18
37
37
  Requires-Dist: yq<4.0.0,>=3.1.0
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "truefoundry"
3
- version = "0.12.0rc2" # This is a placeholder version, it will be replaced when releasing
4
- requires-python = ">=3.8.1,<3.14"
3
+ version = "0.13.0" # This is a placeholder version, it will be replaced when releasing
4
+ requires-python = ">=3.8.1,<3.15"
5
5
  description = "TrueFoundry CLI"
6
6
  authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
7
7
  readme = "README.md"
@@ -31,7 +31,7 @@ dependencies = [
31
31
  "rich-click>=1.2.1,<2.0.0",
32
32
  "rich>=13.7.1,<14.0.0",
33
33
  "tqdm>=4.0.0,<5.0.0",
34
- "truefoundry-sdk>=0.1.10,<0.2.0",
34
+ "truefoundry-sdk>=0.1.11,<0.2.0",
35
35
  "typing-extensions>=4.0",
36
36
  "urllib3>=1.26.18,<3",
37
37
  "yq>=3.1.0,<4.0.0",
@@ -36,11 +36,16 @@ class TrueFoundrySdkEnv(BaseSettings):
36
36
  # Note: Every field in this class should have a default value
37
37
  # Never expect the user to set these values
38
38
 
39
+ # For local development, this enables further configuration via _TFYServersConfig
40
+ TFY_CLI_LOCAL_DEV_MODE: bool = False
41
+
39
42
  # These two are not meant to be used directly. See the TFY_HOST and TFY_API_KEY properties below
40
43
  TFY_HOST_: Optional[str] = Field(default=None, env=TFY_HOST_ENV_KEY)
41
44
  TFY_API_KEY_: Optional[SecretStr] = Field(default=None, env=TFY_API_KEY_ENV_KEY)
42
45
 
43
- # Internal Signed URL Server
46
+ ##############################
47
+ # Internal Signed URL Server #
48
+ ##############################
44
49
  TFY_INTERNAL_SIGNED_URL_SERVER_HOST: Optional[str] = Field(
45
50
  default=None, env=TFY_INTERNAL_SIGNED_URL_SERVER_HOST_ENV_KEY
46
51
  )
@@ -55,32 +60,42 @@ class TrueFoundrySdkEnv(BaseSettings):
55
60
  TFY_INTERNAL_SIGNED_URL_REQUEST_TIMEOUT: int = 3600 # default: 1 hour
56
61
  TFY_INTERNAL_SIGNED_URL_CLIENT_LOG_LEVEL: str = "WARNING"
57
62
 
58
- # Artifacts
63
+ #############
64
+ # Artifacts #
65
+ #############
59
66
  TFY_ARTIFACTS_DOWNLOAD_CHUNK_SIZE_BYTES: int = 100 * 1000 * 1000
60
67
  TFY_ARTIFACTS_DOWNLOAD_MAX_WORKERS: int = max(min(32, (os.cpu_count() or 2) * 2), 4)
61
68
  TFY_ARTIFACTS_UPLOAD_MAX_WORKERS: int = max(min(32, (os.cpu_count() or 2) * 2), 4)
62
69
  TFY_ARTIFACTS_DISABLE_MULTIPART_UPLOAD: bool = False
63
70
  TFY_ARTIFACTS_DOWNLOAD_FSYNC_CHUNKS: bool = False
64
71
 
65
- # Fo customizing the python image used for building via PythonBuild
72
+ #############
73
+ # TFY Build #
74
+ #############
75
+ # For customizing the images and packages used for builds
66
76
  TFY_PYTHONBUILD_PYTHON_IMAGE_REPO: str = "public.ecr.aws/docker/library/python"
67
-
68
- # TODO(gw): Use another image with more linient rate limits
69
- TFY_SPARK_BUILD_SPARK_IMAGE_REPO: str = "public.ecr.aws/bitnami/spark"
70
-
71
- TFY_TASK_PYSPARK_BUILD_SPARK_IMAGE_REPO: str = "public.ecr.aws/bitnami/spark"
72
-
73
- # For local development, this enables futher configuration via _TFYServersConfig
74
- TFY_CLI_LOCAL_DEV_MODE: bool = False
75
-
76
77
  TFY_PYTHON_BUILD_PACKAGE_MANAGER: PythonPackageManager = PythonPackageManager.UV
77
78
  TFY_PYTHON_BUILD_UV_IMAGE_REPO: str = "ghcr.io/astral-sh/uv"
78
79
  TFY_PYTHON_BUILD_UV_IMAGE_TAG: str = "latest"
80
+ TFY_PYTHON_BUILD_POETRY_VERSION: str = Field(
81
+ default="2.0", env="TFY_PYTHON_BUILD_POETRY_VERSION"
82
+ )
83
+ TFY_PYTHON_BUILD_LATEST_POETRY_MAJOR_VERSION: int = Field(
84
+ default=2, env="TFY_PYTHON_BUILD_LATEST_POETRY_MAJOR_VERSION"
85
+ )
86
+ TFY_SPARK_BUILD_SPARK_IMAGE_REPO: str = "public.ecr.aws/bitnami/spark"
87
+ TFY_TASK_PYSPARK_BUILD_SPARK_IMAGE_REPO: str = "public.ecr.aws/bitnami/spark"
79
88
 
89
+ ##############
90
+ # OpenAI API #
91
+ ##############
80
92
  # Global Constants for OpenAI Integration
81
93
  OPENAI_API_KEY: Optional[str] = Field(default=None, env=OPENAI_API_KEY_KEY)
82
94
  OPENAI_MODEL: Optional[str] = Field(default=None, env=OPENAI_MODEL_KEY)
83
95
 
96
+ ###########
97
+ # TFY Ask #
98
+ ###########
84
99
  # Ask Command Specific Environment Variables for TrueFoundry
85
100
  TFY_ASK_OPENAI_API_KEY: Optional[str] = Field(
86
101
  default=None, env=TFY_ASK_OPENAI_API_KEY_KEY
@@ -94,12 +109,6 @@ class TrueFoundrySdkEnv(BaseSettings):
94
109
  )
95
110
  TFY_ASK_SYSTEM_PROMPT_NAME: str = Field(default="tfy-ask-k8s-prompt")
96
111
  TFY_INTERNAL_ASK_CONFIG_OVERRIDE_FILE: Optional[str] = Field(default=None)
97
- TFY_PYTHON_BUILD_POETRY_VERSION: str = Field(
98
- default="2.0", env="TFY_PYTHON_BUILD_POETRY_VERSION"
99
- )
100
- TFY_PYTHON_BUILD_LATEST_POETRY_MAJOR_VERSION: int = Field(
101
- default=2, env="TFY_PYTHON_BUILD_LATEST_POETRY_MAJOR_VERSION"
102
- )
103
112
 
104
113
  # This is a hack to fresh read the env vars because people can end up importing this file
105
114
  # before setting the correct env vars. E.g. in notebook environments.
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2025-09-10T19:32:14+00:00
3
+ # timestamp: 2025-10-15T06:08:56+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -621,8 +621,8 @@ class Pip(BaseModel):
621
621
 
622
622
  class Poetry(BaseModel):
623
623
  """
624
- Use `poetry` to setup env
625
- Your build context root must contain `pyproject.toml` and `poetry.lock
624
+ Use `poetry` to setup env.
625
+ Your build context root must contain `pyproject.toml` and `poetry.lock`
626
626
  """
627
627
 
628
628
  type: Literal["poetry"] = Field(..., description="")
@@ -1095,7 +1095,7 @@ class TrueFoundryInteractiveLogin(BaseModel):
1095
1095
  class UV(BaseModel):
1096
1096
  """
1097
1097
  Use `uv` to setup env.
1098
- Your build context root must contain `pyproject.toml` and `uv.lock
1098
+ Your build context root must contain `pyproject.toml` and `uv.lock`
1099
1099
  """
1100
1100
 
1101
1101
  type: Literal["uv"] = Field(..., description="")
@@ -40,6 +40,7 @@ from truefoundry.ml.log_types.artifacts.utils import (
40
40
  calculate_total_size,
41
41
  get_autogen_type,
42
42
  set_tfy_internal_metadata,
43
+ set_user_artifact_metadata,
43
44
  )
44
45
  from truefoundry.ml.logger import logger
45
46
  from truefoundry.ml.session import _get_api_client
@@ -458,6 +459,7 @@ def _log_artifact_version_helper(
458
459
 
459
460
  metadata = metadata or {}
460
461
  metadata = set_tfy_internal_metadata(metadata)
462
+ metadata = set_user_artifact_metadata(metadata)
461
463
 
462
464
  _validate_description(description)
463
465
  _validate_artifact_metadata(metadata)
@@ -26,7 +26,7 @@ following:
26
26
  from truefoundry.ml import get_client
27
27
  from truefoundry.ml import ModelVersion, ModelSchema, Feature, FeatureValueType, PredictionValueType
28
28
  client = get_client()
29
- model_version = ModelVersion(fqn="{fqn}")
29
+ model_version = ModelVersion.from_fqn(fqn="{fqn}")
30
30
  model_version = ModelSchema(...) # or schema in dictionary format {{"features": [...], "prediction": ...}}
31
31
  model_version.update()
32
32
  ```
@@ -36,3 +36,6 @@ ARTIFACT_METADATA_TRUEFOUNDRY_KEY = ".truefoundry"
36
36
  TFY_INTERNAL_APPLICATION_ID_ENV_VAR = "TFY_INTERNAL_APPLICATION_ID"
37
37
  TFY_INTERNAL_APPLICATION_VERSION_ENV_VAR = "TFY_INTERNAL_APPLICATION_VERSION"
38
38
  TFY_INTERNAL_JOB_RUN_NAME_ENV_VAR = "TFY_INTERNAL_JOB_RUN_NAME"
39
+ TFY_ARTIFACTS_ADDITIONAL_USER_METADATA_ENV_VAR = (
40
+ "TFY_ARTIFACTS_ADDITIONAL_USER_METADATA"
41
+ )
@@ -47,6 +47,7 @@ from truefoundry.ml.log_types.artifacts.utils import (
47
47
  calculate_total_size,
48
48
  get_autogen_type,
49
49
  set_tfy_internal_metadata,
50
+ set_user_artifact_metadata,
50
51
  )
51
52
  from truefoundry.ml.model_framework import (
52
53
  ModelFrameworkType,
@@ -547,6 +548,7 @@ def _log_model_version( # noqa: C901
547
548
  total_size = None
548
549
  metadata = metadata or {}
549
550
  metadata = set_tfy_internal_metadata(metadata)
551
+ metadata = set_user_artifact_metadata(metadata)
550
552
 
551
553
  _validate_description(description)
552
554
  _validate_artifact_metadata(metadata)
@@ -10,6 +10,7 @@ from truefoundry.ml.exceptions import MlFoundryException
10
10
  from truefoundry.ml.log_types.artifacts.constants import (
11
11
  ARTIFACT_METADATA_TRUEFOUNDRY_KEY,
12
12
  DESCRIPTION_MAX_LENGTH,
13
+ TFY_ARTIFACTS_ADDITIONAL_USER_METADATA_ENV_VAR,
13
14
  TFY_INTERNAL_APPLICATION_ID_ENV_VAR,
14
15
  TFY_INTERNAL_APPLICATION_VERSION_ENV_VAR,
15
16
  TFY_INTERNAL_JOB_RUN_NAME_ENV_VAR,
@@ -237,16 +238,8 @@ def get_autogen_type(parent_type: Type[BaseModel], field_name: str) -> Type[Base
237
238
 
238
239
 
239
240
  def set_tfy_internal_metadata(metadata: Dict[str, Any]) -> Dict[str, Any]:
240
- if ARTIFACT_METADATA_TRUEFOUNDRY_KEY not in metadata:
241
- metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY] = {}
242
- elif not isinstance(metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY], dict):
243
- return metadata
244
-
245
- tfy_metadata = metadata[ARTIFACT_METADATA_TRUEFOUNDRY_KEY]
246
- created_by_key = "created_by"
247
- if created_by_key not in tfy_metadata:
248
- tfy_metadata[created_by_key] = {}
249
- elif not isinstance(tfy_metadata[created_by_key], dict):
241
+ tfy_metadata = metadata.setdefault(ARTIFACT_METADATA_TRUEFOUNDRY_KEY, {})
242
+ if not isinstance(tfy_metadata, dict):
250
243
  return metadata
251
244
 
252
245
  tfy_internal_metadata = {
@@ -254,8 +247,53 @@ def set_tfy_internal_metadata(metadata: Dict[str, Any]) -> Dict[str, Any]:
254
247
  "application_version": os.environ.get(TFY_INTERNAL_APPLICATION_VERSION_ENV_VAR),
255
248
  "job_run_name": os.environ.get(TFY_INTERNAL_JOB_RUN_NAME_ENV_VAR),
256
249
  }
257
- created_by_metadata = tfy_metadata[created_by_key]
258
- for key, value in tfy_internal_metadata.items():
259
- if key not in created_by_metadata and value is not None:
260
- created_by_metadata[key] = value
250
+ tfy_internal_metadata = {
251
+ k: v for k, v in tfy_internal_metadata.items() if v is not None
252
+ }
253
+
254
+ if tfy_internal_metadata:
255
+ created_by_key = "created_by"
256
+ created_by_metadata = tfy_metadata.setdefault(created_by_key, {})
257
+ if created_by_key in tfy_metadata and not isinstance(created_by_metadata, dict):
258
+ return metadata
259
+ for key, value in tfy_internal_metadata.items():
260
+ if key not in created_by_metadata:
261
+ created_by_metadata[key] = value
262
+ return metadata
263
+
264
+
265
+ def _merge_dicts_recursively(
266
+ src: Dict[str, Any], dest: Dict[str, Any], overwrite: bool = False
267
+ ) -> Dict[str, Any]:
268
+ for key, value in src.items():
269
+ if key not in dest:
270
+ dest[key] = value
271
+ else:
272
+ if isinstance(value, dict) and isinstance(dest[key], dict):
273
+ _merge_dicts_recursively(value, dest[key], overwrite=overwrite)
274
+ elif overwrite:
275
+ dest[key] = value
276
+ return dest
277
+
278
+
279
+ def set_user_artifact_metadata(metadata: Dict[str, Any]) -> Dict[str, Any]:
280
+ _user_metadata = os.environ.get(TFY_ARTIFACTS_ADDITIONAL_USER_METADATA_ENV_VAR)
281
+ if not _user_metadata:
282
+ return metadata
283
+
284
+ try:
285
+ user_metadata = json.loads(_user_metadata)
286
+ except ValueError:
287
+ logger.warning(
288
+ "Content of `TFY_ARTIFACTS_ADDITIONAL_USER_METADATA` environment variable is not valid json, cannot add to metadata"
289
+ )
290
+ return metadata
291
+
292
+ if not isinstance(user_metadata, dict):
293
+ logger.warning(
294
+ "Content of `TFY_ARTIFACTS_ADDITIONAL_USER_METADATA` environment variable is not a dictionary, cannot add to metadata"
295
+ )
296
+ return metadata
297
+
298
+ metadata = _merge_dicts_recursively(user_metadata, metadata, overwrite=False)
261
299
  return metadata
File without changes
File without changes