truefoundry 0.5.7rc1__tar.gz → 0.5.8rc2__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 (414) hide show
  1. truefoundry-0.5.8rc2/.github/workflows/lint-and-test.yml +132 -0
  2. truefoundry-0.5.8rc2/.github/workflows/release.yml +29 -0
  3. truefoundry-0.5.8rc2/.gitignore +152 -0
  4. truefoundry-0.5.8rc2/.pre-commit-config.yaml +28 -0
  5. truefoundry-0.5.8rc2/.pylintrc +6 -0
  6. truefoundry-0.5.8rc2/.tfy-cli-local.env.example +9 -0
  7. truefoundry-0.5.8rc2/DEVELOPMENT.md +45 -0
  8. truefoundry-0.5.8rc2/PKG-INFO +72 -0
  9. truefoundry-0.5.8rc2/enable_dynamic_versioning.py +15 -0
  10. truefoundry-0.5.8rc2/pyproject.toml +178 -0
  11. truefoundry-0.5.8rc2/run_mypy.sh +24 -0
  12. truefoundry-0.5.8rc2/tests/examples/README.md +14 -0
  13. truefoundry-0.5.8rc2/tests/examples/application-set/app.py +14 -0
  14. truefoundry-0.5.8rc2/tests/examples/application-set/application-set.yaml +45 -0
  15. truefoundry-0.5.8rc2/tests/examples/application-set/requirements.txt +2 -0
  16. truefoundry-0.5.8rc2/tests/examples/application-set/work.py +3 -0
  17. truefoundry-0.5.8rc2/tests/examples/job.yaml +28 -0
  18. truefoundry-0.5.8rc2/tests/examples/service-local-build.yaml +44 -0
  19. truefoundry-0.5.8rc2/tests/examples/service-remote-build.yaml +44 -0
  20. truefoundry-0.5.8rc2/tests/examples/service.yaml +35 -0
  21. truefoundry-0.5.8rc2/tests/examples/workflow/deploy.sh +3 -0
  22. truefoundry-0.5.8rc2/tests/ml/data/test_model_1.joblib +0 -0
  23. truefoundry-0.5.8rc2/tests/ml/data/xgboost-model.joblib +0 -0
  24. truefoundry-0.5.8rc2/tests/ml/end_to_end/end_to_end.py +788 -0
  25. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-1/config.json +16 -0
  26. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-2/file.txt +1 -0
  27. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/root.yaml +6 -0
  28. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file1.txt +1 -0
  29. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file2.txt +1 -0
  30. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file3.txt +1 -0
  31. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/folder1/file4.txt +1 -0
  32. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/config.json +4 -0
  33. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/nested_folder/file.txt +1 -0
  34. truefoundry-0.5.8rc2/tests/ml/models/test_model_signature.py +53 -0
  35. truefoundry-0.5.8rc2/tests/ml/test_model_framework.py +339 -0
  36. truefoundry-0.5.8rc2/tests/test_dockerfile_generation.py +213 -0
  37. truefoundry-0.5.8rc2/tests/test_service_parse.py +70 -0
  38. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/__main__.py +2 -2
  39. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/credential_provider.py +1 -1
  40. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/entities.py +2 -4
  41. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/servicefoundry_client.py +7 -2
  42. truefoundry-0.5.8rc2/truefoundry/common/types.py +7 -0
  43. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/utils.py +1 -1
  44. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/docker_service.py +1 -1
  45. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/deploy_command.py +3 -5
  46. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/clients/servicefoundry_client.py +4 -7
  47. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/deploy.py +5 -5
  48. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/deploy_workflow.py +8 -5
  49. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/deployable_patched_models.py +13 -9
  50. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/models.py +1 -1
  51. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/patched_models.py +1 -1
  52. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/source.py +2 -1
  53. truefoundry-0.5.8rc2/truefoundry/ml/autogen/__init__.py +0 -0
  54. truefoundry-0.5.8rc2/truefoundry/ml/cli/__init__.py +0 -0
  55. truefoundry-0.5.8rc2/truefoundry/ml/clients/__init__.py +0 -0
  56. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/plot.py +2 -2
  57. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/mlfoundry_run.py +1 -1
  58. truefoundry-0.5.8rc2/uv.lock +6347 -0
  59. truefoundry-0.5.7rc1/PKG-INFO +0 -79
  60. truefoundry-0.5.7rc1/pyproject.toml +0 -161
  61. truefoundry-0.5.7rc1/truefoundry/workflow/example/deploy.sh +0 -1
  62. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/README.md +0 -0
  63. {truefoundry-0.5.7rc1/truefoundry/autodeploy → truefoundry-0.5.8rc2/tests}/__init__.py +0 -0
  64. {truefoundry-0.5.7rc1/truefoundry/workflow/example → truefoundry-0.5.8rc2/tests/examples/workflow}/hello_world_package/workflow.py +0 -0
  65. {truefoundry-0.5.7rc1/truefoundry/workflow/example → truefoundry-0.5.8rc2/tests/examples/workflow}/package/test_workflow.py +0 -0
  66. {truefoundry-0.5.7rc1/truefoundry/workflow/example → truefoundry-0.5.8rc2/tests/examples/workflow}/truefoundry.yaml +0 -0
  67. {truefoundry-0.5.7rc1/truefoundry/workflow/example → truefoundry-0.5.8rc2/tests/examples/workflow}/workflow.yaml +0 -0
  68. {truefoundry-0.5.7rc1/truefoundry/autodeploy/agents → truefoundry-0.5.8rc2/tests/ml/end_to_end}/__init__.py +0 -0
  69. {truefoundry-0.5.7rc1/truefoundry/cli → truefoundry-0.5.8rc2/tests/ml/models}/__init__.py +0 -0
  70. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/__init__.py +0 -0
  71. {truefoundry-0.5.7rc1/truefoundry/common → truefoundry-0.5.8rc2/truefoundry/autodeploy}/__init__.py +0 -0
  72. {truefoundry-0.5.7rc1/truefoundry/deploy/cli → truefoundry-0.5.8rc2/truefoundry/autodeploy/agents}/__init__.py +0 -0
  73. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/agents/base.py +0 -0
  74. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/agents/developer.py +0 -0
  75. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  76. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/agents/tester.py +0 -0
  77. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/cli.py +0 -0
  78. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/constants.py +0 -0
  79. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/exception.py +0 -0
  80. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/logger.py +0 -0
  81. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/__init__.py +0 -0
  82. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/ask.py +0 -0
  83. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/base.py +0 -0
  84. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/commit.py +0 -0
  85. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  86. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  87. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  88. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/list_files.py +0 -0
  89. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/read_file.py +0 -0
  90. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/send_request.py +0 -0
  91. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/tools/write_file.py +0 -0
  92. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/utils/client.py +0 -0
  93. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/utils/diff.py +0 -0
  94. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  95. {truefoundry-0.5.7rc1/truefoundry/deploy/io → truefoundry-0.5.8rc2/truefoundry/cli}/__init__.py +0 -0
  96. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/config.py +0 -0
  97. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/console.py +0 -0
  98. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/const.py +0 -0
  99. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/display_util.py +0 -0
  100. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/cli/util.py +0 -0
  101. {truefoundry-0.5.7rc1/truefoundry/deploy/lib → truefoundry-0.5.8rc2/truefoundry/common}/__init__.py +0 -0
  102. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/auth_service_client.py +0 -0
  103. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/constants.py +0 -0
  104. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/credential_file_manager.py +0 -0
  105. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/exceptions.py +0 -0
  106. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/request_utils.py +0 -0
  107. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/session.py +0 -0
  108. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/storage_provider_utils.py +0 -0
  109. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/common/warnings.py +0 -0
  110. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/__init__.py +0 -0
  111. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/auto_gen/models.py +0 -0
  112. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/__init__.py +0 -0
  113. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  114. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  115. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  116. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  117. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  118. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  119. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/constants.py +0 -0
  120. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/builder/utils.py +0 -0
  121. {truefoundry-0.5.7rc1/truefoundry/deploy/lib/clients → truefoundry-0.5.8rc2/truefoundry/deploy/cli}/__init__.py +0 -0
  122. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  123. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  124. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  125. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/create_command.py +0 -0
  126. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  127. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  128. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  129. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/list_command.py +0 -0
  130. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  131. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  132. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  133. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  134. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  135. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
  136. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  137. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  138. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/core/__init__.py +0 -0
  139. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/core/login.py +0 -0
  140. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/core/logout.py +0 -0
  141. {truefoundry-0.5.7rc1/truefoundry/deploy/lib/dao → truefoundry-0.5.8rc2/truefoundry/deploy/io}/__init__.py +0 -0
  142. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/io/output_callback.py +0 -0
  143. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  144. {truefoundry-0.5.7rc1/truefoundry/deploy/lib/model → truefoundry-0.5.8rc2/truefoundry/deploy/lib}/__init__.py +0 -0
  145. {truefoundry-0.5.7rc1/truefoundry/deploy/v2 → truefoundry-0.5.8rc2/truefoundry/deploy/lib/clients}/__init__.py +0 -0
  146. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/const.py +0 -0
  147. {truefoundry-0.5.7rc1/truefoundry/ml/artifact → truefoundry-0.5.8rc2/truefoundry/deploy/lib/dao}/__init__.py +0 -0
  148. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/dao/application.py +0 -0
  149. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/dao/apply.py +0 -0
  150. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/dao/version.py +0 -0
  151. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  152. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/logs_utils.py +0 -0
  153. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/messages.py +0 -0
  154. {truefoundry-0.5.7rc1/truefoundry/ml/autogen → truefoundry-0.5.8rc2/truefoundry/deploy/lib/model}/__init__.py +0 -0
  155. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/model/entity.py +0 -0
  156. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/session.py +0 -0
  157. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/util.py +0 -0
  158. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/lib/win32.py +0 -0
  159. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  160. {truefoundry-0.5.7rc1/truefoundry/ml/cli → truefoundry-0.5.8rc2/truefoundry/deploy/v2}/__init__.py +0 -0
  161. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  162. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/logger.py +0 -0
  163. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/__init__.py +0 -0
  164. {truefoundry-0.5.7rc1/truefoundry/ml/clients → truefoundry-0.5.8rc2/truefoundry/ml/artifact}/__init__.py +0 -0
  165. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  166. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/__init__.py +0 -0
  167. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
  168. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
  169. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
  170. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
  171. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
  172. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
  173. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
  174. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  175. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
  176. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
  177. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api_client.py +0 -0
  178. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/api_response.py +0 -0
  179. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/configuration.py +0 -0
  180. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/exceptions.py +0 -0
  181. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
  182. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
  183. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
  184. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/agent.py +0 -0
  185. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
  186. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
  187. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  188. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
  189. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
  190. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
  191. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
  192. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
  193. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +0 -0
  194. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
  195. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
  196. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
  197. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
  198. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  199. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  200. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
  201. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
  202. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
  203. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
  204. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
  205. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/command.py +0 -0
  206. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/content.py +0 -0
  207. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/content1.py +0 -0
  208. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/content2.py +0 -0
  209. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
  210. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
  211. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
  212. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
  213. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
  214. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
  215. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
  216. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
  217. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
  218. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  219. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  220. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  221. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  222. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  223. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
  224. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
  225. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  226. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
  227. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
  228. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  229. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
  230. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  231. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
  232. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
  233. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
  234. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
  235. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
  236. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
  237. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
  238. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
  239. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/external_blob_storage_source.py +0 -0
  240. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
  241. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
  242. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  243. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/framework.py +0 -0
  244. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  245. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
  246. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  247. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
  248. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  249. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  250. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  251. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  252. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  253. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  254. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  255. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  256. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
  257. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
  258. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
  259. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
  260. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
  261. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
  262. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
  263. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
  264. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
  265. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
  266. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
  267. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
  268. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  269. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  270. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
  271. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
  272. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
  273. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
  274. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
  275. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
  276. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  277. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  278. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  279. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  280. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  281. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
  282. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
  283. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
  284. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
  285. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
  286. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
  287. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  288. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
  289. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
  290. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
  291. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
  292. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
  293. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/method.py +0 -0
  294. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
  295. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
  296. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
  297. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
  298. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
  299. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
  300. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
  301. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
  302. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
  303. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_version_manifest.py +0 -0
  304. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
  305. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
  306. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
  307. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  308. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  309. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
  310. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
  311. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
  312. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
  313. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
  314. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
  315. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  316. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
  317. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
  318. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
  319. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
  320. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
  321. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
  322. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
  323. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
  324. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
  325. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
  326. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  327. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
  328. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
  329. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
  330. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
  331. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
  332. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/source.py +0 -0
  333. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/source1.py +0 -0
  334. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
  335. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
  336. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/stop.py +0 -0
  337. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
  338. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/subject.py +0 -0
  339. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
  340. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
  341. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
  342. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/text.py +0 -0
  343. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
  344. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
  345. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  346. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  347. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/true_foundry_managed_source.py +0 -0
  348. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
  349. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
  350. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
  351. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
  352. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
  353. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
  354. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/url.py +0 -0
  355. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
  356. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  357. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  358. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
  359. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
  360. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
  361. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
  362. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
  363. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client/rest.py +0 -0
  364. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/client_README.md +0 -0
  365. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
  366. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/models/__init__.py +0 -0
  367. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/models/exceptions.py +0 -0
  368. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/models/schema.py +0 -0
  369. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/models/signature.py +0 -0
  370. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/autogen/models/utils.py +0 -0
  371. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/cli/cli.py +0 -0
  372. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/cli/commands/__init__.py +0 -0
  373. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/cli/commands/download.py +0 -0
  374. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/cli/commands/model_init.py +0 -0
  375. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/cli/utils.py +0 -0
  376. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  377. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/constants.py +0 -0
  378. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/entities.py +0 -0
  379. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/enums.py +0 -0
  380. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/exceptions.py +0 -0
  381. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/git_info.py +0 -0
  382. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/internal_namespace.py +0 -0
  383. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/__init__.py +0 -0
  384. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  385. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  386. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  387. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  388. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  389. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  390. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/image/__init__.py +0 -0
  391. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/image/constants.py +0 -0
  392. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/image/image.py +0 -0
  393. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  394. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/image/types.py +0 -0
  395. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  396. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/log_types/utils.py +0 -0
  397. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/logger.py +0 -0
  398. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/mlfoundry_api.py +0 -0
  399. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/model_framework.py +0 -0
  400. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/run_utils.py +0 -0
  401. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/session.py +0 -0
  402. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/ml/validation_utils.py +0 -0
  403. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/pydantic_v1.py +0 -0
  404. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/version.py +0 -0
  405. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/__init__.py +0 -0
  406. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/container_task.py +0 -0
  407. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/map_task.py +0 -0
  408. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/python_task.py +0 -0
  409. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  410. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  411. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  412. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  413. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/task.py +0 -0
  414. {truefoundry-0.5.7rc1 → truefoundry-0.5.8rc2}/truefoundry/workflow/workflow.py +0 -0
@@ -0,0 +1,132 @@
1
+ name: Lint and Test TrueFoundry CLI on multiple platforms
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - "main"
6
+
7
+ push:
8
+ branches:
9
+ - "main"
10
+
11
+ workflow_dispatch:
12
+
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ lint:
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ python-version: ["3.11"]
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@v5
28
+ with:
29
+ enable-cache: true
30
+ cache-dependency-glob: "uv.lock"
31
+
32
+ - name: Set up Python
33
+ run: uv venv --python ${{ matrix.python-version }} --seed
34
+
35
+ - name: Install the project
36
+ run: uv sync --locked --all-extras --dev
37
+
38
+ - name: Check files with pre-commit
39
+ run: |
40
+ uv run pre-commit run --all-files --show-diff-on-failure -v
41
+
42
+ mypy:
43
+ runs-on: ubuntu-latest
44
+ strategy:
45
+ matrix:
46
+ python-version: ["3.11"]
47
+ steps:
48
+ - uses: actions/checkout@v4
49
+
50
+ - name: Install uv
51
+ uses: astral-sh/setup-uv@v5
52
+ with:
53
+ enable-cache: true
54
+ cache-dependency-glob: "uv.lock"
55
+
56
+ - name: Set up Python
57
+ run: uv venv --python ${{ matrix.python-version }} --seed
58
+
59
+ - name: Install the project
60
+ run: uv sync --locked --all-extras --dev
61
+
62
+ - name: Run mypy
63
+ run: |
64
+ uv run bash run_mypy.sh
65
+
66
+ test-cli:
67
+ strategy:
68
+ max-parallel: 3
69
+ fail-fast: false
70
+ matrix:
71
+ os: [ubuntu-latest]
72
+ python-version: ["3.10"]
73
+
74
+ runs-on: ${{ matrix.os }}
75
+ timeout-minutes: 15
76
+
77
+ steps:
78
+ - uses: actions/checkout@v4
79
+
80
+ - name: Install uv
81
+ uses: astral-sh/setup-uv@v5
82
+ with:
83
+ enable-cache: true
84
+ cache-dependency-glob: "uv.lock"
85
+
86
+ - name: Set up Python
87
+ run: uv venv --python ${{ matrix.python-version }} --seed
88
+
89
+ - name: Install non dev dependencies
90
+ run: uv sync --locked --no-dev
91
+
92
+ - name: Test TrueFoundry CLI invocations
93
+ run: |
94
+ uv run tfy --help
95
+ uv run tfy deploy --help
96
+ uv run tfy ml --help
97
+
98
+ test:
99
+ strategy:
100
+ max-parallel: 3
101
+ fail-fast: false
102
+ matrix:
103
+ os: [ubuntu-latest, macos-latest, windows-latest]
104
+ python-version: ["3.8", "3.12"]
105
+
106
+ runs-on: ${{ matrix.os }}
107
+ timeout-minutes: 15
108
+
109
+ steps:
110
+ - uses: actions/checkout@v4
111
+
112
+ - name: Install uv
113
+ uses: astral-sh/setup-uv@v5
114
+ with:
115
+ enable-cache: true
116
+ cache-dependency-glob: "uv.lock"
117
+
118
+ - name: Set up Python
119
+ run: uv venv --python ${{ matrix.python-version }} --seed
120
+
121
+ # Install libomp for macOS
122
+ - name: Install libomp on macOS
123
+ if: runner.os == 'macOS'
124
+ run: |
125
+ brew install libomp
126
+
127
+ - name: Install the project
128
+ run: uv sync --locked --all-extras --dev
129
+
130
+ - name: Run tests
131
+ run: |
132
+ uv run pytest --durations=0 tests/
@@ -0,0 +1,29 @@
1
+ name: Publish pip package to PyPI
2
+ on:
3
+ push:
4
+ tags:
5
+ - v*
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ with:
13
+ fetch-depth: 0
14
+
15
+ - name: Install uv
16
+ uses: astral-sh/setup-uv@v5
17
+
18
+ - name: Enable dynamic versioning
19
+ run: uv run enable_dynamic_versioning.py
20
+
21
+ - name: Build project
22
+ run: uv build --python 3.10
23
+
24
+ - name: Publish distribution 📦 to PyPI
25
+ uses: pypa/gh-action-pypi-publish@release/v1
26
+ with:
27
+ password: ${{ secrets.PYPI_API_TOKEN }}
28
+ verbose: true
29
+ user: __token__
@@ -0,0 +1,152 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib64/
18
+ parts/
19
+ sdist/
20
+ var/
21
+ wheels/
22
+ pip-wheel-metadata/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+
53
+ # Translations
54
+ *.mo
55
+ *.pot
56
+
57
+ # Django stuff:
58
+ *.log
59
+ local_settings.py
60
+ db.sqlite3
61
+ db.sqlite3-journal
62
+
63
+ # Flask stuff:
64
+ instance/
65
+ .webassets-cache
66
+
67
+ # Scrapy stuff:
68
+ .scrapy
69
+
70
+ # Sphinx documentation
71
+ docs/_build/
72
+
73
+ # PyBuilder
74
+ target/
75
+
76
+ # Jupyter Notebook
77
+ .ipynb_checkpoints
78
+
79
+ # IPython
80
+ profile_default/
81
+ ipython_config.py
82
+
83
+ # pyenv
84
+ .python-version
85
+
86
+ # pipenv
87
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
88
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
89
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
90
+ # install all needed dependencies.
91
+ #Pipfile.lock
92
+
93
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
94
+ __pypackages__/
95
+
96
+ # Celery stuff
97
+ celerybeat-schedule
98
+ celerybeat.pid
99
+
100
+ # SageMath parsed files
101
+ *.sage.py
102
+
103
+ # Environments
104
+ *.env
105
+ .venv
106
+ env/
107
+ venv/
108
+ ENV/
109
+ env.bak/
110
+ venv.bak/
111
+
112
+ # Spyder project settings
113
+ .spyderproject
114
+ .spyproject
115
+
116
+ # Rope project settings
117
+ .ropeproject
118
+
119
+ # mkdocs documentation
120
+ /site
121
+
122
+ # mypy
123
+ .mypy_cache/
124
+ .dmypy.json
125
+ dmypy.json
126
+
127
+ # Pyre type checker
128
+ .pyre/
129
+
130
+
131
+ # mlflow local files
132
+ mlruns/
133
+ mlf/
134
+
135
+ # local build files
136
+ servicefoundry/
137
+ tmp/
138
+
139
+ # dataset files
140
+ *.gz
141
+ aclImdb/
142
+
143
+ # Jetbrains files
144
+ .idea/
145
+
146
+ # VSCode files
147
+ .vscode/
148
+
149
+ # Mac Poop
150
+ **/.DS_Store
151
+
152
+ .mypy-errors.txt
@@ -0,0 +1,28 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
+ hooks:
5
+ - id: check-docstring-first
6
+ - id: check-merge-conflict
7
+ - id: debug-statements
8
+ - id: detect-private-key
9
+ - id: trailing-whitespace
10
+ - id: end-of-file-fixer
11
+ - id: check-yaml
12
+ - id: check-ast
13
+ - id: check-added-large-files
14
+ args: ['--maxkb=1000']
15
+
16
+ - repo: https://github.com/astral-sh/ruff-pre-commit
17
+ rev: v0.9.6
18
+ hooks:
19
+ - id: ruff-format
20
+ args:
21
+ - --config=pyproject.toml
22
+ - id: ruff
23
+ args:
24
+ - --config=pyproject.toml
25
+ - --fix
26
+ - id: ruff-format
27
+ args:
28
+ - --config=pyproject.toml
@@ -0,0 +1,6 @@
1
+ [MASTER]
2
+ ignore-paths=^truefoundry/ml/autogen/.*$,
3
+ ^truefoundry/pydantic_v1.py$
4
+
5
+ [MESSAGES CONTROL]
6
+ disable=C0114,C0115,C0116,C0301,W0511,W1203,C0415,C0302,W1514,R0913,R0914,R0912,R0904
@@ -0,0 +1,9 @@
1
+ TFY_CLI_LOCAL_TENANT_HOST=internal.devtest.truefoundry.tech
2
+
3
+ # Devtest Remote
4
+ # TFY_CLI_LOCAL_SERVICEFOUNDRY_SERVER_URL=https://internal.devtest.truefoundry.tech/api/svc
5
+ # TFY_CLI_LOCAL_MLFOUNDRY_SERVER_URL=https://internal.devtest.truefoundry.tech/api/ml
6
+
7
+ # Local
8
+ TFY_CLI_LOCAL_MLFOUNDRY_SERVER_URL=http://localhost:5000/
9
+ TFY_CLI_LOCAL_SERVICEFOUNDRY_SERVER_URL=http://localhost:3000/
@@ -0,0 +1,45 @@
1
+ # Development
2
+
3
+ ## Instructions
4
+
5
+ Install `uv`
6
+
7
+ Follow the docs at https://docs.astral.sh/uv/getting-started/installation/
8
+
9
+
10
+ ```bash
11
+ # git clone
12
+ git clone https://github.com/truefoundry/truefoundry-cli
13
+ cd truefoundry-cli
14
+
15
+ # Setup the virtual environment
16
+ uv venv --python 3.9 # or any higher python version
17
+ uv sync --locked --all-extras --dev
18
+
19
+ # install pre-commit file formatting hooks
20
+ uv run pre-commit install --install-hooks
21
+ uv run pre-commit
22
+
23
+ # run the tests (inside the shell)
24
+ uv run pytest
25
+ ```
26
+
27
+ # Connecting to Local TFY Services
28
+
29
+ ```
30
+ cp .tfy-cli-local.env.example .tfy-cli-local.env
31
+ export TFY_CLI_LOCAL_DEV_MODE=1
32
+ ```
33
+
34
+ You can control which servicefoundry server and mlfoundry server using the `.tfy-cli-local.env` file
35
+
36
+ ## Releasing a New Version
37
+
38
+ To release a new version of the TrueFoundry CLI as a Python package, create a new tag on the main branch using GitHub Releases. This will trigger a workflow that publishes the pip package. Tags must be in the format `vx.x.x`, for example `v0.1.0`.
39
+
40
+
41
+ # truefoundry/ml/autogen Notes
42
+
43
+ - Some of the APIs on backend are not encapsulating the request in a DTO
44
+ - It stuffs all entities in truefoundry.ml.autogen.client __init__ which might cause namespace conflicts
45
+ - We should have proper MLRepo Entity and some of the methods on Run need to be action oriented
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: truefoundry
3
+ Version: 0.5.8rc2
4
+ Summary: TrueFoundry CLI
5
+ Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
+ Requires-Python: <3.13,>=3.8.1
7
+ Requires-Dist: aenum<4.0.0,>=3.0.0
8
+ Requires-Dist: click<9.0.0,>=7.0.0
9
+ Requires-Dist: coolname<2.0.0,>=1.1.0
10
+ Requires-Dist: docker<8.0.0,>=6.1.2
11
+ Requires-Dist: filelock<4.0.0,>=3.8.0
12
+ Requires-Dist: gitignorefile<2.0.0,>=1.1.2
13
+ Requires-Dist: gitpython<4.0.0,>=3.1.43
14
+ Requires-Dist: importlib-metadata<9.0.0,>=4.11.3
15
+ Requires-Dist: importlib-resources<7.0.0,>=5.2.0
16
+ Requires-Dist: mako<2.0.0,>=1.1.6
17
+ Requires-Dist: numpy<2.0.0,>=1.23.0; python_version < '3.12'
18
+ Requires-Dist: numpy<2.0.0,>=1.26.0; python_version >= '3.12'
19
+ Requires-Dist: openai<2.0.0,>=1.16.2
20
+ Requires-Dist: packaging<25.0,>=20.0
21
+ Requires-Dist: pydantic<3.0.0,>=1.8.2
22
+ Requires-Dist: pygments<3.0.0,>=2.12.0
23
+ Requires-Dist: pyjwt<3.0.0,>=2.0.0
24
+ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
25
+ Requires-Dist: python-dotenv<2.0.0,>=1.0.1
26
+ Requires-Dist: python-socketio[client]<6.0.0,>=5.5.2
27
+ Requires-Dist: pyyaml<7.0.0,>=6.0.0
28
+ Requires-Dist: questionary<2.0.0,>=1.10.0
29
+ Requires-Dist: requests<3.0.0,>=2.18.0
30
+ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
31
+ Requires-Dist: rich-click<2.0.0,>=1.2.1
32
+ Requires-Dist: rich<14.0.0,>=13.7.1
33
+ Requires-Dist: scipy<2.0.0,>=1.12.0; python_version >= '3.12'
34
+ Requires-Dist: scipy<2.0.0,>=1.5.0; python_version < '3.12'
35
+ Requires-Dist: tqdm<5.0.0,>=4.0.0
36
+ Requires-Dist: typing-extensions>=4.0
37
+ Requires-Dist: urllib3<3,>=1.26.18
38
+ Requires-Dist: yq<4.0.0,>=3.1.0
39
+ Provides-Extra: workflow
40
+ Requires-Dist: flytekit==1.13.13; extra == 'workflow'
41
+ Description-Content-Type: text/markdown
42
+
43
+ # TrueFoundry
44
+
45
+ TrueFoundry library to help you interact with the platform programmatically by
46
+
47
+ - Interacting with the deployments side of TrueFoundry, enabling you to manage workspaces, deployments, applications, and view logs.
48
+ - Providing experiment tracking capabilities, allowing you to track ML experiments and interact with ML repositories within TrueFoundry.
49
+
50
+ You can access the health of your service, monitoring links, deployed endpoints and track metadata and artifacts by logging on to TrueFoundry's dashboard.
51
+
52
+ ## Installation
53
+
54
+ To install the `TrueFoundry CLI`, you can use pip:
55
+
56
+ ```bash
57
+ pip install truefoundry
58
+ ```
59
+
60
+ To install the `TrueFoundry CLI` with Workflow deployment features, you can use pip:
61
+
62
+ ```bash
63
+ pip install truefoundry[workflow]
64
+ ```
65
+
66
+ ## Examples
67
+
68
+ https://github.com/truefoundry/getting-started-examples
69
+
70
+ ## Documentation
71
+
72
+ https://docs.truefoundry.com/
@@ -0,0 +1,15 @@
1
+ # /// script
2
+ # requires-python = ">=3.10"
3
+ # dependencies = [
4
+ # "tomlkit>=0.13.2,<1.0.0",
5
+ # ]
6
+ # ///
7
+
8
+ import tomlkit
9
+
10
+ with open("pyproject.toml", "r") as f:
11
+ spec = tomlkit.parse(f.read())
12
+ spec["project"].pop("version")
13
+ spec["project"]["dynamic"].append("version")
14
+ with open("pyproject.toml", "w") as f:
15
+ f.write(tomlkit.dumps(spec))
@@ -0,0 +1,178 @@
1
+ [project]
2
+ name = "truefoundry"
3
+ dynamic = ["version"]
4
+ requires-python = ">=3.8.1,<3.13"
5
+ description = "TrueFoundry CLI"
6
+ authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
7
+ readme = "README.md"
8
+ dependencies = [
9
+ "aenum>=3.0.0,<4.0.0",
10
+ "click>=7.0.0,<9.0.0",
11
+ "coolname>=1.1.0,<2.0.0",
12
+ "docker>=6.1.2,<8.0.0",
13
+ "filelock>=3.8.0,<4.0.0",
14
+ "gitignorefile>=1.1.2,<2.0.0",
15
+ "GitPython>=3.1.43,<4.0.0",
16
+ "importlib-metadata>=4.11.3,<9.0.0",
17
+ "importlib-resources>=5.2.0,<7.0.0",
18
+ "Mako>=1.1.6,<2.0.0",
19
+ "openai>=1.16.2,<2.0.0",
20
+ "packaging>=20.0,<25.0",
21
+ "pydantic>=1.8.2,<3.0.0",
22
+ "pygments>=2.12.0,<3.0.0",
23
+ "PyJWT>=2.0.0,<3.0.0",
24
+ "python-dateutil>=2.8.2,<3.0.0",
25
+ "python-dotenv>=1.0.1,<2.0.0",
26
+ "python-socketio[client]>=5.5.2,<6.0.0",
27
+ "PyYAML>=6.0.0,<7.0.0",
28
+ "questionary>=1.10.0,<2.0.0",
29
+ "requests>=2.18.0,<3.0.0",
30
+ "requirements-parser>=0.11.0,<0.12.0",
31
+ "rich>=13.7.1,<14.0.0",
32
+ "rich-click>=1.2.1,<2.0.0",
33
+ "tqdm>=4.0.0,<5.0.0",
34
+ "typing-extensions>=4.0",
35
+ "urllib3>=1.26.18,<3",
36
+ "yq>=3.1.0,<4.0.0",
37
+ # Check and try to eliminate libs below this comment
38
+ "scipy>=1.5.0,<2.0.0; python_version < '3.12'",
39
+ "scipy>=1.12.0,<2.0.0; python_version >= '3.12'",
40
+ "numpy>=1.23.0,<2.0.0; python_version < '3.12'",
41
+ "numpy>=1.26.0,<2.0.0; python_version >= '3.12'",
42
+ ]
43
+
44
+ [project.optional-dependencies]
45
+ workflow = ["flytekit==1.13.13"]
46
+
47
+ [project.scripts]
48
+ tfy = "truefoundry.cli.__main__:main"
49
+ truefoundry = "truefoundry.cli.__main__:main"
50
+
51
+ [dependency-groups]
52
+ dev = [
53
+ "Pillow>=9.1.1,<11.0.0",
54
+ "ipykernel>=6.16.0",
55
+ "ipywidgets>=8.0.0",
56
+ "ipython>=7.10.0",
57
+ "langchain>=0.2.0,<0.3.0",
58
+ "matplotlib>=3.0.0,<4.0.0",
59
+ "mypy>=1.14.1",
60
+ "plotly>=5.8.2,<6.0.0",
61
+ "pandas>=1.0.0,<3.0.0; python_version < '3.10'",
62
+ "pandas>=1.4.0,<3.0.0; python_version >= '3.10'",
63
+ "pre-commit>=3.5.0,<4.0.0",
64
+ "pytest>=8.2.2,<9.0.0",
65
+ "pytest-env>=1.1.5,<2.0.0",
66
+ "ruff>=0.9.4",
67
+ "seaborn>=0.13.0,<0.14.0",
68
+ "scikit-learn>=1.3.0,<2.0.0",
69
+ "shap>=0.40.0,<0.45.0; python_version < '3.12'",
70
+ "shap>=0.45.0; python_version >= '3.12'",
71
+ "xgboost>=2.1.3,<3.0.0",
72
+
73
+ # typing stubs
74
+ "types-PyYAML",
75
+ "types-pytz",
76
+ "types-python-dateutil",
77
+ "types-protobuf",
78
+ "types-pexpect",
79
+ "types-docutils",
80
+ "types-defusedxml",
81
+ "types-decorator",
82
+ "types-colorama",
83
+ "types-cffi",
84
+ "types-requests",
85
+ "types-Pygments",
86
+ "pandas-stubs",
87
+ "types-tqdm",
88
+ ]
89
+
90
+ [build-system]
91
+ requires = ["hatchling", "uv-dynamic-versioning>=0.1.0,<1.0.0; python_version >= '3.9'"]
92
+ build-backend = "hatchling.build"
93
+
94
+ [tool.hatch.version]
95
+ source = "uv-dynamic-versioning"
96
+
97
+ [tool.ruff]
98
+ target-version = "py38"
99
+ lint.select = [
100
+ "E", # pycodestyle errors
101
+ "W", # pycodestyle warnings
102
+ "F", # pyflakes
103
+ "C", # flake8-comprehensions
104
+ "B", # flake8-bugbear
105
+ "Q", # flake8-quotes
106
+ "I",
107
+ "T10",
108
+ "ASYNC",
109
+ ]
110
+ lint.ignore = ["E501"]
111
+ exclude = [
112
+ ".venv",
113
+ "venv",
114
+ "repos",
115
+ "truefoundry/ml/autogen/**",
116
+ "truefoundry/deploy/auto_gen/**",
117
+ ]
118
+
119
+ [tool.ruff.format]
120
+ quote-style = "double"
121
+
122
+ [tool.ruff.lint.per-file-ignores]
123
+ "__init__.py" = ["F401"]
124
+ "truefoundry/ml/autogen/client/*" = ["B028", "B904", "C901", "C409", "F841"]
125
+ "truefoundry/ml/autogen/client/models/*" = ["F821"]
126
+ "truefoundry/ml/autogen/client/api_client.py" = ["E721"]
127
+
128
+ [tool.mypy]
129
+ plugins = ["pydantic.v1.mypy"]
130
+ install_types = true
131
+ non_interactive = true
132
+
133
+ allow_redefinition = false
134
+ allow_untyped_globals = false
135
+ check_untyped_defs = true
136
+ disallow_any_generics = true
137
+ disallow_incomplete_defs = true
138
+ disallow_subclassing_any = true
139
+ disallow_untyped_calls = true
140
+ disallow_untyped_decorators = true
141
+ disallow_untyped_defs = true
142
+ follow_imports = "silent"
143
+ force_uppercase_builtins = true
144
+ no_implicit_optional = true
145
+ no_implicit_reexport = true
146
+ strict_equality = true
147
+ strict_optional = true
148
+ warn_no_return = true
149
+ warn_redundant_casts = true
150
+ warn_return_any = true
151
+ warn_unreachable = true
152
+ warn_unused_ignores = true
153
+
154
+ packages = ["truefoundry"]
155
+ exclude = [
156
+ "^truefoundry/ml/autogen",
157
+ "^truefoundry/deploy/auto_gen",
158
+ "^truefoundry/pydantic_v1.py$",
159
+ "^truefoundry/autodeploy/",
160
+ ]
161
+ disable_error_code = ["import-untyped", "method-assign"]
162
+
163
+ [tool.pydantic-mypy]
164
+ init_forbid_extra = true
165
+ init_typed = true
166
+ warn_required_dynamic_aliases = true
167
+
168
+ [tool.pytest.ini_options]
169
+ env = [
170
+ "TFY_PYTHONBUILD_PYTHON_IMAGE_REPO=docker.io/truefoundrycloud/test/python",
171
+ ]
172
+
173
+ [tool.uv]
174
+ default-groups = ["dev"]
175
+
176
+ [tool.uv-dynamic-versioning]
177
+ vcs = "git"
178
+ strict = true
@@ -0,0 +1,24 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ mypy --strict --no-color-output 2>.mypy-errors.txt || true
6
+ echo "Count for all error types"
7
+
8
+ echo "===================================================================="
9
+ grep -oE '\[([a-z-]+)\]$' .mypy-errors.txt | grep -oE '[a-z-]+' | sort | uniq -c | sort -nr || true
10
+ echo "===================================================================="
11
+
12
+ echo "Checking for errors that require fixing"
13
+
14
+ echo "===================================================================="
15
+ if grep -E '\[(call-arg|valid-type)\]$' .mypy-errors.txt; then
16
+ echo "Found the above errors. Please fix them"
17
+ echo "===================================================================="
18
+ exit 1
19
+ else
20
+ echo "No errors that require fixing"
21
+ echo "===================================================================="
22
+ fi
23
+
24
+ rm -rf .mypy-errors.txt