truefoundry 0.3.4__py3-none-any.whl → 0.4.0__py3-none-any.whl

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 (253) hide show
  1. truefoundry/__init__.py +2 -0
  2. truefoundry/autodeploy/agents/developer.py +1 -1
  3. truefoundry/autodeploy/agents/project_identifier.py +2 -2
  4. truefoundry/autodeploy/agents/tester.py +1 -1
  5. truefoundry/autodeploy/cli.py +1 -1
  6. truefoundry/autodeploy/tools/list_files.py +1 -1
  7. truefoundry/cli/__main__.py +3 -17
  8. truefoundry/common/__init__.py +0 -0
  9. truefoundry/{deploy/lib/auth → common}/auth_service_client.py +50 -40
  10. truefoundry/common/constants.py +12 -0
  11. truefoundry/{deploy/lib/auth → common}/credential_file_manager.py +7 -7
  12. truefoundry/{deploy/lib/auth → common}/credential_provider.py +10 -23
  13. truefoundry/common/entities.py +124 -0
  14. truefoundry/common/exceptions.py +12 -0
  15. truefoundry/common/request_utils.py +84 -0
  16. truefoundry/common/servicefoundry_client.py +91 -0
  17. truefoundry/common/utils.py +56 -0
  18. truefoundry/deploy/auto_gen/models.py +4 -6
  19. truefoundry/deploy/cli/cli.py +3 -1
  20. truefoundry/deploy/cli/commands/apply_command.py +1 -1
  21. truefoundry/deploy/cli/commands/build_command.py +1 -1
  22. truefoundry/deploy/cli/commands/deploy_command.py +1 -1
  23. truefoundry/deploy/cli/commands/login_command.py +2 -2
  24. truefoundry/deploy/cli/commands/patch_application_command.py +1 -1
  25. truefoundry/deploy/cli/commands/patch_command.py +1 -1
  26. truefoundry/deploy/cli/commands/terminate_comand.py +1 -1
  27. truefoundry/deploy/cli/util.py +1 -1
  28. truefoundry/deploy/function_service/remote/remote.py +1 -1
  29. truefoundry/deploy/lib/auth/servicefoundry_session.py +2 -2
  30. truefoundry/deploy/lib/clients/servicefoundry_client.py +120 -159
  31. truefoundry/deploy/lib/const.py +1 -35
  32. truefoundry/deploy/lib/exceptions.py +0 -16
  33. truefoundry/deploy/lib/model/entity.py +1 -112
  34. truefoundry/deploy/lib/session.py +14 -42
  35. truefoundry/deploy/lib/util.py +0 -37
  36. truefoundry/{python_deploy_codegen.py → deploy/python_deploy_codegen.py} +2 -2
  37. truefoundry/deploy/v2/lib/deploy.py +3 -3
  38. truefoundry/deploy/v2/lib/deployable_patched_models.py +1 -1
  39. truefoundry/langchain/truefoundry_chat.py +1 -1
  40. truefoundry/langchain/truefoundry_embeddings.py +1 -1
  41. truefoundry/langchain/truefoundry_llm.py +1 -1
  42. truefoundry/langchain/utils.py +0 -41
  43. truefoundry/ml/__init__.py +37 -6
  44. truefoundry/ml/artifact/__init__.py +0 -0
  45. truefoundry/ml/artifact/truefoundry_artifact_repo.py +1161 -0
  46. truefoundry/ml/autogen/__init__.py +0 -0
  47. truefoundry/ml/autogen/client/__init__.py +370 -0
  48. truefoundry/ml/autogen/client/api/__init__.py +16 -0
  49. truefoundry/ml/autogen/client/api/auth_api.py +184 -0
  50. truefoundry/ml/autogen/client/api/deprecated_api.py +605 -0
  51. truefoundry/ml/autogen/client/api/experiments_api.py +1944 -0
  52. truefoundry/ml/autogen/client/api/health_api.py +299 -0
  53. truefoundry/ml/autogen/client/api/metrics_api.py +371 -0
  54. truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +7213 -0
  55. truefoundry/ml/autogen/client/api/python_deployment_config_api.py +201 -0
  56. truefoundry/ml/autogen/client/api/run_artifacts_api.py +231 -0
  57. truefoundry/ml/autogen/client/api/runs_api.py +2919 -0
  58. truefoundry/ml/autogen/client/api_client.py +822 -0
  59. truefoundry/ml/autogen/client/api_response.py +30 -0
  60. truefoundry/ml/autogen/client/configuration.py +489 -0
  61. truefoundry/ml/autogen/client/exceptions.py +161 -0
  62. truefoundry/ml/autogen/client/models/__init__.py +341 -0
  63. truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +69 -0
  64. truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +83 -0
  65. truefoundry/ml/autogen/client/models/agent.py +125 -0
  66. truefoundry/ml/autogen/client/models/agent_app.py +118 -0
  67. truefoundry/ml/autogen/client/models/agent_open_api_tool.py +143 -0
  68. truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +144 -0
  69. truefoundry/ml/autogen/client/models/agent_with_fqn.py +127 -0
  70. truefoundry/ml/autogen/client/models/artifact_dto.py +115 -0
  71. truefoundry/ml/autogen/client/models/artifact_response_dto.py +75 -0
  72. truefoundry/ml/autogen/client/models/artifact_type.py +39 -0
  73. truefoundry/ml/autogen/client/models/artifact_version_dto.py +141 -0
  74. truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +77 -0
  75. truefoundry/ml/autogen/client/models/artifact_version_status.py +35 -0
  76. truefoundry/ml/autogen/client/models/assistant_message.py +89 -0
  77. truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +69 -0
  78. truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +69 -0
  79. truefoundry/ml/autogen/client/models/blob_storage_reference.py +93 -0
  80. truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +72 -0
  81. truefoundry/ml/autogen/client/models/chat_prompt.py +156 -0
  82. truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +171 -0
  83. truefoundry/ml/autogen/client/models/columns_dto.py +73 -0
  84. truefoundry/ml/autogen/client/models/content.py +153 -0
  85. truefoundry/ml/autogen/client/models/content1.py +153 -0
  86. truefoundry/ml/autogen/client/models/content2.py +174 -0
  87. truefoundry/ml/autogen/client/models/content2_any_of_inner.py +150 -0
  88. truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +74 -0
  89. truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +65 -0
  90. truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +74 -0
  91. truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +65 -0
  92. truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +76 -0
  93. truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +94 -0
  94. truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +67 -0
  95. truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +95 -0
  96. truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +73 -0
  97. truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +79 -0
  98. truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +73 -0
  99. truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +72 -0
  100. truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +67 -0
  101. truefoundry/ml/autogen/client/models/create_run_request_dto.py +97 -0
  102. truefoundry/ml/autogen/client/models/create_run_response_dto.py +75 -0
  103. truefoundry/ml/autogen/client/models/dataset_dto.py +112 -0
  104. truefoundry/ml/autogen/client/models/dataset_response_dto.py +75 -0
  105. truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +65 -0
  106. truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +74 -0
  107. truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +65 -0
  108. truefoundry/ml/autogen/client/models/delete_run_request.py +65 -0
  109. truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +68 -0
  110. truefoundry/ml/autogen/client/models/experiment_dto.py +127 -0
  111. truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +67 -0
  112. truefoundry/ml/autogen/client/models/experiment_response_dto.py +75 -0
  113. truefoundry/ml/autogen/client/models/experiment_tag_dto.py +69 -0
  114. truefoundry/ml/autogen/client/models/feature_dto.py +68 -0
  115. truefoundry/ml/autogen/client/models/feature_value_type.py +35 -0
  116. truefoundry/ml/autogen/client/models/file_info_dto.py +76 -0
  117. truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +101 -0
  118. truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +88 -0
  119. truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +75 -0
  120. truefoundry/ml/autogen/client/models/get_metric_history_response.py +79 -0
  121. truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +68 -0
  122. truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +68 -0
  123. truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +81 -0
  124. truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +69 -0
  125. truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +83 -0
  126. truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +68 -0
  127. truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +81 -0
  128. truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +81 -0
  129. truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +73 -0
  130. truefoundry/ml/autogen/client/models/http_validation_error.py +82 -0
  131. truefoundry/ml/autogen/client/models/image_content_part.py +87 -0
  132. truefoundry/ml/autogen/client/models/image_url.py +75 -0
  133. truefoundry/ml/autogen/client/models/internal_metadata.py +180 -0
  134. truefoundry/ml/autogen/client/models/latest_run_log_dto.py +78 -0
  135. truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +107 -0
  136. truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +87 -0
  137. truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +96 -0
  138. truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +86 -0
  139. truefoundry/ml/autogen/client/models/list_colums_response_dto.py +75 -0
  140. truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +78 -0
  141. truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +86 -0
  142. truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +86 -0
  143. truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +76 -0
  144. truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +82 -0
  145. truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +76 -0
  146. truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +82 -0
  147. truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +82 -0
  148. truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +69 -0
  149. truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +84 -0
  150. truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +87 -0
  151. truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +93 -0
  152. truefoundry/ml/autogen/client/models/list_models_request_dto.py +89 -0
  153. truefoundry/ml/autogen/client/models/list_models_response_dto.py +84 -0
  154. truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +84 -0
  155. truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +82 -0
  156. truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py +81 -0
  157. truefoundry/ml/autogen/client/models/log_batch_request_dto.py +106 -0
  158. truefoundry/ml/autogen/client/models/log_metric_request_dto.py +80 -0
  159. truefoundry/ml/autogen/client/models/log_param_request_dto.py +76 -0
  160. truefoundry/ml/autogen/client/models/method.py +37 -0
  161. truefoundry/ml/autogen/client/models/metric_collection_dto.py +82 -0
  162. truefoundry/ml/autogen/client/models/metric_dto.py +76 -0
  163. truefoundry/ml/autogen/client/models/mime_type.py +37 -0
  164. truefoundry/ml/autogen/client/models/model_configuration.py +103 -0
  165. truefoundry/ml/autogen/client/models/model_dto.py +122 -0
  166. truefoundry/ml/autogen/client/models/model_response_dto.py +75 -0
  167. truefoundry/ml/autogen/client/models/model_schema_dto.py +85 -0
  168. truefoundry/ml/autogen/client/models/model_version_dto.py +170 -0
  169. truefoundry/ml/autogen/client/models/model_version_response_dto.py +75 -0
  170. truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +107 -0
  171. truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +79 -0
  172. truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +34 -0
  173. truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +65 -0
  174. truefoundry/ml/autogen/client/models/openapi_spec.py +152 -0
  175. truefoundry/ml/autogen/client/models/param_dto.py +66 -0
  176. truefoundry/ml/autogen/client/models/parameters.py +84 -0
  177. truefoundry/ml/autogen/client/models/prediction_type.py +34 -0
  178. truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +75 -0
  179. truefoundry/ml/autogen/client/models/restore_run_request_dto.py +65 -0
  180. truefoundry/ml/autogen/client/models/run_data_dto.py +104 -0
  181. truefoundry/ml/autogen/client/models/run_dto.py +84 -0
  182. truefoundry/ml/autogen/client/models/run_info_dto.py +105 -0
  183. truefoundry/ml/autogen/client/models/run_log_dto.py +90 -0
  184. truefoundry/ml/autogen/client/models/run_log_input_dto.py +80 -0
  185. truefoundry/ml/autogen/client/models/run_response_dto.py +75 -0
  186. truefoundry/ml/autogen/client/models/run_tag_dto.py +66 -0
  187. truefoundry/ml/autogen/client/models/search_runs_request_dto.py +94 -0
  188. truefoundry/ml/autogen/client/models/search_runs_response_dto.py +84 -0
  189. truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +73 -0
  190. truefoundry/ml/autogen/client/models/set_tag_request_dto.py +76 -0
  191. truefoundry/ml/autogen/client/models/signed_url_dto.py +69 -0
  192. truefoundry/ml/autogen/client/models/stop.py +152 -0
  193. truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +83 -0
  194. truefoundry/ml/autogen/client/models/system_message.py +89 -0
  195. truefoundry/ml/autogen/client/models/text.py +153 -0
  196. truefoundry/ml/autogen/client/models/text_content_part.py +84 -0
  197. truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +74 -0
  198. truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +74 -0
  199. truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +74 -0
  200. truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +93 -0
  201. truefoundry/ml/autogen/client/models/update_run_request_dto.py +78 -0
  202. truefoundry/ml/autogen/client/models/update_run_response_dto.py +75 -0
  203. truefoundry/ml/autogen/client/models/url.py +153 -0
  204. truefoundry/ml/autogen/client/models/user_message.py +89 -0
  205. truefoundry/ml/autogen/client/models/validation_error.py +87 -0
  206. truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +154 -0
  207. truefoundry/ml/autogen/client/rest.py +426 -0
  208. truefoundry/ml/autogen/client_README.md +320 -0
  209. truefoundry/ml/cli/__init__.py +0 -0
  210. truefoundry/ml/cli/cli.py +18 -0
  211. truefoundry/ml/cli/commands/__init__.py +3 -0
  212. truefoundry/ml/cli/commands/download.py +87 -0
  213. truefoundry/ml/clients/__init__.py +0 -0
  214. truefoundry/ml/clients/entities.py +8 -0
  215. truefoundry/ml/clients/servicefoundry_client.py +45 -0
  216. truefoundry/ml/clients/utils.py +122 -0
  217. truefoundry/ml/constants.py +84 -0
  218. truefoundry/ml/entities.py +62 -0
  219. truefoundry/ml/enums.py +70 -0
  220. truefoundry/ml/env_vars.py +9 -0
  221. truefoundry/ml/exceptions.py +8 -0
  222. truefoundry/ml/git_info.py +60 -0
  223. truefoundry/ml/internal_namespace.py +52 -0
  224. truefoundry/ml/log_types/__init__.py +4 -0
  225. truefoundry/ml/log_types/artifacts/artifact.py +431 -0
  226. truefoundry/ml/log_types/artifacts/constants.py +33 -0
  227. truefoundry/ml/log_types/artifacts/dataset.py +384 -0
  228. truefoundry/ml/log_types/artifacts/general_artifact.py +110 -0
  229. truefoundry/ml/log_types/artifacts/model.py +611 -0
  230. truefoundry/ml/log_types/artifacts/model_extras.py +48 -0
  231. truefoundry/ml/log_types/artifacts/utils.py +161 -0
  232. truefoundry/ml/log_types/image/__init__.py +3 -0
  233. truefoundry/ml/log_types/image/constants.py +8 -0
  234. truefoundry/ml/log_types/image/image.py +357 -0
  235. truefoundry/ml/log_types/image/image_normalizer.py +102 -0
  236. truefoundry/ml/log_types/image/types.py +68 -0
  237. truefoundry/ml/log_types/plot.py +281 -0
  238. truefoundry/ml/log_types/pydantic_base.py +10 -0
  239. truefoundry/ml/log_types/utils.py +12 -0
  240. truefoundry/ml/logger.py +17 -0
  241. truefoundry/ml/mlfoundry_api.py +1575 -0
  242. truefoundry/ml/mlfoundry_run.py +1203 -0
  243. truefoundry/ml/run_utils.py +93 -0
  244. truefoundry/ml/session.py +168 -0
  245. truefoundry/ml/validation_utils.py +346 -0
  246. truefoundry/pydantic_v1.py +6 -2
  247. truefoundry/workflow/__init__.py +16 -1
  248. {truefoundry-0.3.4.dist-info → truefoundry-0.4.0.dist-info}/METADATA +21 -14
  249. truefoundry-0.4.0.dist-info/RECORD +344 -0
  250. truefoundry/deploy/lib/clients/utils.py +0 -41
  251. truefoundry-0.3.4.dist-info/RECORD +0 -136
  252. {truefoundry-0.3.4.dist-info → truefoundry-0.4.0.dist-info}/WHEEL +0 -0
  253. {truefoundry-0.3.4.dist-info → truefoundry-0.4.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,76 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from typing import Optional, Union
20
+
21
+ from truefoundry.pydantic_v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr
22
+
23
+
24
+ class MetricDto(BaseModel):
25
+ """
26
+ MetricDto
27
+ """
28
+
29
+ key: StrictStr = Field(...)
30
+ value: Optional[Union[StrictFloat, StrictInt]] = None
31
+ timestamp: Optional[StrictInt] = None
32
+ step: Optional[StrictInt] = 0
33
+ __properties = ["key", "value", "timestamp", "step"]
34
+
35
+ class Config:
36
+ """Pydantic configuration"""
37
+
38
+ allow_population_by_field_name = True
39
+ validate_assignment = True
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.dict(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> MetricDto:
51
+ """Create an instance of MetricDto from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self):
55
+ """Returns the dictionary representation of the model using alias"""
56
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
57
+ return _dict
58
+
59
+ @classmethod
60
+ def from_dict(cls, obj: dict) -> MetricDto:
61
+ """Create an instance of MetricDto from a dict"""
62
+ if obj is None:
63
+ return None
64
+
65
+ if not isinstance(obj, dict):
66
+ return MetricDto.parse_obj(obj)
67
+
68
+ _obj = MetricDto.parse_obj(
69
+ {
70
+ "key": obj.get("key"),
71
+ "value": obj.get("value"),
72
+ "timestamp": obj.get("timestamp"),
73
+ "step": obj.get("step") if obj.get("step") is not None else 0,
74
+ }
75
+ )
76
+ return _obj
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import json
15
+ import re # noqa: F401
16
+
17
+ from aenum import Enum
18
+
19
+
20
+ class MimeType(str, Enum):
21
+ """
22
+ +label=MIME Type +usage=MIME type of the content
23
+ """
24
+
25
+ """
26
+ allowed enum values
27
+ """
28
+ TEXT_SLASH_PLAIN = "text/plain"
29
+ APPLICATION_SLASH_JSON = "application/json"
30
+ IMAGE_SLASH_PNG = "image/png"
31
+ IMAGE_SLASH_JPEG = "image/jpeg"
32
+ APPLICATION_SLASH_X_MINUS_DIRECTORY = "application/x-directory"
33
+
34
+ @classmethod
35
+ def from_json(cls, json_str: str) -> MimeType:
36
+ """Create an instance of MimeType from a JSON string"""
37
+ return MimeType(json.loads(json_str))
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from typing import Any, Dict, Optional
20
+
21
+ from truefoundry.ml.autogen.client.models.parameters import Parameters
22
+ from truefoundry.pydantic_v1 import BaseModel, Field, StrictStr, constr, validator
23
+
24
+
25
+ class ModelConfiguration(BaseModel):
26
+ """
27
+ +label=Model Configuration +icon=fa-cogs:#326ce5 +message=Configuration details for the provider and corresponding config +usage=Define the provider and its configuration +docs=Configuration settings specific to the provider, including model settings and other parameters. # noqa: E501
28
+ """
29
+
30
+ provider: StrictStr = Field(
31
+ default=...,
32
+ description='+label=Provider Name +usage=Name of the provider, must be non-empty, e.g., "openai", "google_gemini"',
33
+ )
34
+ model: constr(strict=True) = Field(
35
+ default=...,
36
+ description="+label=Model name +usage=Model name, must be non-empty",
37
+ )
38
+ parameters: Optional[Parameters] = Field(
39
+ default=None,
40
+ description="+usage=Parameters for the provider +label=Parameters +docs=Key-value pairs to store additional parameters for the provider",
41
+ )
42
+ extra_parameters: Optional[Dict[str, Any]] = Field(
43
+ default=None,
44
+ description="+usage=Extra parameters for the provider +label=Extra Parameters +docs=Additional parameters for the provider",
45
+ )
46
+ __properties = ["provider", "model", "parameters", "extra_parameters"]
47
+
48
+ @validator("model")
49
+ def model_validate_regular_expression(cls, value):
50
+ """Validates the regular expression"""
51
+ if not re.match(r"^[a-zA-Z][a-zA-Z0-9\-]{1,30}[a-zA-Z0-9]$", value):
52
+ raise ValueError(
53
+ r"must validate the regular expression /^[a-zA-Z][a-zA-Z0-9\-]{1,30}[a-zA-Z0-9]$/"
54
+ )
55
+ return value
56
+
57
+ class Config:
58
+ """Pydantic configuration"""
59
+
60
+ allow_population_by_field_name = True
61
+ validate_assignment = True
62
+
63
+ def to_str(self) -> str:
64
+ """Returns the string representation of the model using alias"""
65
+ return pprint.pformat(self.dict(by_alias=True))
66
+
67
+ def to_json(self) -> str:
68
+ """Returns the JSON representation of the model using alias"""
69
+ return json.dumps(self.to_dict())
70
+
71
+ @classmethod
72
+ def from_json(cls, json_str: str) -> ModelConfiguration:
73
+ """Create an instance of ModelConfiguration from a JSON string"""
74
+ return cls.from_dict(json.loads(json_str))
75
+
76
+ def to_dict(self):
77
+ """Returns the dictionary representation of the model using alias"""
78
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
79
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of parameters
80
+ if self.parameters:
81
+ _dict["parameters"] = self.parameters.to_dict()
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: dict) -> ModelConfiguration:
86
+ """Create an instance of ModelConfiguration from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return ModelConfiguration.parse_obj(obj)
92
+
93
+ _obj = ModelConfiguration.parse_obj(
94
+ {
95
+ "provider": obj.get("provider"),
96
+ "model": obj.get("model"),
97
+ "parameters": Parameters.from_dict(obj.get("parameters"))
98
+ if obj.get("parameters") is not None
99
+ else None,
100
+ "extra_parameters": obj.get("extra_parameters"),
101
+ }
102
+ )
103
+ return _obj
@@ -0,0 +1,122 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from datetime import datetime
20
+ from typing import Optional
21
+
22
+ from truefoundry.ml.autogen.client.models.artifact_type import ArtifactType
23
+ from truefoundry.ml.autogen.client.models.experiment_dto import ExperimentDto
24
+ from truefoundry.ml.autogen.client.models.model_version_dto import ModelVersionDto
25
+ from truefoundry.pydantic_v1 import BaseModel, Field, StrictBool, StrictStr
26
+
27
+
28
+ class ModelDto(BaseModel):
29
+ """
30
+ ModelDto
31
+ """
32
+
33
+ id: StrictStr = Field(...)
34
+ experiment_id: StrictStr = Field(...)
35
+ type: ArtifactType = Field(...)
36
+ name: StrictStr = Field(...)
37
+ fqn: StrictStr = Field(...)
38
+ description: Optional[StrictStr] = None
39
+ created_by: Optional[StrictStr] = None
40
+ created_at: Optional[datetime] = None
41
+ updated_at: Optional[datetime] = None
42
+ artifact_storage_root: Optional[StrictStr] = None
43
+ latest_version: Optional[ModelVersionDto] = None
44
+ monitoring_enabled: Optional[StrictBool] = None
45
+ experiment: Optional[ExperimentDto] = None
46
+ __properties = [
47
+ "id",
48
+ "experiment_id",
49
+ "type",
50
+ "name",
51
+ "fqn",
52
+ "description",
53
+ "created_by",
54
+ "created_at",
55
+ "updated_at",
56
+ "artifact_storage_root",
57
+ "latest_version",
58
+ "monitoring_enabled",
59
+ "experiment",
60
+ ]
61
+
62
+ class Config:
63
+ """Pydantic configuration"""
64
+
65
+ allow_population_by_field_name = True
66
+ validate_assignment = True
67
+
68
+ def to_str(self) -> str:
69
+ """Returns the string representation of the model using alias"""
70
+ return pprint.pformat(self.dict(by_alias=True))
71
+
72
+ def to_json(self) -> str:
73
+ """Returns the JSON representation of the model using alias"""
74
+ return json.dumps(self.to_dict())
75
+
76
+ @classmethod
77
+ def from_json(cls, json_str: str) -> ModelDto:
78
+ """Create an instance of ModelDto from a JSON string"""
79
+ return cls.from_dict(json.loads(json_str))
80
+
81
+ def to_dict(self):
82
+ """Returns the dictionary representation of the model using alias"""
83
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
84
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of latest_version
85
+ if self.latest_version:
86
+ _dict["latest_version"] = self.latest_version.to_dict()
87
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of experiment
88
+ if self.experiment:
89
+ _dict["experiment"] = self.experiment.to_dict()
90
+ return _dict
91
+
92
+ @classmethod
93
+ def from_dict(cls, obj: dict) -> ModelDto:
94
+ """Create an instance of ModelDto from a dict"""
95
+ if obj is None:
96
+ return None
97
+
98
+ if not isinstance(obj, dict):
99
+ return ModelDto.parse_obj(obj)
100
+
101
+ _obj = ModelDto.parse_obj(
102
+ {
103
+ "id": obj.get("id"),
104
+ "experiment_id": obj.get("experiment_id"),
105
+ "type": obj.get("type"),
106
+ "name": obj.get("name"),
107
+ "fqn": obj.get("fqn"),
108
+ "description": obj.get("description"),
109
+ "created_by": obj.get("created_by"),
110
+ "created_at": obj.get("created_at"),
111
+ "updated_at": obj.get("updated_at"),
112
+ "artifact_storage_root": obj.get("artifact_storage_root"),
113
+ "latest_version": ModelVersionDto.from_dict(obj.get("latest_version"))
114
+ if obj.get("latest_version") is not None
115
+ else None,
116
+ "monitoring_enabled": obj.get("monitoring_enabled"),
117
+ "experiment": ExperimentDto.from_dict(obj.get("experiment"))
118
+ if obj.get("experiment") is not None
119
+ else None,
120
+ }
121
+ )
122
+ return _obj
@@ -0,0 +1,75 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+
20
+ from truefoundry.ml.autogen.client.models.model_dto import ModelDto
21
+ from truefoundry.pydantic_v1 import BaseModel, Field
22
+
23
+
24
+ class ModelResponseDto(BaseModel):
25
+ """
26
+ ModelResponseDto
27
+ """
28
+
29
+ model: ModelDto = Field(...)
30
+ __properties = ["model"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+
35
+ allow_population_by_field_name = True
36
+ validate_assignment = True
37
+
38
+ def to_str(self) -> str:
39
+ """Returns the string representation of the model using alias"""
40
+ return pprint.pformat(self.dict(by_alias=True))
41
+
42
+ def to_json(self) -> str:
43
+ """Returns the JSON representation of the model using alias"""
44
+ return json.dumps(self.to_dict())
45
+
46
+ @classmethod
47
+ def from_json(cls, json_str: str) -> ModelResponseDto:
48
+ """Create an instance of ModelResponseDto from a JSON string"""
49
+ return cls.from_dict(json.loads(json_str))
50
+
51
+ def to_dict(self):
52
+ """Returns the dictionary representation of the model using alias"""
53
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
54
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of model
55
+ if self.model:
56
+ _dict["model"] = self.model.to_dict()
57
+ return _dict
58
+
59
+ @classmethod
60
+ def from_dict(cls, obj: dict) -> ModelResponseDto:
61
+ """Create an instance of ModelResponseDto from a dict"""
62
+ if obj is None:
63
+ return None
64
+
65
+ if not isinstance(obj, dict):
66
+ return ModelResponseDto.parse_obj(obj)
67
+
68
+ _obj = ModelResponseDto.parse_obj(
69
+ {
70
+ "model": ModelDto.from_dict(obj.get("model"))
71
+ if obj.get("model") is not None
72
+ else None
73
+ }
74
+ )
75
+ return _obj
@@ -0,0 +1,85 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from typing import Optional
20
+
21
+ from truefoundry.ml.autogen.client.models.feature_dto import FeatureDto
22
+ from truefoundry.ml.autogen.client.models.prediction_type import PredictionType
23
+ from truefoundry.pydantic_v1 import BaseModel, conlist
24
+
25
+
26
+ class ModelSchemaDto(BaseModel):
27
+ """
28
+ ModelSchemaDto
29
+ """
30
+
31
+ features: Optional[conlist(FeatureDto)] = None
32
+ prediction: Optional[PredictionType] = None
33
+ __properties = ["features", "prediction"]
34
+
35
+ class Config:
36
+ """Pydantic configuration"""
37
+
38
+ allow_population_by_field_name = True
39
+ validate_assignment = True
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.dict(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> ModelSchemaDto:
51
+ """Create an instance of ModelSchemaDto from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self):
55
+ """Returns the dictionary representation of the model using alias"""
56
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
57
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of each item in features (list)
58
+ _items = []
59
+ if self.features:
60
+ for _item in self.features:
61
+ if _item:
62
+ _items.append(_item.to_dict())
63
+ _dict["features"] = _items
64
+ return _dict
65
+
66
+ @classmethod
67
+ def from_dict(cls, obj: dict) -> ModelSchemaDto:
68
+ """Create an instance of ModelSchemaDto from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return ModelSchemaDto.parse_obj(obj)
74
+
75
+ _obj = ModelSchemaDto.parse_obj(
76
+ {
77
+ "features": [
78
+ FeatureDto.from_dict(_item) for _item in obj.get("features")
79
+ ]
80
+ if obj.get("features") is not None
81
+ else None,
82
+ "prediction": obj.get("prediction"),
83
+ }
84
+ )
85
+ return _obj
@@ -0,0 +1,170 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ import re # noqa: F401
19
+ from datetime import datetime
20
+ from typing import Any, Dict, Optional
21
+
22
+ from truefoundry.ml.autogen.client.models.artifact_version_status import (
23
+ ArtifactVersionStatus,
24
+ )
25
+ from truefoundry.ml.autogen.client.models.metric_dto import MetricDto
26
+ from truefoundry.ml.autogen.client.models.model_schema_dto import ModelSchemaDto
27
+ from truefoundry.pydantic_v1 import (
28
+ BaseModel,
29
+ Field,
30
+ StrictBool,
31
+ StrictInt,
32
+ StrictStr,
33
+ conlist,
34
+ )
35
+
36
+
37
+ class ModelVersionDto(BaseModel):
38
+ """
39
+ ModelVersionDto
40
+ """
41
+
42
+ id: StrictStr = Field(...)
43
+ model_id: StrictStr = Field(...)
44
+ version: StrictInt = Field(...)
45
+ fqn: StrictStr = Field(...)
46
+ experiment_id: StrictStr = Field(...)
47
+ artifact_storage_root: Optional[StrictStr] = None
48
+ artifact_metadata: Optional[Dict[str, Any]] = None
49
+ description: Optional[StrictStr] = None
50
+ status: Optional[ArtifactVersionStatus] = None
51
+ step: Optional[StrictInt] = 0
52
+ created_by: Optional[StrictStr] = None
53
+ model_schema: Optional[ModelSchemaDto] = None
54
+ custom_metrics: Optional[conlist(Dict[str, Any])] = None
55
+ created_at: Optional[datetime] = None
56
+ updated_at: Optional[datetime] = None
57
+ model_fqn: Optional[StrictStr] = None
58
+ data_path: Optional[StrictStr] = None
59
+ monitoring_enabled: Optional[StrictBool] = False
60
+ usage_code_snippet: Optional[StrictStr] = None
61
+ run_id: Optional[StrictStr] = None
62
+ metrics: Optional[conlist(MetricDto)] = None
63
+ model_name: Optional[StrictStr] = None
64
+ model_framework: Optional[StrictStr] = None
65
+ artifact_size: Optional[StrictInt] = None
66
+ __properties = [
67
+ "id",
68
+ "model_id",
69
+ "version",
70
+ "fqn",
71
+ "experiment_id",
72
+ "artifact_storage_root",
73
+ "artifact_metadata",
74
+ "description",
75
+ "status",
76
+ "step",
77
+ "created_by",
78
+ "model_schema",
79
+ "custom_metrics",
80
+ "created_at",
81
+ "updated_at",
82
+ "model_fqn",
83
+ "data_path",
84
+ "monitoring_enabled",
85
+ "usage_code_snippet",
86
+ "run_id",
87
+ "metrics",
88
+ "model_name",
89
+ "model_framework",
90
+ "artifact_size",
91
+ ]
92
+
93
+ class Config:
94
+ """Pydantic configuration"""
95
+
96
+ allow_population_by_field_name = True
97
+ validate_assignment = True
98
+
99
+ def to_str(self) -> str:
100
+ """Returns the string representation of the model using alias"""
101
+ return pprint.pformat(self.dict(by_alias=True))
102
+
103
+ def to_json(self) -> str:
104
+ """Returns the JSON representation of the model using alias"""
105
+ return json.dumps(self.to_dict())
106
+
107
+ @classmethod
108
+ def from_json(cls, json_str: str) -> ModelVersionDto:
109
+ """Create an instance of ModelVersionDto from a JSON string"""
110
+ return cls.from_dict(json.loads(json_str))
111
+
112
+ def to_dict(self):
113
+ """Returns the dictionary representation of the model using alias"""
114
+ _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
115
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of model_schema
116
+ if self.model_schema:
117
+ _dict["model_schema"] = self.model_schema.to_dict()
118
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of each item in metrics (list)
119
+ _items = []
120
+ if self.metrics:
121
+ for _item in self.metrics:
122
+ if _item:
123
+ _items.append(_item.to_dict())
124
+ _dict["metrics"] = _items
125
+ return _dict
126
+
127
+ @classmethod
128
+ def from_dict(cls, obj: dict) -> ModelVersionDto:
129
+ """Create an instance of ModelVersionDto from a dict"""
130
+ if obj is None:
131
+ return None
132
+
133
+ if not isinstance(obj, dict):
134
+ return ModelVersionDto.parse_obj(obj)
135
+
136
+ _obj = ModelVersionDto.parse_obj(
137
+ {
138
+ "id": obj.get("id"),
139
+ "model_id": obj.get("model_id"),
140
+ "version": obj.get("version"),
141
+ "fqn": obj.get("fqn"),
142
+ "experiment_id": obj.get("experiment_id"),
143
+ "artifact_storage_root": obj.get("artifact_storage_root"),
144
+ "artifact_metadata": obj.get("artifact_metadata"),
145
+ "description": obj.get("description"),
146
+ "status": obj.get("status"),
147
+ "step": obj.get("step") if obj.get("step") is not None else 0,
148
+ "created_by": obj.get("created_by"),
149
+ "model_schema": ModelSchemaDto.from_dict(obj.get("model_schema"))
150
+ if obj.get("model_schema") is not None
151
+ else None,
152
+ "custom_metrics": obj.get("custom_metrics"),
153
+ "created_at": obj.get("created_at"),
154
+ "updated_at": obj.get("updated_at"),
155
+ "model_fqn": obj.get("model_fqn"),
156
+ "data_path": obj.get("data_path"),
157
+ "monitoring_enabled": obj.get("monitoring_enabled")
158
+ if obj.get("monitoring_enabled") is not None
159
+ else False,
160
+ "usage_code_snippet": obj.get("usage_code_snippet"),
161
+ "run_id": obj.get("run_id"),
162
+ "metrics": [MetricDto.from_dict(_item) for _item in obj.get("metrics")]
163
+ if obj.get("metrics") is not None
164
+ else None,
165
+ "model_name": obj.get("model_name"),
166
+ "model_framework": obj.get("model_framework"),
167
+ "artifact_size": obj.get("artifact_size"),
168
+ }
169
+ )
170
+ return _obj