truefoundry 0.5.3rc2__tar.gz → 0.5.3rc4__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 (379) hide show
  1. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/PKG-INFO +1 -1
  2. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/pyproject.toml +2 -1
  3. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/agents/base.py +1 -1
  4. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/agents/developer.py +1 -1
  5. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/agents/project_identifier.py +1 -1
  6. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/agents/tester.py +1 -1
  7. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/base.py +2 -1
  8. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/commit.py +1 -1
  9. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/docker_build.py +1 -1
  10. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/docker_run.py +1 -1
  11. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/file_type_counts.py +1 -1
  12. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/list_files.py +1 -1
  13. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/read_file.py +1 -2
  14. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/send_request.py +1 -1
  15. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/write_file.py +1 -1
  16. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/__main__.py +4 -0
  17. truefoundry-0.5.3rc4/truefoundry/cli/commands/pat.py +24 -0
  18. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/constants.py +1 -0
  19. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/clients/servicefoundry_client.py +24 -1
  20. truefoundry-0.5.3rc4/truefoundry/gateway/__init__.py +1 -0
  21. truefoundry-0.5.3rc4/truefoundry/gateway/cli/cli.py +51 -0
  22. truefoundry-0.5.3rc4/truefoundry/gateway/lib/client.py +51 -0
  23. truefoundry-0.5.3rc4/truefoundry/gateway/lib/entities.py +33 -0
  24. truefoundry-0.5.3rc4/truefoundry/gateway/lib/models.py +67 -0
  25. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/README.md +0 -0
  26. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/__init__.py +0 -0
  27. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/__init__.py +0 -0
  28. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/agents/__init__.py +0 -0
  29. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/cli.py +0 -0
  30. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/constants.py +0 -0
  31. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/exception.py +0 -0
  32. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/logger.py +0 -0
  33. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/__init__.py +0 -0
  34. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/tools/ask.py +0 -0
  35. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/utils/client.py +0 -0
  36. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/utils/diff.py +0 -0
  37. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  38. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/__init__.py +0 -0
  39. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/config.py +0 -0
  40. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/console.py +0 -0
  41. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/const.py +0 -0
  42. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/display_util.py +0 -0
  43. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/cli/util.py +0 -0
  44. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/__init__.py +0 -0
  45. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/auth_service_client.py +0 -0
  46. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/credential_file_manager.py +0 -0
  47. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/credential_provider.py +0 -0
  48. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/entities.py +0 -0
  49. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/exceptions.py +0 -0
  50. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/request_utils.py +0 -0
  51. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/servicefoundry_client.py +0 -0
  52. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/common/utils.py +0 -0
  53. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/__init__.py +0 -0
  54. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/auto_gen/models.py +0 -0
  55. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/__init__.py +0 -0
  56. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  57. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  58. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  59. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  60. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  61. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  62. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/constants.py +0 -0
  63. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/docker_service.py +0 -0
  64. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/builder/utils.py +0 -0
  65. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/__init__.py +0 -0
  66. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  67. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  68. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  69. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/build_logs_command.py +0 -0
  70. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/create_command.py +0 -0
  71. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  72. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  73. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  74. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  75. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/list_command.py +0 -0
  76. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  77. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  78. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  79. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  80. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  81. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
  82. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  83. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  84. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/core/__init__.py +0 -0
  85. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/core/login.py +0 -0
  86. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/core/logout.py +0 -0
  87. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/io/__init__.py +0 -0
  88. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/io/output_callback.py +0 -0
  89. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  90. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/__init__.py +0 -0
  91. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/auth/servicefoundry_session.py +0 -0
  92. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/clients/__init__.py +0 -0
  93. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/const.py +0 -0
  94. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/dao/__init__.py +0 -0
  95. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/dao/application.py +0 -0
  96. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/dao/apply.py +0 -0
  97. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/dao/version.py +0 -0
  98. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  99. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/logs_utils.py +0 -0
  100. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/messages.py +0 -0
  101. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/model/__init__.py +0 -0
  102. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/model/entity.py +0 -0
  103. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/session.py +0 -0
  104. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/util.py +0 -0
  105. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/lib/win32.py +0 -0
  106. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  107. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/__init__.py +0 -0
  108. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  109. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/deploy.py +0 -0
  110. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  111. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  112. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/models.py +0 -0
  113. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  114. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/deploy/v2/lib/source.py +0 -0
  115. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/logger.py +0 -0
  116. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/__init__.py +0 -0
  117. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/artifact/__init__.py +0 -0
  118. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  119. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/__init__.py +0 -0
  120. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/__init__.py +0 -0
  121. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
  122. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
  123. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
  124. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
  125. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
  126. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
  127. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
  128. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  129. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
  130. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
  131. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api_client.py +0 -0
  132. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/api_response.py +0 -0
  133. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/configuration.py +0 -0
  134. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/exceptions.py +0 -0
  135. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
  136. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
  137. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
  138. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/agent.py +0 -0
  139. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
  140. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
  141. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  142. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
  143. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
  144. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
  145. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
  146. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
  147. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +0 -0
  148. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
  149. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
  150. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
  151. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
  152. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  153. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  154. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
  155. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
  156. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
  157. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
  158. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
  159. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/command.py +0 -0
  160. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/content.py +0 -0
  161. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/content1.py +0 -0
  162. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/content2.py +0 -0
  163. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
  164. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
  165. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
  166. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
  167. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
  168. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
  169. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
  170. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
  171. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
  172. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  173. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  174. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  175. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  176. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  177. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
  178. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
  179. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  180. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
  181. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
  182. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  183. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
  184. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  185. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
  186. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
  187. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
  188. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
  189. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
  190. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
  191. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
  192. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
  193. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/external_artifact_source.py +0 -0
  194. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
  195. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
  196. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  197. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/framework.py +0 -0
  198. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_artifact_tags_response_dto.py +0 -0
  199. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
  200. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  201. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
  202. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  203. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  204. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  205. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  206. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  207. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  208. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  209. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  210. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
  211. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
  212. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
  213. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
  214. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
  215. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
  216. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
  217. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
  218. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
  219. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
  220. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
  221. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
  222. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  223. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  224. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
  225. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
  226. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
  227. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
  228. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
  229. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
  230. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  231. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  232. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  233. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  234. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  235. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
  236. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
  237. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
  238. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
  239. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
  240. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
  241. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  242. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
  243. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
  244. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
  245. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
  246. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
  247. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/method.py +0 -0
  248. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
  249. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
  250. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
  251. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
  252. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
  253. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
  254. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
  255. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
  256. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
  257. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_version_manifest.py +0 -0
  258. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
  259. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
  260. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
  261. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  262. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  263. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
  264. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
  265. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
  266. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
  267. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
  268. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
  269. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  270. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
  271. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
  272. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
  273. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
  274. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
  275. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
  276. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
  277. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
  278. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
  279. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
  280. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  281. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
  282. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
  283. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
  284. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
  285. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
  286. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/source.py +0 -0
  287. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/source1.py +0 -0
  288. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
  289. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
  290. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/stop.py +0 -0
  291. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
  292. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/subject.py +0 -0
  293. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
  294. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
  295. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
  296. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/text.py +0 -0
  297. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
  298. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
  299. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  300. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  301. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/true_foundry_artifact_source.py +0 -0
  302. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
  303. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
  304. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
  305. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
  306. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
  307. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
  308. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/url.py +0 -0
  309. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
  310. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  311. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  312. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
  313. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
  314. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
  315. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
  316. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
  317. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client/rest.py +0 -0
  318. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/client_README.md +0 -0
  319. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
  320. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/models/__init__.py +0 -0
  321. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/models/exceptions.py +0 -0
  322. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/models/schema.py +0 -0
  323. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/models/signature.py +0 -0
  324. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/autogen/models/utils.py +0 -0
  325. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/__init__.py +0 -0
  326. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/cli.py +0 -0
  327. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/commands/__init__.py +0 -0
  328. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/commands/download.py +0 -0
  329. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/commands/model_init.py +0 -0
  330. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/cli/utils.py +0 -0
  331. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/clients/__init__.py +0 -0
  332. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/clients/entities.py +0 -0
  333. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  334. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/clients/utils.py +0 -0
  335. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/constants.py +0 -0
  336. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/entities.py +0 -0
  337. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/enums.py +0 -0
  338. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/exceptions.py +0 -0
  339. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/git_info.py +0 -0
  340. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/internal_namespace.py +0 -0
  341. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/__init__.py +0 -0
  342. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  343. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  344. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  345. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  346. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  347. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  348. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/image/__init__.py +0 -0
  349. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/image/constants.py +0 -0
  350. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/image/image.py +0 -0
  351. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  352. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/image/types.py +0 -0
  353. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/plot.py +0 -0
  354. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  355. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/log_types/utils.py +0 -0
  356. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/logger.py +0 -0
  357. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/mlfoundry_api.py +0 -0
  358. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/mlfoundry_run.py +0 -0
  359. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/model_framework.py +0 -0
  360. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/run_utils.py +0 -0
  361. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/session.py +0 -0
  362. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/ml/validation_utils.py +0 -0
  363. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/pydantic_v1.py +0 -0
  364. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/version.py +0 -0
  365. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/__init__.py +0 -0
  366. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/container_task.py +0 -0
  367. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/example/deploy.sh +0 -0
  368. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/example/hello_world_package/workflow.py +0 -0
  369. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/example/package/test_workflow.py +0 -0
  370. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/example/truefoundry.yaml +0 -0
  371. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/example/workflow.yaml +0 -0
  372. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/map_task.py +0 -0
  373. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/python_task.py +0 -0
  374. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  375. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  376. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  377. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  378. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/task.py +0 -0
  379. {truefoundry-0.5.3rc2 → truefoundry-0.5.3rc4}/truefoundry/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truefoundry
3
- Version: 0.5.3rc2
3
+ Version: 0.5.3rc4
4
4
  Summary: Truefoundry CLI
5
5
  Author: Abhishek Choudhary
6
6
  Author-email: abhishek@truefoundry.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "truefoundry"
3
- version = "0.5.3rc2"
3
+ version = "0.5.3rc4"
4
4
  description = "Truefoundry CLI"
5
5
  authors = ["Abhishek Choudhary <abhishek@truefoundry.com>"]
6
6
  readme = "README.md"
@@ -139,6 +139,7 @@ warn_unused_ignores = true
139
139
  packages = [
140
140
  "truefoundry.common",
141
141
  "truefoundry.ml",
142
+ "truefoundry.gateway",
142
143
  ]
143
144
  exclude = [
144
145
  "^truefoundry/ml/autogen",
@@ -17,12 +17,12 @@ from openai.types.chat.chat_completion_user_message_param import (
17
17
  ChatCompletionUserMessageParam,
18
18
  )
19
19
  from openai.types.shared_params.function_definition import FunctionDefinition
20
- from pydantic import BaseModel, ValidationError
21
20
 
22
21
  from truefoundry.autodeploy.constants import AUTODEPLOY_MODEL_NAME
23
22
  from truefoundry.autodeploy.logger import logger
24
23
  from truefoundry.autodeploy.tools import Event, RequestEvent, Tool
25
24
  from truefoundry.autodeploy.utils.pydantic_compat import model_dump, model_json_schema
25
+ from truefoundry.pydantic_v1 import BaseModel, ValidationError
26
26
 
27
27
 
28
28
  def llm(
@@ -4,7 +4,6 @@ from typing import Dict, Optional
4
4
 
5
5
  import docker
6
6
  from openai import OpenAI
7
- from pydantic import Field
8
7
 
9
8
  from truefoundry.autodeploy.agents.base import Agent
10
9
  from truefoundry.autodeploy.agents.project_identifier import ProjectIdentifier
@@ -18,6 +17,7 @@ from truefoundry.autodeploy.tools import (
18
17
  RequestEvent,
19
18
  ResponseEvent,
20
19
  )
20
+ from truefoundry.pydantic_v1 import Field
21
21
 
22
22
 
23
23
  class Developer(Agent):
@@ -4,7 +4,6 @@ import enum
4
4
  from typing import List, Optional
5
5
 
6
6
  from openai import OpenAI
7
- from pydantic import Field
8
7
  from rich.console import Console
9
8
 
10
9
  from truefoundry.autodeploy.agents.base import Agent
@@ -16,6 +15,7 @@ from truefoundry.autodeploy.tools import (
16
15
  RequestEvent,
17
16
  ResponseEvent,
18
17
  )
18
+ from truefoundry.pydantic_v1 import Field
19
19
 
20
20
 
21
21
  class ComponentType(str, enum.Enum):
@@ -4,7 +4,6 @@ from typing import Dict, Optional
4
4
 
5
5
  import docker
6
6
  from openai import OpenAI
7
- from pydantic import Field
8
7
  from rich.console import Console
9
8
 
10
9
  from truefoundry.autodeploy.agents.base import Agent
@@ -16,6 +15,7 @@ from truefoundry.autodeploy.tools import (
16
15
  ResponseEvent,
17
16
  SendRequest,
18
17
  )
18
+ from truefoundry.pydantic_v1 import Field
19
19
 
20
20
 
21
21
  class Tester(Agent):
@@ -2,9 +2,10 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any, ClassVar, Generator, Optional, Protocol, Type
4
4
 
5
- from pydantic import BaseModel
6
5
  from rich.console import Console
7
6
 
7
+ from truefoundry.pydantic_v1 import BaseModel
8
+
8
9
 
9
10
  class Event(BaseModel):
10
11
  def render(self, _: Console) -> Optional[Any]: ...
@@ -4,7 +4,6 @@ import os
4
4
  import tempfile
5
5
  from typing import Any, Generator, Optional
6
6
 
7
- from pydantic import Field
8
7
  from rich.console import Console
9
8
  from rich.padding import Padding
10
9
  from rich.prompt import Confirm
@@ -20,6 +19,7 @@ from truefoundry.autodeploy.tools.base import (
20
19
  from truefoundry.autodeploy.utils.client import get_git_binary
21
20
  from truefoundry.autodeploy.utils.diff import LLMDiff
22
21
  from truefoundry.autodeploy.utils.pydantic_compat import model_dump
22
+ from truefoundry.pydantic_v1 import Field
23
23
 
24
24
 
25
25
  class CommitConfirmation(Event):
@@ -6,7 +6,6 @@ from typing import Any, Generator, Iterable, Optional
6
6
 
7
7
  import docker
8
8
  from docker.models.images import BuildError, json_stream
9
- from pydantic import Field
10
9
  from rich.console import Console, ConsoleOptions, RenderResult
11
10
  from rich.padding import Padding
12
11
  from rich.text import Text
@@ -19,6 +18,7 @@ from truefoundry.autodeploy.tools.base import (
19
18
  Rule,
20
19
  Tool,
21
20
  )
21
+ from truefoundry.pydantic_v1 import Field
22
22
 
23
23
 
24
24
  class DockerBuildLog(Event):
@@ -5,7 +5,6 @@ from typing import Any, Dict, Generator, List, Optional
5
5
 
6
6
  import docker
7
7
  import requests
8
- from pydantic import Field
9
8
  from rich.console import Console, ConsoleOptions, RenderResult
10
9
  from rich.padding import Padding
11
10
  from rich.text import Text
@@ -18,6 +17,7 @@ from truefoundry.autodeploy.tools.base import (
18
17
  Rule,
19
18
  Tool,
20
19
  )
20
+ from truefoundry.pydantic_v1 import Field
21
21
 
22
22
 
23
23
  class DockerRunLog(Event):
@@ -5,7 +5,6 @@ from collections import Counter
5
5
  from typing import Any, Dict, Generator
6
6
 
7
7
  import gitignorefile
8
- from pydantic import Field
9
8
  from rich.console import Console
10
9
  from rich.table import Table
11
10
 
@@ -17,6 +16,7 @@ from truefoundry.autodeploy.tools.base import (
17
16
  Rule,
18
17
  Tool,
19
18
  )
19
+ from truefoundry.pydantic_v1 import Field
20
20
 
21
21
 
22
22
  class ShowFileCount(Event):
@@ -5,7 +5,6 @@ from fnmatch import fnmatch
5
5
  from typing import Any, Generator, List, Optional
6
6
 
7
7
  import gitignorefile
8
- from pydantic import Field
9
8
 
10
9
  from truefoundry.autodeploy.tools.base import (
11
10
  Event,
@@ -15,6 +14,7 @@ from truefoundry.autodeploy.tools.base import (
15
14
  Rule,
16
15
  Tool,
17
16
  )
17
+ from truefoundry.pydantic_v1 import Field
18
18
 
19
19
 
20
20
  class ListFiles(Tool):
@@ -3,8 +3,6 @@ from __future__ import annotations
3
3
  import os
4
4
  from typing import Any, Generator, List, Optional
5
5
 
6
- from pydantic import BaseModel, Field
7
-
8
6
  from truefoundry.autodeploy.constants import MAX_FILE_SIZE_READ
9
7
  from truefoundry.autodeploy.tools.base import (
10
8
  Event,
@@ -14,6 +12,7 @@ from truefoundry.autodeploy.tools.base import (
14
12
  Rule,
15
13
  Tool,
16
14
  )
15
+ from truefoundry.pydantic_v1 import BaseModel, Field
17
16
 
18
17
 
19
18
  class Line(BaseModel):
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
  from typing import Any, Generator, Optional
4
4
 
5
5
  import requests
6
- from pydantic import Field
7
6
 
8
7
  from truefoundry.autodeploy.tools.base import (
9
8
  Event,
@@ -13,6 +12,7 @@ from truefoundry.autodeploy.tools.base import (
13
12
  Rule,
14
13
  Tool,
15
14
  )
15
+ from truefoundry.pydantic_v1 import Field
16
16
 
17
17
 
18
18
  class SendRequest(Tool):
@@ -4,12 +4,12 @@ from __future__ import annotations
4
4
  import os
5
5
  from typing import Optional
6
6
 
7
- from pydantic import BaseModel, Field
8
7
  from rich.console import Console
9
8
  from rich.prompt import Confirm
10
9
 
11
10
  from truefoundry.autodeploy.tools.base import Tool
12
11
  from truefoundry.autodeploy.utils.diff import Diff
12
+ from truefoundry.pydantic_v1 import BaseModel, Field
13
13
 
14
14
  INTERACTIVE_SESSION = True
15
15
 
@@ -4,6 +4,7 @@ import sys
4
4
  import rich_click as click
5
5
 
6
6
  from truefoundry import logger
7
+ from truefoundry.cli.commands.pat import get_generate_pat_command
7
8
  from truefoundry.cli.config import CliConfig
8
9
  from truefoundry.cli.const import GROUP_CLS
9
10
  from truefoundry.cli.util import setup_rich_click
@@ -21,6 +22,7 @@ from truefoundry.deploy.cli.commands import (
21
22
  get_terminate_command,
22
23
  get_trigger_command,
23
24
  )
25
+ from truefoundry.gateway.cli.cli import get_gateway_cli
24
26
  from truefoundry.ml.cli.cli import get_ml_cli
25
27
  from truefoundry.version import __version__
26
28
 
@@ -88,6 +90,8 @@ def create_truefoundry_cli() -> click.MultiCommand:
88
90
  cli.add_command(get_trigger_command())
89
91
  cli.add_command(get_terminate_command())
90
92
  cli.add_command(get_ml_cli())
93
+ cli.add_command(get_gateway_cli())
94
+ cli.add_command(get_generate_pat_command())
91
95
 
92
96
  if not (sys.platform.startswith("win32") or sys.platform.startswith("cygwin")):
93
97
  cli.add_command(get_patch_command())
@@ -0,0 +1,24 @@
1
+ import click
2
+
3
+ from truefoundry.cli.console import console
4
+ from truefoundry.cli.const import COMMAND_CLS
5
+ from truefoundry.deploy.lib.clients.servicefoundry_client import (
6
+ ServiceFoundryServiceClient,
7
+ )
8
+
9
+
10
+ @click.command(cls=COMMAND_CLS, name="generate-api-key")
11
+ @click.option(
12
+ "--name",
13
+ required=True,
14
+ help="Name for the API key",
15
+ )
16
+ def generate_pat(name: str):
17
+ """Generate a new Personal Access Token with specified name"""
18
+ client = ServiceFoundryServiceClient()
19
+ pat = client.create_pat(name)
20
+ console.print(pat)
21
+
22
+
23
+ def get_generate_pat_command():
24
+ return generate_pat
@@ -63,3 +63,4 @@ API_SERVER_RELATIVE_PATH = "api/svc"
63
63
  MLFOUNDRY_SERVER_RELATIVE_PATH = "api/ml"
64
64
  VERSION_PREFIX = "v1"
65
65
  SERVICEFOUNDRY_CLIENT_MAX_RETRIES = 2
66
+ GATEWAY_SERVER_RELATIVE_PATH = "api/llm"
@@ -4,7 +4,7 @@ import json
4
4
  import os
5
5
  import time
6
6
  from datetime import datetime, timezone
7
- from typing import TYPE_CHECKING, Any, Dict, List, Optional
7
+ from typing import TYPE_CHECKING, Any, Dict, List, Literal, Optional
8
8
  from urllib.parse import urljoin
9
9
 
10
10
  import requests
@@ -43,6 +43,7 @@ from truefoundry.deploy.v2.lib.models import (
43
43
  BuildResponse,
44
44
  DeploymentFqnResponse,
45
45
  )
46
+ from truefoundry.gateway.lib.entities import ProviderModels
46
47
  from truefoundry.logger import logger
47
48
  from truefoundry.pydantic_v1 import parse_obj_as
48
49
 
@@ -708,3 +709,25 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
708
709
  )
709
710
  response_data = request_handling(response)
710
711
  return response_data
712
+
713
+ def get_gateway_models(
714
+ self, model_type: Optional[Literal["chat", "completion", "embedding"]] = None
715
+ ) -> ProviderModels:
716
+ url = f"{self._api_server_url}/{VERSION_PREFIX}/llm-gateway/model/enabled"
717
+ params = {}
718
+ if model_type:
719
+ params["modelType"] = model_type
720
+ response = session_with_retries().get(
721
+ url, headers=self._get_header(), params=params
722
+ )
723
+ response = request_handling(response)
724
+ return parse_obj_as(ProviderModels, response)
725
+
726
+ def create_pat(self, name: str):
727
+ url = f"{self._api_server_url}/{VERSION_PREFIX}/service-account/pat"
728
+ body = {"name": name}
729
+ response = session_with_retries().post(
730
+ url, headers=self._get_header(), json=body
731
+ )
732
+ response = request_handling(response)
733
+ return response
@@ -0,0 +1 @@
1
+ """Gateway module for Truefoundry CLI"""
@@ -0,0 +1,51 @@
1
+ import click
2
+
3
+ from truefoundry.cli.const import COMMAND_CLS, GROUP_CLS
4
+ from truefoundry.cli.display_util import print_entity_list
5
+ from truefoundry.gateway.lib.models import generate_code_for_model, list_models
6
+
7
+
8
+ def get_gateway_cli():
9
+ @click.group(cls=GROUP_CLS, help="Commands to interact with TrueFoundry Gateway")
10
+ def gateway(): ...
11
+
12
+ @gateway.group("list", cls=GROUP_CLS, help="List gateway resources")
13
+ def list_group():
14
+ """List gateway resources"""
15
+ pass
16
+
17
+ @list_group.command(
18
+ "models", cls=COMMAND_CLS, help="List available models filtered by type"
19
+ )
20
+ @click.option(
21
+ "--type",
22
+ "model_type",
23
+ type=click.Choice(["chat", "completion", "embedding"]),
24
+ help="Filter models by type",
25
+ )
26
+ def list_models_cli(model_type: str):
27
+ enabled_models = list_models(model_type)
28
+ print_entity_list("Models", enabled_models)
29
+
30
+ @gateway.command("generate-code", cls=COMMAND_CLS, help="Generate code for a model")
31
+ @click.argument("model_id")
32
+ @click.option(
33
+ "--inference-type",
34
+ type=click.Choice(["chat", "completion", "embedding"]),
35
+ default="chat",
36
+ help="Type of inference to generate code for",
37
+ )
38
+ @click.option(
39
+ "--client",
40
+ type=click.Choice(["openai", "rest", "langchain", "stream", "node", "curl"]),
41
+ default="curl",
42
+ help="Language/framework to generate code for",
43
+ )
44
+ def generate_code_cli(model_id: str, inference_type: str, client: str):
45
+ """Generate code for a model"""
46
+ code = generate_code_for_model(
47
+ model_id, client=client, inference_type=inference_type
48
+ )
49
+ print(code)
50
+
51
+ return gateway
@@ -0,0 +1,51 @@
1
+ from typing import Literal, Optional
2
+
3
+ import requests
4
+
5
+ from truefoundry.common.constants import GATEWAY_SERVER_RELATIVE_PATH
6
+ from truefoundry.common.credential_provider import (
7
+ CredentialProvider,
8
+ EnvCredentialProvider,
9
+ FileCredentialProvider,
10
+ )
11
+
12
+
13
+ class GatewayServiceClient:
14
+ def __init__(
15
+ self,
16
+ credential_provider: Optional[CredentialProvider] = None,
17
+ host: Optional[str] = None,
18
+ ) -> None:
19
+ if credential_provider is None:
20
+ if EnvCredentialProvider.can_provide():
21
+ credential_provider = EnvCredentialProvider()
22
+ elif FileCredentialProvider.can_provide():
23
+ credential_provider = FileCredentialProvider()
24
+ else:
25
+ raise Exception(
26
+ "No credentials found. Please login using `tfy login` or set TFY_API_KEY environment variable"
27
+ )
28
+
29
+ self._credential_provider = credential_provider
30
+ self._host = credential_provider.base_url
31
+
32
+ def _get_header(self):
33
+ return {
34
+ "Authorization": f"Bearer {self._credential_provider.token.access_token}"
35
+ }
36
+
37
+ @property
38
+ def _base_url(self) -> str:
39
+ return f"{self._host}/{GATEWAY_SERVER_RELATIVE_PATH}"
40
+
41
+ def generate_code(
42
+ self, model_id: str, inference_type: Literal["chat", "completion", "embedding"]
43
+ ) -> str:
44
+ url = f"{self._base_url}/api/inference/openai/generate-code-snippet"
45
+ data = {
46
+ "model": model_id,
47
+ "playground_endpoint": self._base_url,
48
+ "inference_type": inference_type,
49
+ }
50
+ response = requests.post(url, headers=self._get_header(), json=data)
51
+ return response.json()
@@ -0,0 +1,33 @@
1
+ from typing import Any, Dict, List, Optional, Union
2
+
3
+ from truefoundry.pydantic_v1 import BaseModel
4
+
5
+
6
+ class GatewayModel(BaseModel):
7
+ id: str
8
+ name: str
9
+ provider: str
10
+ model_id: Optional[str]
11
+ provider_account_name: str
12
+ tfy_application_id: Optional[str] = None
13
+ enabled: bool = True
14
+ types: Union[str, List[str]] = ""
15
+ created_by: str
16
+ tenant_name: str
17
+ model_fqn: str
18
+
19
+ def list_row_data(self) -> Dict[str, Any]:
20
+ model_display = self.model_fqn
21
+ provider_display = self.provider
22
+ if self.model_id:
23
+ provider_display = f"{self.provider} ({self.model_id})"
24
+
25
+ return {
26
+ "model": model_display,
27
+ "provider": provider_display,
28
+ "type": self.types if isinstance(self.types, str) else ", ".join(self.types)
29
+ }
30
+
31
+
32
+ class ProviderModels(BaseModel):
33
+ __root__: Dict[str, Dict[str, List[GatewayModel]]]
@@ -0,0 +1,67 @@
1
+ from typing import List, Literal, Optional
2
+
3
+ from truefoundry.deploy.lib.clients.servicefoundry_client import (
4
+ ServiceFoundryServiceClient,
5
+ )
6
+ from truefoundry.gateway.lib.client import GatewayServiceClient
7
+ from truefoundry.gateway.lib.entities import GatewayModel
8
+
9
+
10
+ def list_models(
11
+ model_type: Optional[Literal["chat", "completion", "embedding"]] = None,
12
+ ) -> List[GatewayModel]:
13
+ """List available models filtered by type
14
+
15
+ Args:
16
+ model_type (Optional[str], optional): Filter models by type ('chat' or 'completion'). Defaults to None.
17
+
18
+ Returns:
19
+ List: List of enabled models
20
+ """
21
+ client = ServiceFoundryServiceClient()
22
+ models = client.get_gateway_models(model_type)
23
+
24
+ enabled_models = []
25
+ for _, accounts in models.__root__.items():
26
+ for _, model_list in accounts.items():
27
+ for model in model_list:
28
+ enabled_models.append(model)
29
+
30
+ return enabled_models
31
+
32
+
33
+ def generate_code_for_model(
34
+ model_id: str,
35
+ client: Literal["openai", "rest", "langchain", "stream", "node", "curl"] = "curl",
36
+ inference_type: Literal["chat", "completion", "embedding"] = "chat",
37
+ ) -> str:
38
+ """Generate code snippet for using a model in the specified language/framework
39
+
40
+ Args:
41
+ model_id (str): ID of the model to generate code for
42
+ language (Literal["openai", "rest", "langchain", "stream", "node", "curl"]): Language/framework to generate code for. Defaults to "curl"
43
+ inference_type (Literal["chat", "completion", "embedding"]): Type of inference to generate code for. Defaults to "chat"
44
+
45
+ Returns:
46
+ str: Code snippet for using the model in the specified language/framework
47
+ """
48
+ gateway_client = GatewayServiceClient()
49
+ response = gateway_client.generate_code(model_id, inference_type)
50
+
51
+ code_map = {
52
+ "openai": ("openai_code", "Python code using OpenAI SDK for direct API calls"),
53
+ "rest": ("rest_code", "Python code using requests library for REST API calls"),
54
+ "langchain": (
55
+ "langchain_code",
56
+ "Python code using LangChain framework for LLM integration",
57
+ ),
58
+ "stream": ("stream_code", "Python code with streaming response handling"),
59
+ "node": ("node_code", "Node.js code using Axios for API calls"),
60
+ "curl": ("curl_code", "cURL command for direct API access via terminal"),
61
+ }
62
+
63
+ code_key, description = code_map[client]
64
+ if code_key in response and response[code_key]:
65
+ return f"{description}\n{response[code_key]}"
66
+
67
+ return "No code snippet available for the specified language"
File without changes