truefoundry 0.5.8rc2__tar.gz → 0.5.8rc3__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 (413) hide show
  1. truefoundry-0.5.8rc3/PKG-INFO +79 -0
  2. truefoundry-0.5.8rc3/pyproject.toml +173 -0
  3. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/entities.py +13 -11
  4. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/session.py +1 -2
  5. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/docker_service.py +1 -1
  6. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/clients/servicefoundry_client.py +1 -1
  7. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/session.py +2 -4
  8. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deploy.py +3 -3
  9. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/plot.py +2 -2
  10. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/mlfoundry_run.py +1 -1
  11. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/session.py +1 -2
  12. truefoundry-0.5.8rc2/.github/workflows/lint-and-test.yml +0 -132
  13. truefoundry-0.5.8rc2/.github/workflows/release.yml +0 -29
  14. truefoundry-0.5.8rc2/.gitignore +0 -152
  15. truefoundry-0.5.8rc2/.pre-commit-config.yaml +0 -28
  16. truefoundry-0.5.8rc2/.pylintrc +0 -6
  17. truefoundry-0.5.8rc2/.tfy-cli-local.env.example +0 -9
  18. truefoundry-0.5.8rc2/DEVELOPMENT.md +0 -45
  19. truefoundry-0.5.8rc2/PKG-INFO +0 -72
  20. truefoundry-0.5.8rc2/enable_dynamic_versioning.py +0 -15
  21. truefoundry-0.5.8rc2/pyproject.toml +0 -178
  22. truefoundry-0.5.8rc2/run_mypy.sh +0 -24
  23. truefoundry-0.5.8rc2/tests/examples/README.md +0 -14
  24. truefoundry-0.5.8rc2/tests/examples/application-set/app.py +0 -14
  25. truefoundry-0.5.8rc2/tests/examples/application-set/application-set.yaml +0 -45
  26. truefoundry-0.5.8rc2/tests/examples/application-set/requirements.txt +0 -2
  27. truefoundry-0.5.8rc2/tests/examples/application-set/work.py +0 -3
  28. truefoundry-0.5.8rc2/tests/examples/job.yaml +0 -28
  29. truefoundry-0.5.8rc2/tests/examples/service-local-build.yaml +0 -44
  30. truefoundry-0.5.8rc2/tests/examples/service-remote-build.yaml +0 -44
  31. truefoundry-0.5.8rc2/tests/examples/service.yaml +0 -35
  32. truefoundry-0.5.8rc2/tests/examples/workflow/deploy.sh +0 -3
  33. truefoundry-0.5.8rc2/tests/examples/workflow/hello_world_package/workflow.py +0 -20
  34. truefoundry-0.5.8rc2/tests/examples/workflow/package/test_workflow.py +0 -151
  35. truefoundry-0.5.8rc2/tests/examples/workflow/truefoundry.yaml +0 -9
  36. truefoundry-0.5.8rc2/tests/examples/workflow/workflow.yaml +0 -116
  37. truefoundry-0.5.8rc2/tests/ml/data/test_model_1.joblib +0 -0
  38. truefoundry-0.5.8rc2/tests/ml/data/xgboost-model.joblib +0 -0
  39. truefoundry-0.5.8rc2/tests/ml/end_to_end/end_to_end.py +0 -788
  40. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-1/config.json +0 -16
  41. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-2/file.txt +0 -1
  42. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/root.yaml +0 -6
  43. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file1.txt +0 -1
  44. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file2.txt +0 -1
  45. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file3.txt +0 -1
  46. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/folder1/file4.txt +0 -1
  47. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/config.json +0 -4
  48. truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/nested_folder/file.txt +0 -1
  49. truefoundry-0.5.8rc2/tests/ml/models/test_model_signature.py +0 -53
  50. truefoundry-0.5.8rc2/tests/ml/test_model_framework.py +0 -339
  51. truefoundry-0.5.8rc2/tests/test_dockerfile_generation.py +0 -213
  52. truefoundry-0.5.8rc2/tests/test_service_parse.py +0 -70
  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.8rc2/uv.lock +0 -6347
  57. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/README.md +0 -0
  58. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/__init__.py +0 -0
  59. {truefoundry-0.5.8rc2/tests → truefoundry-0.5.8rc3/truefoundry/autodeploy}/__init__.py +0 -0
  60. {truefoundry-0.5.8rc2/tests/ml/end_to_end → truefoundry-0.5.8rc3/truefoundry/autodeploy/agents}/__init__.py +0 -0
  61. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/base.py +0 -0
  62. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/developer.py +0 -0
  63. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
  64. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/tester.py +0 -0
  65. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/cli.py +0 -0
  66. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/constants.py +0 -0
  67. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/exception.py +0 -0
  68. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/logger.py +0 -0
  69. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/__init__.py +0 -0
  70. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/ask.py +0 -0
  71. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/base.py +0 -0
  72. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/commit.py +0 -0
  73. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/docker_build.py +0 -0
  74. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/docker_run.py +0 -0
  75. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
  76. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/list_files.py +0 -0
  77. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/read_file.py +0 -0
  78. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/send_request.py +0 -0
  79. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/write_file.py +0 -0
  80. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/client.py +0 -0
  81. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/diff.py +0 -0
  82. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
  83. {truefoundry-0.5.8rc2/tests/ml/models → truefoundry-0.5.8rc3/truefoundry/cli}/__init__.py +0 -0
  84. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/__main__.py +0 -0
  85. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/config.py +0 -0
  86. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/console.py +0 -0
  87. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/const.py +0 -0
  88. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/display_util.py +0 -0
  89. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/util.py +0 -0
  90. {truefoundry-0.5.8rc2/truefoundry/autodeploy → truefoundry-0.5.8rc3/truefoundry/common}/__init__.py +0 -0
  91. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/auth_service_client.py +0 -0
  92. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/constants.py +0 -0
  93. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/credential_file_manager.py +0 -0
  94. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/credential_provider.py +0 -0
  95. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/exceptions.py +0 -0
  96. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/request_utils.py +0 -0
  97. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/servicefoundry_client.py +0 -0
  98. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/storage_provider_utils.py +0 -0
  99. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/types.py +0 -0
  100. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/utils.py +0 -0
  101. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/warnings.py +0 -0
  102. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/__init__.py +0 -0
  103. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/auto_gen/models.py +0 -0
  104. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/__init__.py +0 -0
  105. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/__init__.py +0 -0
  106. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
  107. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
  108. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
  109. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
  110. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
  111. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/constants.py +0 -0
  112. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/utils.py +0 -0
  113. {truefoundry-0.5.8rc2/truefoundry/autodeploy/agents → truefoundry-0.5.8rc3/truefoundry/deploy/cli}/__init__.py +0 -0
  114. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/__init__.py +0 -0
  115. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
  116. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/build_command.py +0 -0
  117. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/create_command.py +0 -0
  118. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
  119. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
  120. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
  121. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/get_command.py +0 -0
  122. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/list_command.py +0 -0
  123. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/login_command.py +0 -0
  124. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
  125. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
  126. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
  127. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
  128. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
  129. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
  130. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
  131. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/__init__.py +0 -0
  132. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/login.py +0 -0
  133. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/logout.py +0 -0
  134. {truefoundry-0.5.8rc2/truefoundry/cli → truefoundry-0.5.8rc3/truefoundry/deploy/io}/__init__.py +0 -0
  135. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/io/output_callback.py +0 -0
  136. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/io/rich_output_callback.py +0 -0
  137. {truefoundry-0.5.8rc2/truefoundry/common → truefoundry-0.5.8rc3/truefoundry/deploy/lib}/__init__.py +0 -0
  138. {truefoundry-0.5.8rc2/truefoundry/deploy/cli → truefoundry-0.5.8rc3/truefoundry/deploy/lib/clients}/__init__.py +0 -0
  139. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/const.py +0 -0
  140. {truefoundry-0.5.8rc2/truefoundry/deploy/io → truefoundry-0.5.8rc3/truefoundry/deploy/lib/dao}/__init__.py +0 -0
  141. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/application.py +0 -0
  142. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/apply.py +0 -0
  143. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/version.py +0 -0
  144. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/workspace.py +0 -0
  145. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/logs_utils.py +0 -0
  146. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/messages.py +0 -0
  147. {truefoundry-0.5.8rc2/truefoundry/deploy/lib → truefoundry-0.5.8rc3/truefoundry/deploy/lib/model}/__init__.py +0 -0
  148. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/model/entity.py +0 -0
  149. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/util.py +0 -0
  150. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/win32.py +0 -0
  151. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/python_deploy_codegen.py +0 -0
  152. {truefoundry-0.5.8rc2/truefoundry/deploy/lib/clients → truefoundry-0.5.8rc3/truefoundry/deploy/v2}/__init__.py +0 -0
  153. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/__init__.py +0 -0
  154. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
  155. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
  156. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/models.py +0 -0
  157. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
  158. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/source.py +0 -0
  159. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/logger.py +0 -0
  160. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/__init__.py +0 -0
  161. {truefoundry-0.5.8rc2/truefoundry/deploy/lib/dao → truefoundry-0.5.8rc3/truefoundry/ml/artifact}/__init__.py +0 -0
  162. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
  163. {truefoundry-0.5.8rc2/truefoundry/deploy/lib/model → truefoundry-0.5.8rc3/truefoundry/ml/autogen}/__init__.py +0 -0
  164. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/__init__.py +0 -0
  165. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
  166. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
  167. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
  168. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
  169. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
  170. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
  171. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
  172. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
  173. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
  174. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
  175. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api_client.py +0 -0
  176. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api_response.py +0 -0
  177. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/configuration.py +0 -0
  178. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/exceptions.py +0 -0
  179. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
  180. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
  181. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
  182. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent.py +0 -0
  183. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
  184. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
  185. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
  186. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
  187. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
  188. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
  189. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
  190. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
  191. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +0 -0
  192. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
  193. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
  194. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
  195. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
  196. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
  197. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
  198. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
  199. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
  200. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
  201. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
  202. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
  203. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/command.py +0 -0
  204. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content.py +0 -0
  205. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content1.py +0 -0
  206. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content2.py +0 -0
  207. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
  208. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
  209. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
  210. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
  211. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
  212. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
  213. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
  214. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
  215. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
  216. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
  217. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
  218. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
  219. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
  220. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
  221. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
  222. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
  223. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
  224. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
  225. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
  226. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
  227. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
  228. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
  229. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
  230. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
  231. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
  232. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
  233. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
  234. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
  235. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
  236. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
  237. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/external_blob_storage_source.py +0 -0
  238. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
  239. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
  240. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
  241. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/framework.py +0 -0
  242. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
  243. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
  244. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
  245. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
  246. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
  247. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
  248. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
  249. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
  250. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
  251. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
  252. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
  253. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
  254. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
  255. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
  256. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
  257. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
  258. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
  259. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
  260. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
  261. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
  262. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
  263. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
  264. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
  265. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
  266. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
  267. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
  268. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
  269. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
  270. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
  271. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
  272. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
  273. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
  274. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
  275. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
  276. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
  277. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
  278. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
  279. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
  280. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
  281. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
  282. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
  283. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
  284. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
  285. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
  286. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
  287. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
  288. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
  289. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
  290. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
  291. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/method.py +0 -0
  292. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
  293. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
  294. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
  295. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
  296. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
  297. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
  298. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
  299. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
  300. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
  301. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_manifest.py +0 -0
  302. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
  303. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
  304. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
  305. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
  306. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
  307. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
  308. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
  309. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
  310. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
  311. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
  312. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
  313. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
  314. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
  315. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
  316. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
  317. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
  318. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
  319. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
  320. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
  321. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
  322. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
  323. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
  324. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
  325. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
  326. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
  327. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
  328. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
  329. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
  330. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/source.py +0 -0
  331. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/source1.py +0 -0
  332. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
  333. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
  334. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/stop.py +0 -0
  335. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
  336. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/subject.py +0 -0
  337. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
  338. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
  339. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
  340. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/text.py +0 -0
  341. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
  342. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
  343. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
  344. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
  345. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/true_foundry_managed_source.py +0 -0
  346. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
  347. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
  348. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
  349. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
  350. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
  351. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
  352. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/url.py +0 -0
  353. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
  354. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
  355. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
  356. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
  357. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
  358. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
  359. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
  360. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
  361. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/rest.py +0 -0
  362. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client_README.md +0 -0
  363. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
  364. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/__init__.py +0 -0
  365. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/exceptions.py +0 -0
  366. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/schema.py +0 -0
  367. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/signature.py +0 -0
  368. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/utils.py +0 -0
  369. {truefoundry-0.5.8rc2/truefoundry/deploy/v2 → truefoundry-0.5.8rc3/truefoundry/ml/cli}/__init__.py +0 -0
  370. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/cli.py +0 -0
  371. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/__init__.py +0 -0
  372. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/download.py +0 -0
  373. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/model_init.py +0 -0
  374. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/utils.py +0 -0
  375. {truefoundry-0.5.8rc2/truefoundry/ml/artifact → truefoundry-0.5.8rc3/truefoundry/ml/clients}/__init__.py +0 -0
  376. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
  377. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/constants.py +0 -0
  378. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/entities.py +0 -0
  379. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/enums.py +0 -0
  380. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/exceptions.py +0 -0
  381. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/git_info.py +0 -0
  382. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/internal_namespace.py +0 -0
  383. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/__init__.py +0 -0
  384. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
  385. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
  386. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
  387. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
  388. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/model.py +0 -0
  389. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
  390. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/__init__.py +0 -0
  391. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/constants.py +0 -0
  392. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/image.py +0 -0
  393. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
  394. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/types.py +0 -0
  395. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/pydantic_base.py +0 -0
  396. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/utils.py +0 -0
  397. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/logger.py +0 -0
  398. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/mlfoundry_api.py +0 -0
  399. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/model_framework.py +0 -0
  400. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/run_utils.py +0 -0
  401. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/validation_utils.py +0 -0
  402. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/pydantic_v1.py +0 -0
  403. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/version.py +0 -0
  404. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/__init__.py +0 -0
  405. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/container_task.py +0 -0
  406. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/map_task.py +0 -0
  407. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/python_task.py +0 -0
  408. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
  409. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
  410. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
  411. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
  412. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/task.py +0 -0
  413. {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/workflow.py +0 -0
@@ -0,0 +1,79 @@
1
+ Metadata-Version: 2.3
2
+ Name: truefoundry
3
+ Version: 0.5.8rc3
4
+ Summary: TrueFoundry CLI
5
+ Author: Abhishek Choudhary
6
+ Author-email: abhishek@truefoundry.com
7
+ Requires-Python: >=3.8.1,<3.13
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Provides-Extra: workflow
14
+ Requires-Dist: GitPython (>=3.1.43,<4.0.0)
15
+ Requires-Dist: Mako (>=1.1.6,<2.0.0)
16
+ Requires-Dist: PyJWT (>=2.0.0,<3.0.0)
17
+ Requires-Dist: PyYAML (>=6.0.0,<7.0.0)
18
+ Requires-Dist: aenum (>=3.0.0,<4.0.0)
19
+ Requires-Dist: click (>=7.0.0,<9.0.0)
20
+ Requires-Dist: coolname (>=1.1.0,<2.0.0)
21
+ Requires-Dist: docker (>=6.1.2,<8.0.0)
22
+ Requires-Dist: filelock (>=3.8.0,<4.0.0)
23
+ Requires-Dist: flytekit (==1.13.13) ; extra == "workflow"
24
+ Requires-Dist: gitignorefile (>=1.1.2,<2.0.0)
25
+ Requires-Dist: importlib-metadata (>=4.11.3,<9.0.0)
26
+ Requires-Dist: importlib-resources (>=5.2.0,<7.0.0)
27
+ Requires-Dist: numpy (>=1.23.0,<2.0.0) ; python_version < "3.12"
28
+ Requires-Dist: numpy (>=1.26.0,<2.0.0) ; python_version >= "3.12"
29
+ Requires-Dist: openai (>=1.16.2,<2.0.0)
30
+ Requires-Dist: packaging (>=20.0,<25.0)
31
+ Requires-Dist: pydantic (>=1.8.2,<3.0.0)
32
+ Requires-Dist: pygments (>=2.12.0,<3.0.0)
33
+ Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
34
+ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
35
+ Requires-Dist: python-socketio[client] (>=5.5.2,<6.0.0)
36
+ Requires-Dist: questionary (>=1.10.0,<2.0.0)
37
+ Requires-Dist: requests (>=2.18.0,<3.0.0)
38
+ Requires-Dist: requirements-parser (>=0.11.0,<0.12.0)
39
+ Requires-Dist: rich (>=13.7.1,<14.0.0)
40
+ Requires-Dist: rich-click (>=1.2.1,<2.0.0)
41
+ Requires-Dist: scipy (>=1.12.0,<2.0.0) ; python_version >= "3.12"
42
+ Requires-Dist: scipy (>=1.5.0,<2.0.0) ; python_version < "3.12"
43
+ Requires-Dist: tqdm (>=4.0.0,<5.0.0)
44
+ Requires-Dist: typing-extensions (>=4.0)
45
+ Requires-Dist: urllib3 (>=1.26.18,<3)
46
+ Requires-Dist: yq (>=3.1.0,<4.0.0)
47
+ Description-Content-Type: text/markdown
48
+
49
+ # TrueFoundry
50
+
51
+ TrueFoundry library to help you interact with the platform programmatically by
52
+
53
+ - Interacting with the deployments side of TrueFoundry, enabling you to manage workspaces, deployments, applications, and view logs.
54
+ - Providing experiment tracking capabilities, allowing you to track ML experiments and interact with ML repositories within TrueFoundry.
55
+
56
+ You can access the health of your service, monitoring links, deployed endpoints and track metadata and artifacts by logging on to TrueFoundry's dashboard.
57
+
58
+ ## Installation
59
+
60
+ To install the `TrueFoundry CLI`, you can use pip:
61
+
62
+ ```bash
63
+ pip install truefoundry
64
+ ```
65
+
66
+ To install the `TrueFoundry CLI` with Workflow deployment features, you can use pip:
67
+
68
+ ```bash
69
+ pip install truefoundry[workflow]
70
+ ```
71
+
72
+ ## Examples
73
+
74
+ https://github.com/truefoundry/getting-started-examples
75
+
76
+ ## Documentation
77
+
78
+ https://docs.truefoundry.com/
79
+
@@ -0,0 +1,173 @@
1
+ [tool.poetry]
2
+ name = "truefoundry"
3
+ version = "0.5.8rc3"
4
+ description = "TrueFoundry CLI"
5
+ authors = ["Abhishek Choudhary <abhishek@truefoundry.com>"]
6
+ readme = "README.md"
7
+
8
+ [tool.poetry.dependencies]
9
+ python = ">=3.8.1,<3.13"
10
+ aenum = ">=3.0.0,<4.0.0"
11
+ click = ">=7.0.0,<9.0.0"
12
+ coolname = ">=1.1.0,<2.0.0"
13
+ docker = ">=6.1.2,<8.0.0"
14
+ filelock = ">=3.8.0,<4.0.0"
15
+ flytekit = { version = "1.13.13", optional = true }
16
+ gitignorefile = ">=1.1.2,<2.0.0"
17
+ GitPython = ">=3.1.43,<4.0.0"
18
+ importlib-metadata = ">=4.11.3,<9.0.0"
19
+ importlib-resources = ">=5.2.0,<7.0.0"
20
+ Mako = ">=1.1.6,<2.0.0"
21
+ openai = ">=1.16.2,<2.0.0"
22
+ packaging = ">=20.0,<25.0"
23
+ pydantic = ">=1.8.2,<3.0.0"
24
+ pygments = ">=2.12.0,<3.0.0"
25
+ PyJWT = ">=2.0.0,<3.0.0"
26
+ python-dateutil = ">=2.8.2,<3.0.0"
27
+ python-dotenv = ">=1.0.1,<2.0.0"
28
+ python-socketio = { version = ">=5.5.2,<6.0.0", extras = ["client"] }
29
+ PyYAML = ">=6.0.0,<7.0.0"
30
+ questionary = ">=1.10.0,<2.0.0"
31
+ requests = ">=2.18.0,<3.0.0"
32
+ requirements-parser = ">=0.11.0,<0.12.0"
33
+ rich = ">=13.7.1,<14.0.0"
34
+ rich-click = ">=1.2.1,<2.0.0"
35
+ tqdm = ">=4.0.0,<5.0.0"
36
+ typing-extensions = ">=4.0"
37
+ urllib3 = ">=1.26.18,<3"
38
+ yq = ">=3.1.0,<4.0.0"
39
+ # Check and try to eliminate libs below this comment
40
+ scipy = [
41
+ # This is split into two because poetry will select a version which has no wheel on python >= 3.12 :/
42
+ { version = ">=1.5.0,<2.0.0", python = "<3.12" },
43
+ { version = ">=1.12.0,<2.0.0", python = ">=3.12" },
44
+ ]
45
+ numpy = [
46
+ # This is split into two because poetry will select a version which has no wheel on python >= 3.12 :/
47
+ { version = ">=1.23.0,<2.0.0", python = "<3.12" },
48
+ { version = ">=1.26.0,<2.0.0", python = ">=3.12" },
49
+ ]
50
+
51
+
52
+ [tool.poetry.extras]
53
+ workflow = ["flytekit"]
54
+
55
+ [tool.poetry.group.dev.dependencies]
56
+ Pillow = ">=9.1.1,<11.0.0"
57
+ ipykernel = ">=6.16.0"
58
+ ipywidgets = ">=8.0.0"
59
+ ipython = ">=7.10.0"
60
+ langchain = ">=0.2.0,<0.3.0"
61
+ matplotlib = ">=3.0.0,<4.0.0"
62
+ mypy = ">=1.14.1"
63
+ plotly = ">=5.8.2,<6.0.0"
64
+ pandas = [
65
+ # This is split into two because poetry will select a version which has no wheel on python >= 3.10 :/
66
+ { version = ">=1.0.0,<3.0.0", python = "<3.10" },
67
+ { version = ">=1.4.0,<3.0.0", python = ">=3.10" },
68
+ ]
69
+ pre-commit = ">=3.5.0,<4.0.0"
70
+ pytest = ">=8.2.2,<9.0.0"
71
+ pytest-env = ">=1.1.5,<2.0.0"
72
+ ruff = ">=0.9.4"
73
+ seaborn = ">=0.13.0,<0.14.0"
74
+ scikit-learn = ">=1.3.0,<2.0.0"
75
+ shap = [
76
+ { version = ">=0.40.0", python = "<3.12" },
77
+ { version = ">=0.45.0", python = ">=3.12" },
78
+ ]
79
+ xgboost = "^2.1.3"
80
+
81
+
82
+ [tool.poetry-dynamic-versioning]
83
+ enable = false
84
+
85
+ [build-system]
86
+ requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
87
+ build-backend = "poetry_dynamic_versioning.backend"
88
+
89
+ [tool.poetry.plugins."console_scripts"]
90
+ tfy = "truefoundry.cli.__main__:main"
91
+ truefoundry = "truefoundry.cli.__main__:main"
92
+
93
+ [tool.ruff]
94
+ lint.select = [
95
+ "E", # pycodestyle errors
96
+ "W", # pycodestyle warnings
97
+ "F", # pyflakes
98
+ "C", # flake8-comprehensions
99
+ "B", # flake8-bugbear
100
+ "Q", # flake8-quotes
101
+ "I",
102
+ "T10",
103
+ "ASYNC",
104
+ ]
105
+ lint.ignore = [
106
+ "E501",
107
+ ]
108
+ exclude = [
109
+ ".venv",
110
+ "venv",
111
+ "repos",
112
+ "truefoundry/ml/autogen/**",
113
+ "truefoundry/deploy/auto_gen/**",
114
+ ]
115
+
116
+ [tool.ruff.lint.per-file-ignores]
117
+ "__init__.py" = ["F401"]
118
+ "truefoundry/ml/autogen/client/*" = ["B028", "B904", "C901", "C409", "F841"]
119
+ "truefoundry/ml/autogen/client/models/*" = ["F821"]
120
+ "truefoundry/ml/autogen/client/api_client.py" = ["E721"]
121
+
122
+ [tool.mypy]
123
+ plugins = [
124
+ "pydantic.v1.mypy"
125
+ ]
126
+ install_types = true
127
+ non_interactive = true
128
+
129
+ allow_redefinition = false
130
+ allow_untyped_globals = false
131
+ check_untyped_defs = true
132
+ disallow_any_generics = true
133
+ disallow_incomplete_defs = true
134
+ disallow_subclassing_any = true
135
+ disallow_untyped_calls = true
136
+ disallow_untyped_decorators = true
137
+ disallow_untyped_defs = true
138
+ follow_imports = "silent"
139
+ force_uppercase_builtins = true
140
+ no_implicit_optional = true
141
+ no_implicit_reexport = true
142
+ strict_equality = true
143
+ strict_optional = true
144
+ warn_no_return = true
145
+ warn_redundant_casts = true
146
+ warn_return_any = true
147
+ warn_unreachable = true
148
+ warn_unused_ignores = true
149
+
150
+ packages = [
151
+ "truefoundry",
152
+ ]
153
+ exclude = [
154
+ "^truefoundry/ml/autogen",
155
+ "^truefoundry/deploy/auto_gen",
156
+ "^truefoundry/pydantic_v1.py$",
157
+ "^truefoundry/autodeploy/",
158
+ ]
159
+ disable_error_code = [
160
+ "import-untyped",
161
+ "method-assign",
162
+ ]
163
+
164
+ [tool.pydantic-mypy]
165
+ init_forbid_extra = true
166
+ init_typed = true
167
+ warn_required_dynamic_aliases = true
168
+
169
+
170
+ [tool.pytest.ini_options]
171
+ env = [
172
+ "TFY_PYTHONBUILD_PYTHON_IMAGE_REPO=docker.io/truefoundrycloud/test/python",
173
+ ]
@@ -1,5 +1,4 @@
1
1
  import time
2
- from enum import Enum
3
2
  from typing import Optional
4
3
 
5
4
  import jwt
@@ -8,18 +7,12 @@ from typing_extensions import NotRequired, TypedDict
8
7
  from truefoundry.pydantic_v1 import BaseModel, Field, NonEmptyStr, validator
9
8
 
10
9
 
11
- class UserType(Enum):
12
- user = "user"
13
- serviceaccount = "serviceaccount"
14
-
15
-
16
10
  class UserInfo(BaseModel):
17
11
  class Config:
18
12
  allow_population_by_field_name = True
19
13
  allow_mutation = False
20
14
 
21
15
  user_id: NonEmptyStr
22
- user_type: UserType = UserType.user
23
16
  email: Optional[str] = None
24
17
  tenant_name: NonEmptyStr = Field(alias="tenantName")
25
18
 
@@ -27,9 +20,16 @@ class UserInfo(BaseModel):
27
20
  class _DecodedToken(TypedDict):
28
21
  tenantName: str
29
22
  exp: int
30
- username: str
23
+ username: NotRequired[str]
31
24
  email: NotRequired[str]
32
- userType: UserType
25
+
26
+
27
+ def _user_slug(decoded_token: _DecodedToken) -> str:
28
+ return (
29
+ decoded_token.get("username")
30
+ or decoded_token.get("email")
31
+ or "--user-slug-missing--"
32
+ )
33
33
 
34
34
 
35
35
  class Token(BaseModel):
@@ -55,19 +55,21 @@ class Token(BaseModel):
55
55
 
56
56
  @property
57
57
  def tenant_name(self) -> str:
58
+ assert self.decoded_value is not None
58
59
  return self.decoded_value["tenantName"]
59
60
 
60
61
  def is_going_to_be_expired(self, buffer_in_seconds: int = 120) -> bool:
62
+ assert self.decoded_value is not None
61
63
  exp = int(self.decoded_value["exp"])
62
64
  return (exp - time.time()) < buffer_in_seconds
63
65
 
64
66
  def to_user_info(self) -> UserInfo:
67
+ assert self.decoded_value is not None
65
68
  return UserInfo(
66
- user_id=self.decoded_value["username"],
69
+ user_id=_user_slug(self.decoded_value),
67
70
  email=self.decoded_value["email"]
68
71
  if "email" in self.decoded_value
69
72
  else None,
70
- user_type=UserType(self.decoded_value.get("userType", UserType.user.value)),
71
73
  tenant_name=self.tenant_name,
72
74
  )
73
75
 
@@ -50,10 +50,9 @@ class Session:
50
50
 
51
51
  ACTIVE_SESSION = new_session
52
52
  logger.info(
53
- "Logged in to %r as %r (%s)",
53
+ "Logged in to %r as %r",
54
54
  new_session.tfy_host,
55
55
  new_session.user_info.user_id,
56
- new_session.user_info.email or new_session.user_info.user_type.value,
57
56
  )
58
57
 
59
58
  return ACTIVE_SESSION
@@ -38,7 +38,7 @@ def _catch_error_in_push(response: List[dict]):
38
38
  for line in response:
39
39
  if line.get("error") is not None:
40
40
  raise Exception(
41
- f"Failed to push to registry with message '{line.get('error')}'"
41
+ f'Failed to push to registry with message \'{line.get("error")}\''
42
42
  )
43
43
 
44
44
 
@@ -262,7 +262,7 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
262
262
  time_obj.replace(tzinfo=timezone.utc)
263
263
  local_time = time_obj.astimezone(tzlocal())
264
264
  local_time_str = local_time.isoformat()
265
- return f"[{local_time_str}] {log['log'].strip()}"
265
+ return f'[{local_time_str}] {log["log"].strip()}'
266
266
 
267
267
  def _tail_logs(
268
268
  self,
@@ -57,10 +57,9 @@ def login(
57
57
  return login(api_key=api_key, host=host, relogin=True)
58
58
 
59
59
  user_info = cred_file_content.to_token().to_user_info()
60
- user_name_display_info = user_info.email or user_info.user_type.value
61
60
  output_hook.print_line(
62
61
  relogin_error_message(
63
- f"Already logged in to {cred_file_content.host!r} as {user_info.user_id!r} ({user_name_display_info})",
62
+ f"Already logged in to {cred_file_content.host!r} as {user_info.user_id!r}",
64
63
  host=host,
65
64
  )
66
65
  )
@@ -81,10 +80,9 @@ def login(
81
80
  cred_file.write(cred_file_content)
82
81
 
83
82
  user_info = token.to_user_info()
84
- user_name_display_info = user_info.email or user_info.user_type.value
85
83
  output_hook.print_line(
86
84
  f"Successfully logged in to {cred_file_content.host!r} as "
87
- f"{user_info.user_id!r} ({user_name_display_info})"
85
+ f"{user_info.user_id!r}"
88
86
  )
89
87
  return True
90
88
 
@@ -214,8 +214,8 @@ No Workspace FQN was provided or mentioned in the spec.
214
214
  Either add a `workspace_fqn` to your yaml spec as
215
215
 
216
216
  ```
217
- name: {getattr(component, "name", "my-app")}
218
- type: {getattr(component, "type", "undefined")}
217
+ name: {getattr(component, 'name', 'my-app')}
218
+ type: {getattr(component, 'type', 'undefined')}
219
219
  ...
220
220
  workspace_fqn: <your workspace fqn>
221
221
  ```
@@ -224,7 +224,7 @@ or Python deployment spec as
224
224
 
225
225
  ```
226
226
  app = {component.__class__.__name__}(
227
- name='{getattr(component, "name", "my-app")}',
227
+ name='{getattr(component, 'name', 'my-app')}',
228
228
  ...
229
229
  workspace_fqn='<your workspace fqn>'
230
230
  )
@@ -33,7 +33,7 @@ if TYPE_CHECKING:
33
33
  PlotObjType = Union[
34
34
  "matplotlib.figure.Figure",
35
35
  "plotly.graph_objects.Figure",
36
- "matplotlib.pyplot", # type: ignore[valid-type]
36
+ "matplotlib.pyplot",
37
37
  ]
38
38
 
39
39
 
@@ -103,7 +103,7 @@ def _save_matplotlib_figure(
103
103
 
104
104
 
105
105
  def _save_matplotlib_plt(
106
- plt: "matplotlib.pyplot", # type: ignore[valid-type]
106
+ plt: "matplotlib.pyplot",
107
107
  key: str,
108
108
  step: int,
109
109
  local_dir: str,
@@ -1109,7 +1109,7 @@ class MlFoundryRun:
1109
1109
  @_ensure_not_deleted
1110
1110
  def log_plots(
1111
1111
  self,
1112
- plots: Dict[ # type: ignore[valid-type]
1112
+ plots: Dict[
1113
1113
  str,
1114
1114
  Union[
1115
1115
  "matplotlib.pyplot",
@@ -75,10 +75,9 @@ class MLFoundrySession(Session):
75
75
 
76
76
  ACTIVE_SESSION = new_session
77
77
  logger.info(
78
- "Logged in to %r as %r (%s)",
78
+ "Logged in to %r as %r",
79
79
  new_session.tfy_host,
80
80
  new_session.user_info.user_id,
81
- new_session.user_info.email or new_session.user_info.user_type.value,
82
81
  )
83
82
 
84
83
  return ACTIVE_SESSION
@@ -1,132 +0,0 @@
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/
@@ -1,29 +0,0 @@
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__