mistralai 0.4.2__py3-none-any.whl → 0.5.5a50__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.
Files changed (240) hide show
  1. mistralai/__init__.py +5 -0
  2. mistralai/_hooks/__init__.py +5 -0
  3. mistralai/_hooks/custom_user_agent.py +16 -0
  4. mistralai/_hooks/deprecation_warning.py +26 -0
  5. mistralai/_hooks/registration.py +17 -0
  6. mistralai/_hooks/sdkhooks.py +57 -0
  7. mistralai/_hooks/types.py +76 -0
  8. mistralai/async_client.py +5 -413
  9. mistralai/basesdk.py +216 -0
  10. mistralai/chat.py +475 -0
  11. mistralai/client.py +5 -414
  12. mistralai/embeddings.py +182 -0
  13. mistralai/files.py +600 -84
  14. mistralai/fim.py +439 -0
  15. mistralai/fine_tuning.py +855 -0
  16. mistralai/httpclient.py +78 -0
  17. mistralai/models/__init__.py +80 -0
  18. mistralai/models/archiveftmodelout.py +19 -0
  19. mistralai/models/assistantmessage.py +58 -0
  20. mistralai/models/chatcompletionchoice.py +33 -0
  21. mistralai/models/chatcompletionrequest.py +114 -0
  22. mistralai/models/chatcompletionresponse.py +27 -0
  23. mistralai/models/chatcompletionstreamrequest.py +112 -0
  24. mistralai/models/checkpointout.py +25 -0
  25. mistralai/models/completionchunk.py +27 -0
  26. mistralai/models/completionevent.py +15 -0
  27. mistralai/models/completionresponsestreamchoice.py +53 -0
  28. mistralai/models/contentchunk.py +17 -0
  29. mistralai/models/delete_model_v1_models_model_id_deleteop.py +16 -0
  30. mistralai/models/deletefileout.py +24 -0
  31. mistralai/models/deletemodelout.py +25 -0
  32. mistralai/models/deltamessage.py +52 -0
  33. mistralai/models/detailedjobout.py +96 -0
  34. mistralai/models/embeddingrequest.py +66 -0
  35. mistralai/models/embeddingresponse.py +24 -0
  36. mistralai/models/embeddingresponsedata.py +19 -0
  37. mistralai/models/eventout.py +55 -0
  38. mistralai/models/files_api_routes_delete_fileop.py +16 -0
  39. mistralai/models/files_api_routes_retrieve_fileop.py +16 -0
  40. mistralai/models/files_api_routes_upload_fileop.py +51 -0
  41. mistralai/models/fileschema.py +76 -0
  42. mistralai/models/fimcompletionrequest.py +99 -0
  43. mistralai/models/fimcompletionresponse.py +27 -0
  44. mistralai/models/fimcompletionstreamrequest.py +97 -0
  45. mistralai/models/finetuneablemodel.py +8 -0
  46. mistralai/models/ftmodelcapabilitiesout.py +21 -0
  47. mistralai/models/ftmodelout.py +70 -0
  48. mistralai/models/function.py +19 -0
  49. mistralai/models/functioncall.py +16 -0
  50. mistralai/models/githubrepositoryin.py +57 -0
  51. mistralai/models/githubrepositoryout.py +57 -0
  52. mistralai/models/httpvalidationerror.py +23 -0
  53. mistralai/models/jobin.py +78 -0
  54. mistralai/models/jobmetadataout.py +59 -0
  55. mistralai/models/jobout.py +112 -0
  56. mistralai/models/jobs_api_routes_fine_tuning_archive_fine_tuned_modelop.py +16 -0
  57. mistralai/models/jobs_api_routes_fine_tuning_cancel_fine_tuning_jobop.py +18 -0
  58. mistralai/models/jobs_api_routes_fine_tuning_create_fine_tuning_jobop.py +73 -0
  59. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobop.py +18 -0
  60. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobsop.py +86 -0
  61. mistralai/models/jobs_api_routes_fine_tuning_start_fine_tuning_jobop.py +16 -0
  62. mistralai/models/jobs_api_routes_fine_tuning_unarchive_fine_tuned_modelop.py +16 -0
  63. mistralai/models/jobs_api_routes_fine_tuning_update_fine_tuned_modelop.py +19 -0
  64. mistralai/models/jobsout.py +20 -0
  65. mistralai/models/legacyjobmetadataout.py +85 -0
  66. mistralai/models/listfilesout.py +17 -0
  67. mistralai/models/metricout.py +55 -0
  68. mistralai/models/modelcapabilities.py +21 -0
  69. mistralai/models/modelcard.py +71 -0
  70. mistralai/models/modellist.py +18 -0
  71. mistralai/models/responseformat.py +18 -0
  72. mistralai/models/retrieve_model_v1_models_model_id_getop.py +16 -0
  73. mistralai/models/retrievefileout.py +76 -0
  74. mistralai/models/sampletype.py +7 -0
  75. mistralai/models/sdkerror.py +22 -0
  76. mistralai/models/security.py +16 -0
  77. mistralai/models/source.py +7 -0
  78. mistralai/models/systemmessage.py +26 -0
  79. mistralai/models/textchunk.py +17 -0
  80. mistralai/models/tool.py +18 -0
  81. mistralai/models/toolcall.py +20 -0
  82. mistralai/models/toolmessage.py +55 -0
  83. mistralai/models/trainingfile.py +17 -0
  84. mistralai/models/trainingparameters.py +53 -0
  85. mistralai/models/trainingparametersin.py +61 -0
  86. mistralai/models/unarchiveftmodelout.py +19 -0
  87. mistralai/models/updateftmodelin.py +49 -0
  88. mistralai/models/uploadfileout.py +76 -0
  89. mistralai/models/usageinfo.py +18 -0
  90. mistralai/models/usermessage.py +26 -0
  91. mistralai/models/validationerror.py +24 -0
  92. mistralai/models/wandbintegration.py +61 -0
  93. mistralai/models/wandbintegrationout.py +57 -0
  94. mistralai/models_.py +928 -0
  95. mistralai/py.typed +1 -0
  96. mistralai/sdk.py +111 -0
  97. mistralai/sdkconfiguration.py +53 -0
  98. mistralai/types/__init__.py +21 -0
  99. mistralai/types/basemodel.py +35 -0
  100. mistralai/utils/__init__.py +82 -0
  101. mistralai/utils/annotations.py +19 -0
  102. mistralai/utils/enums.py +34 -0
  103. mistralai/utils/eventstreaming.py +179 -0
  104. mistralai/utils/forms.py +207 -0
  105. mistralai/utils/headers.py +136 -0
  106. mistralai/utils/metadata.py +118 -0
  107. mistralai/utils/queryparams.py +203 -0
  108. mistralai/utils/requestbodies.py +66 -0
  109. mistralai/utils/retries.py +216 -0
  110. mistralai/utils/security.py +182 -0
  111. mistralai/utils/serializers.py +181 -0
  112. mistralai/utils/url.py +150 -0
  113. mistralai/utils/values.py +128 -0
  114. {mistralai-0.4.2.dist-info → mistralai-0.5.5a50.dist-info}/LICENSE +1 -1
  115. mistralai-0.5.5a50.dist-info/METADATA +626 -0
  116. mistralai-0.5.5a50.dist-info/RECORD +228 -0
  117. mistralai_azure/__init__.py +5 -0
  118. mistralai_azure/_hooks/__init__.py +5 -0
  119. mistralai_azure/_hooks/custom_user_agent.py +16 -0
  120. mistralai_azure/_hooks/registration.py +15 -0
  121. mistralai_azure/_hooks/sdkhooks.py +57 -0
  122. mistralai_azure/_hooks/types.py +76 -0
  123. mistralai_azure/basesdk.py +215 -0
  124. mistralai_azure/chat.py +475 -0
  125. mistralai_azure/httpclient.py +78 -0
  126. mistralai_azure/models/__init__.py +28 -0
  127. mistralai_azure/models/assistantmessage.py +58 -0
  128. mistralai_azure/models/chatcompletionchoice.py +33 -0
  129. mistralai_azure/models/chatcompletionrequest.py +114 -0
  130. mistralai_azure/models/chatcompletionresponse.py +27 -0
  131. mistralai_azure/models/chatcompletionstreamrequest.py +112 -0
  132. mistralai_azure/models/completionchunk.py +27 -0
  133. mistralai_azure/models/completionevent.py +15 -0
  134. mistralai_azure/models/completionresponsestreamchoice.py +53 -0
  135. mistralai_azure/models/contentchunk.py +17 -0
  136. mistralai_azure/models/deltamessage.py +52 -0
  137. mistralai_azure/models/function.py +19 -0
  138. mistralai_azure/models/functioncall.py +16 -0
  139. mistralai_azure/models/httpvalidationerror.py +23 -0
  140. mistralai_azure/models/responseformat.py +18 -0
  141. mistralai_azure/models/sdkerror.py +22 -0
  142. mistralai_azure/models/security.py +16 -0
  143. mistralai_azure/models/systemmessage.py +26 -0
  144. mistralai_azure/models/textchunk.py +17 -0
  145. mistralai_azure/models/tool.py +18 -0
  146. mistralai_azure/models/toolcall.py +20 -0
  147. mistralai_azure/models/toolmessage.py +55 -0
  148. mistralai_azure/models/usageinfo.py +18 -0
  149. mistralai_azure/models/usermessage.py +26 -0
  150. mistralai_azure/models/validationerror.py +24 -0
  151. mistralai_azure/py.typed +1 -0
  152. mistralai_azure/sdk.py +102 -0
  153. mistralai_azure/sdkconfiguration.py +53 -0
  154. mistralai_azure/types/__init__.py +21 -0
  155. mistralai_azure/types/basemodel.py +35 -0
  156. mistralai_azure/utils/__init__.py +80 -0
  157. mistralai_azure/utils/annotations.py +19 -0
  158. mistralai_azure/utils/enums.py +34 -0
  159. mistralai_azure/utils/eventstreaming.py +179 -0
  160. mistralai_azure/utils/forms.py +207 -0
  161. mistralai_azure/utils/headers.py +136 -0
  162. mistralai_azure/utils/metadata.py +118 -0
  163. mistralai_azure/utils/queryparams.py +203 -0
  164. mistralai_azure/utils/requestbodies.py +66 -0
  165. mistralai_azure/utils/retries.py +216 -0
  166. mistralai_azure/utils/security.py +168 -0
  167. mistralai_azure/utils/serializers.py +181 -0
  168. mistralai_azure/utils/url.py +150 -0
  169. mistralai_azure/utils/values.py +128 -0
  170. mistralai_gcp/__init__.py +5 -0
  171. mistralai_gcp/_hooks/__init__.py +5 -0
  172. mistralai_gcp/_hooks/custom_user_agent.py +16 -0
  173. mistralai_gcp/_hooks/registration.py +15 -0
  174. mistralai_gcp/_hooks/sdkhooks.py +57 -0
  175. mistralai_gcp/_hooks/types.py +76 -0
  176. mistralai_gcp/basesdk.py +215 -0
  177. mistralai_gcp/chat.py +463 -0
  178. mistralai_gcp/fim.py +439 -0
  179. mistralai_gcp/httpclient.py +78 -0
  180. mistralai_gcp/models/__init__.py +31 -0
  181. mistralai_gcp/models/assistantmessage.py +58 -0
  182. mistralai_gcp/models/chatcompletionchoice.py +33 -0
  183. mistralai_gcp/models/chatcompletionrequest.py +110 -0
  184. mistralai_gcp/models/chatcompletionresponse.py +27 -0
  185. mistralai_gcp/models/chatcompletionstreamrequest.py +108 -0
  186. mistralai_gcp/models/completionchunk.py +27 -0
  187. mistralai_gcp/models/completionevent.py +15 -0
  188. mistralai_gcp/models/completionresponsestreamchoice.py +53 -0
  189. mistralai_gcp/models/contentchunk.py +17 -0
  190. mistralai_gcp/models/deltamessage.py +52 -0
  191. mistralai_gcp/models/fimcompletionrequest.py +99 -0
  192. mistralai_gcp/models/fimcompletionresponse.py +27 -0
  193. mistralai_gcp/models/fimcompletionstreamrequest.py +97 -0
  194. mistralai_gcp/models/function.py +19 -0
  195. mistralai_gcp/models/functioncall.py +16 -0
  196. mistralai_gcp/models/httpvalidationerror.py +23 -0
  197. mistralai_gcp/models/responseformat.py +18 -0
  198. mistralai_gcp/models/sdkerror.py +22 -0
  199. mistralai_gcp/models/security.py +16 -0
  200. mistralai_gcp/models/systemmessage.py +26 -0
  201. mistralai_gcp/models/textchunk.py +17 -0
  202. mistralai_gcp/models/tool.py +18 -0
  203. mistralai_gcp/models/toolcall.py +20 -0
  204. mistralai_gcp/models/toolmessage.py +55 -0
  205. mistralai_gcp/models/usageinfo.py +18 -0
  206. mistralai_gcp/models/usermessage.py +26 -0
  207. mistralai_gcp/models/validationerror.py +24 -0
  208. mistralai_gcp/py.typed +1 -0
  209. mistralai_gcp/sdk.py +165 -0
  210. mistralai_gcp/sdkconfiguration.py +53 -0
  211. mistralai_gcp/types/__init__.py +21 -0
  212. mistralai_gcp/types/basemodel.py +35 -0
  213. mistralai_gcp/utils/__init__.py +80 -0
  214. mistralai_gcp/utils/annotations.py +19 -0
  215. mistralai_gcp/utils/enums.py +34 -0
  216. mistralai_gcp/utils/eventstreaming.py +179 -0
  217. mistralai_gcp/utils/forms.py +207 -0
  218. mistralai_gcp/utils/headers.py +136 -0
  219. mistralai_gcp/utils/metadata.py +118 -0
  220. mistralai_gcp/utils/queryparams.py +203 -0
  221. mistralai_gcp/utils/requestbodies.py +66 -0
  222. mistralai_gcp/utils/retries.py +216 -0
  223. mistralai_gcp/utils/security.py +168 -0
  224. mistralai_gcp/utils/serializers.py +181 -0
  225. mistralai_gcp/utils/url.py +150 -0
  226. mistralai_gcp/utils/values.py +128 -0
  227. py.typed +1 -0
  228. mistralai/client_base.py +0 -211
  229. mistralai/constants.py +0 -5
  230. mistralai/exceptions.py +0 -54
  231. mistralai/jobs.py +0 -172
  232. mistralai/models/chat_completion.py +0 -93
  233. mistralai/models/common.py +0 -9
  234. mistralai/models/embeddings.py +0 -19
  235. mistralai/models/files.py +0 -23
  236. mistralai/models/jobs.py +0 -100
  237. mistralai/models/models.py +0 -39
  238. mistralai-0.4.2.dist-info/METADATA +0 -82
  239. mistralai-0.4.2.dist-info/RECORD +0 -20
  240. {mistralai-0.4.2.dist-info → mistralai-0.5.5a50.dist-info}/WHEEL +0 -0
mistralai/files.py CHANGED
@@ -1,84 +1,600 @@
1
- from typing import Any
2
-
3
- from mistralai.exceptions import (
4
- MistralException,
5
- )
6
- from mistralai.models.files import FileDeleted, FileObject, Files
7
-
8
-
9
- class FilesClient:
10
- def __init__(self, client: Any):
11
- self.client = client
12
-
13
- def create(
14
- self,
15
- file: bytes,
16
- purpose: str = "fine-tune",
17
- ) -> FileObject:
18
- single_response = self.client._request(
19
- "post",
20
- None,
21
- "v1/files",
22
- files={"file": file},
23
- data={"purpose": purpose},
24
- )
25
- for response in single_response:
26
- return FileObject(**response)
27
- raise MistralException("No response received")
28
-
29
- def retrieve(self, file_id: str) -> FileObject:
30
- single_response = self.client._request("get", {}, f"v1/files/{file_id}")
31
- for response in single_response:
32
- return FileObject(**response)
33
- raise MistralException("No response received")
34
-
35
- def list(self) -> Files:
36
- single_response = self.client._request("get", {}, "v1/files")
37
- for response in single_response:
38
- return Files(**response)
39
- raise MistralException("No response received")
40
-
41
- def delete(self, file_id: str) -> FileDeleted:
42
- single_response = self.client._request("delete", {}, f"v1/files/{file_id}")
43
- for response in single_response:
44
- return FileDeleted(**response)
45
- raise MistralException("No response received")
46
-
47
-
48
- class FilesAsyncClient:
49
- def __init__(self, client: Any):
50
- self.client = client
51
-
52
- async def create(
53
- self,
54
- file: bytes,
55
- purpose: str = "fine-tune",
56
- ) -> FileObject:
57
- single_response = self.client._request(
58
- "post",
59
- None,
60
- "v1/files",
61
- files={"file": file},
62
- data={"purpose": purpose},
63
- )
64
- async for response in single_response:
65
- return FileObject(**response)
66
- raise MistralException("No response received")
67
-
68
- async def retrieve(self, file_id: str) -> FileObject:
69
- single_response = self.client._request("get", {}, f"v1/files/{file_id}")
70
- async for response in single_response:
71
- return FileObject(**response)
72
- raise MistralException("No response received")
73
-
74
- async def list(self) -> Files:
75
- single_response = self.client._request("get", {}, "v1/files")
76
- async for response in single_response:
77
- return Files(**response)
78
- raise MistralException("No response received")
79
-
80
- async def delete(self, file_id: str) -> FileDeleted:
81
- single_response = self.client._request("delete", {}, f"v1/files/{file_id}")
82
- async for response in single_response:
83
- return FileDeleted(**response)
84
- raise MistralException("No response received")
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from mistralai import models
5
+ from mistralai._hooks import HookContext
6
+ from mistralai.types import OptionalNullable, UNSET
7
+ import mistralai.utils as utils
8
+ from typing import Optional, Union
9
+
10
+ class Files(BaseSDK):
11
+ r"""Files API"""
12
+
13
+
14
+ def upload(
15
+ self, *,
16
+ file: Union[models.File, models.FileTypedDict],
17
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
18
+ server_url: Optional[str] = None,
19
+ timeout_ms: Optional[int] = None,
20
+ ) -> Optional[models.UploadFileOut]:
21
+ r"""Upload File
22
+
23
+ Upload a file that can be used across various endpoints.
24
+
25
+ The size of individual files can be a maximum of 512 MB. The Fine-tuning API only supports .jsonl files.
26
+
27
+ Please contact us if you need to increase these storage limits.
28
+
29
+ :param file: The File object (not file name) to be uploaded. To upload a file and specify a custom file name you should format your request as such: ```bash file=@path/to/your/file.jsonl;filename=custom_name.jsonl ``` Otherwise, you can just keep the original file name: ```bash file=@path/to/your/file.jsonl ```
30
+ :param retries: Override the default retry configuration for this method
31
+ :param server_url: Override the default server URL for this method
32
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
33
+ """
34
+ base_url = None
35
+ url_variables = None
36
+ if timeout_ms is None:
37
+ timeout_ms = self.sdk_configuration.timeout_ms
38
+
39
+ if server_url is not None:
40
+ base_url = server_url
41
+
42
+ request = models.FilesAPIRoutesUploadFileMultiPartBodyParams(
43
+ file=utils.get_pydantic_model(file, models.File),
44
+ )
45
+
46
+ req = self.build_request(
47
+ method="POST",
48
+ path="/v1/files",
49
+ base_url=base_url,
50
+ url_variables=url_variables,
51
+ request=request,
52
+ request_body_required=True,
53
+ request_has_path_params=False,
54
+ request_has_query_params=True,
55
+ user_agent_header="user-agent",
56
+ accept_header_value="application/json",
57
+ security=self.sdk_configuration.security,
58
+ get_serialized_body=lambda: utils.serialize_request_body(request, False, False, "multipart", models.FilesAPIRoutesUploadFileMultiPartBodyParams),
59
+ timeout_ms=timeout_ms,
60
+ )
61
+
62
+ if retries == UNSET:
63
+ if self.sdk_configuration.retry_config is not UNSET:
64
+ retries = self.sdk_configuration.retry_config
65
+
66
+ retry_config = None
67
+ if isinstance(retries, utils.RetryConfig):
68
+ retry_config = (retries, [
69
+ "429",
70
+ "500",
71
+ "502",
72
+ "503",
73
+ "504"
74
+ ])
75
+
76
+ http_res = self.do_request(
77
+ hook_ctx=HookContext(operation_id="files_api_routes_upload_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
78
+ request=req,
79
+ error_status_codes=["4XX","5XX"],
80
+ retry_config=retry_config
81
+ )
82
+
83
+ if utils.match_response(http_res, "200", "application/json"):
84
+ return utils.unmarshal_json(http_res.text, Optional[models.UploadFileOut])
85
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
86
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
87
+
88
+ content_type = http_res.headers.get("Content-Type")
89
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
90
+
91
+
92
+
93
+ async def upload_async(
94
+ self, *,
95
+ file: Union[models.File, models.FileTypedDict],
96
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
97
+ server_url: Optional[str] = None,
98
+ timeout_ms: Optional[int] = None,
99
+ ) -> Optional[models.UploadFileOut]:
100
+ r"""Upload File
101
+
102
+ Upload a file that can be used across various endpoints.
103
+
104
+ The size of individual files can be a maximum of 512 MB. The Fine-tuning API only supports .jsonl files.
105
+
106
+ Please contact us if you need to increase these storage limits.
107
+
108
+ :param file: The File object (not file name) to be uploaded. To upload a file and specify a custom file name you should format your request as such: ```bash file=@path/to/your/file.jsonl;filename=custom_name.jsonl ``` Otherwise, you can just keep the original file name: ```bash file=@path/to/your/file.jsonl ```
109
+ :param retries: Override the default retry configuration for this method
110
+ :param server_url: Override the default server URL for this method
111
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
112
+ """
113
+ base_url = None
114
+ url_variables = None
115
+ if timeout_ms is None:
116
+ timeout_ms = self.sdk_configuration.timeout_ms
117
+
118
+ if server_url is not None:
119
+ base_url = server_url
120
+
121
+ request = models.FilesAPIRoutesUploadFileMultiPartBodyParams(
122
+ file=utils.get_pydantic_model(file, models.File),
123
+ )
124
+
125
+ req = self.build_request(
126
+ method="POST",
127
+ path="/v1/files",
128
+ base_url=base_url,
129
+ url_variables=url_variables,
130
+ request=request,
131
+ request_body_required=True,
132
+ request_has_path_params=False,
133
+ request_has_query_params=True,
134
+ user_agent_header="user-agent",
135
+ accept_header_value="application/json",
136
+ security=self.sdk_configuration.security,
137
+ get_serialized_body=lambda: utils.serialize_request_body(request, False, False, "multipart", models.FilesAPIRoutesUploadFileMultiPartBodyParams),
138
+ timeout_ms=timeout_ms,
139
+ )
140
+
141
+ if retries == UNSET:
142
+ if self.sdk_configuration.retry_config is not UNSET:
143
+ retries = self.sdk_configuration.retry_config
144
+
145
+ retry_config = None
146
+ if isinstance(retries, utils.RetryConfig):
147
+ retry_config = (retries, [
148
+ "429",
149
+ "500",
150
+ "502",
151
+ "503",
152
+ "504"
153
+ ])
154
+
155
+ http_res = await self.do_request_async(
156
+ hook_ctx=HookContext(operation_id="files_api_routes_upload_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
157
+ request=req,
158
+ error_status_codes=["4XX","5XX"],
159
+ retry_config=retry_config
160
+ )
161
+
162
+ if utils.match_response(http_res, "200", "application/json"):
163
+ return utils.unmarshal_json(http_res.text, Optional[models.UploadFileOut])
164
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
165
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
166
+
167
+ content_type = http_res.headers.get("Content-Type")
168
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
169
+
170
+
171
+
172
+ def list(
173
+ self, *,
174
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
175
+ server_url: Optional[str] = None,
176
+ timeout_ms: Optional[int] = None,
177
+ ) -> Optional[models.ListFilesOut]:
178
+ r"""List Files
179
+
180
+ Returns a list of files that belong to the user's organization.
181
+
182
+ :param retries: Override the default retry configuration for this method
183
+ :param server_url: Override the default server URL for this method
184
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
185
+ """
186
+ base_url = None
187
+ url_variables = None
188
+ if timeout_ms is None:
189
+ timeout_ms = self.sdk_configuration.timeout_ms
190
+
191
+ if server_url is not None:
192
+ base_url = server_url
193
+ req = self.build_request(
194
+ method="GET",
195
+ path="/v1/files",
196
+ base_url=base_url,
197
+ url_variables=url_variables,
198
+ request=None,
199
+ request_body_required=False,
200
+ request_has_path_params=False,
201
+ request_has_query_params=True,
202
+ user_agent_header="user-agent",
203
+ accept_header_value="application/json",
204
+ security=self.sdk_configuration.security,
205
+ timeout_ms=timeout_ms,
206
+ )
207
+
208
+ if retries == UNSET:
209
+ if self.sdk_configuration.retry_config is not UNSET:
210
+ retries = self.sdk_configuration.retry_config
211
+
212
+ retry_config = None
213
+ if isinstance(retries, utils.RetryConfig):
214
+ retry_config = (retries, [
215
+ "429",
216
+ "500",
217
+ "502",
218
+ "503",
219
+ "504"
220
+ ])
221
+
222
+ http_res = self.do_request(
223
+ hook_ctx=HookContext(operation_id="files_api_routes_list_files", oauth2_scopes=[], security_source=self.sdk_configuration.security),
224
+ request=req,
225
+ error_status_codes=["4XX","5XX"],
226
+ retry_config=retry_config
227
+ )
228
+
229
+ if utils.match_response(http_res, "200", "application/json"):
230
+ return utils.unmarshal_json(http_res.text, Optional[models.ListFilesOut])
231
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
232
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
233
+
234
+ content_type = http_res.headers.get("Content-Type")
235
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
236
+
237
+
238
+
239
+ async def list_async(
240
+ self, *,
241
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
242
+ server_url: Optional[str] = None,
243
+ timeout_ms: Optional[int] = None,
244
+ ) -> Optional[models.ListFilesOut]:
245
+ r"""List Files
246
+
247
+ Returns a list of files that belong to the user's organization.
248
+
249
+ :param retries: Override the default retry configuration for this method
250
+ :param server_url: Override the default server URL for this method
251
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
252
+ """
253
+ base_url = None
254
+ url_variables = None
255
+ if timeout_ms is None:
256
+ timeout_ms = self.sdk_configuration.timeout_ms
257
+
258
+ if server_url is not None:
259
+ base_url = server_url
260
+ req = self.build_request(
261
+ method="GET",
262
+ path="/v1/files",
263
+ base_url=base_url,
264
+ url_variables=url_variables,
265
+ request=None,
266
+ request_body_required=False,
267
+ request_has_path_params=False,
268
+ request_has_query_params=True,
269
+ user_agent_header="user-agent",
270
+ accept_header_value="application/json",
271
+ security=self.sdk_configuration.security,
272
+ timeout_ms=timeout_ms,
273
+ )
274
+
275
+ if retries == UNSET:
276
+ if self.sdk_configuration.retry_config is not UNSET:
277
+ retries = self.sdk_configuration.retry_config
278
+
279
+ retry_config = None
280
+ if isinstance(retries, utils.RetryConfig):
281
+ retry_config = (retries, [
282
+ "429",
283
+ "500",
284
+ "502",
285
+ "503",
286
+ "504"
287
+ ])
288
+
289
+ http_res = await self.do_request_async(
290
+ hook_ctx=HookContext(operation_id="files_api_routes_list_files", oauth2_scopes=[], security_source=self.sdk_configuration.security),
291
+ request=req,
292
+ error_status_codes=["4XX","5XX"],
293
+ retry_config=retry_config
294
+ )
295
+
296
+ if utils.match_response(http_res, "200", "application/json"):
297
+ return utils.unmarshal_json(http_res.text, Optional[models.ListFilesOut])
298
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
299
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
300
+
301
+ content_type = http_res.headers.get("Content-Type")
302
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
303
+
304
+
305
+
306
+ def retrieve(
307
+ self, *,
308
+ file_id: str,
309
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
310
+ server_url: Optional[str] = None,
311
+ timeout_ms: Optional[int] = None,
312
+ ) -> Optional[models.RetrieveFileOut]:
313
+ r"""Retrieve File
314
+
315
+ Returns information about a specific file.
316
+
317
+ :param file_id:
318
+ :param retries: Override the default retry configuration for this method
319
+ :param server_url: Override the default server URL for this method
320
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
321
+ """
322
+ base_url = None
323
+ url_variables = None
324
+ if timeout_ms is None:
325
+ timeout_ms = self.sdk_configuration.timeout_ms
326
+
327
+ if server_url is not None:
328
+ base_url = server_url
329
+
330
+ request = models.FilesAPIRoutesRetrieveFileRequest(
331
+ file_id=file_id,
332
+ )
333
+
334
+ req = self.build_request(
335
+ method="GET",
336
+ path="/v1/files/{file_id}",
337
+ base_url=base_url,
338
+ url_variables=url_variables,
339
+ request=request,
340
+ request_body_required=False,
341
+ request_has_path_params=True,
342
+ request_has_query_params=True,
343
+ user_agent_header="user-agent",
344
+ accept_header_value="application/json",
345
+ security=self.sdk_configuration.security,
346
+ timeout_ms=timeout_ms,
347
+ )
348
+
349
+ if retries == UNSET:
350
+ if self.sdk_configuration.retry_config is not UNSET:
351
+ retries = self.sdk_configuration.retry_config
352
+
353
+ retry_config = None
354
+ if isinstance(retries, utils.RetryConfig):
355
+ retry_config = (retries, [
356
+ "429",
357
+ "500",
358
+ "502",
359
+ "503",
360
+ "504"
361
+ ])
362
+
363
+ http_res = self.do_request(
364
+ hook_ctx=HookContext(operation_id="files_api_routes_retrieve_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
365
+ request=req,
366
+ error_status_codes=["4XX","5XX"],
367
+ retry_config=retry_config
368
+ )
369
+
370
+ if utils.match_response(http_res, "200", "application/json"):
371
+ return utils.unmarshal_json(http_res.text, Optional[models.RetrieveFileOut])
372
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
373
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
374
+
375
+ content_type = http_res.headers.get("Content-Type")
376
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
377
+
378
+
379
+
380
+ async def retrieve_async(
381
+ self, *,
382
+ file_id: str,
383
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
384
+ server_url: Optional[str] = None,
385
+ timeout_ms: Optional[int] = None,
386
+ ) -> Optional[models.RetrieveFileOut]:
387
+ r"""Retrieve File
388
+
389
+ Returns information about a specific file.
390
+
391
+ :param file_id:
392
+ :param retries: Override the default retry configuration for this method
393
+ :param server_url: Override the default server URL for this method
394
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
395
+ """
396
+ base_url = None
397
+ url_variables = None
398
+ if timeout_ms is None:
399
+ timeout_ms = self.sdk_configuration.timeout_ms
400
+
401
+ if server_url is not None:
402
+ base_url = server_url
403
+
404
+ request = models.FilesAPIRoutesRetrieveFileRequest(
405
+ file_id=file_id,
406
+ )
407
+
408
+ req = self.build_request(
409
+ method="GET",
410
+ path="/v1/files/{file_id}",
411
+ base_url=base_url,
412
+ url_variables=url_variables,
413
+ request=request,
414
+ request_body_required=False,
415
+ request_has_path_params=True,
416
+ request_has_query_params=True,
417
+ user_agent_header="user-agent",
418
+ accept_header_value="application/json",
419
+ security=self.sdk_configuration.security,
420
+ timeout_ms=timeout_ms,
421
+ )
422
+
423
+ if retries == UNSET:
424
+ if self.sdk_configuration.retry_config is not UNSET:
425
+ retries = self.sdk_configuration.retry_config
426
+
427
+ retry_config = None
428
+ if isinstance(retries, utils.RetryConfig):
429
+ retry_config = (retries, [
430
+ "429",
431
+ "500",
432
+ "502",
433
+ "503",
434
+ "504"
435
+ ])
436
+
437
+ http_res = await self.do_request_async(
438
+ hook_ctx=HookContext(operation_id="files_api_routes_retrieve_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
439
+ request=req,
440
+ error_status_codes=["4XX","5XX"],
441
+ retry_config=retry_config
442
+ )
443
+
444
+ if utils.match_response(http_res, "200", "application/json"):
445
+ return utils.unmarshal_json(http_res.text, Optional[models.RetrieveFileOut])
446
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
447
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
448
+
449
+ content_type = http_res.headers.get("Content-Type")
450
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
451
+
452
+
453
+
454
+ def delete(
455
+ self, *,
456
+ file_id: str,
457
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
458
+ server_url: Optional[str] = None,
459
+ timeout_ms: Optional[int] = None,
460
+ ) -> Optional[models.DeleteFileOut]:
461
+ r"""Delete File
462
+
463
+ Delete a file.
464
+
465
+ :param file_id:
466
+ :param retries: Override the default retry configuration for this method
467
+ :param server_url: Override the default server URL for this method
468
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
469
+ """
470
+ base_url = None
471
+ url_variables = None
472
+ if timeout_ms is None:
473
+ timeout_ms = self.sdk_configuration.timeout_ms
474
+
475
+ if server_url is not None:
476
+ base_url = server_url
477
+
478
+ request = models.FilesAPIRoutesDeleteFileRequest(
479
+ file_id=file_id,
480
+ )
481
+
482
+ req = self.build_request(
483
+ method="DELETE",
484
+ path="/v1/files/{file_id}",
485
+ base_url=base_url,
486
+ url_variables=url_variables,
487
+ request=request,
488
+ request_body_required=False,
489
+ request_has_path_params=True,
490
+ request_has_query_params=True,
491
+ user_agent_header="user-agent",
492
+ accept_header_value="application/json",
493
+ security=self.sdk_configuration.security,
494
+ timeout_ms=timeout_ms,
495
+ )
496
+
497
+ if retries == UNSET:
498
+ if self.sdk_configuration.retry_config is not UNSET:
499
+ retries = self.sdk_configuration.retry_config
500
+
501
+ retry_config = None
502
+ if isinstance(retries, utils.RetryConfig):
503
+ retry_config = (retries, [
504
+ "429",
505
+ "500",
506
+ "502",
507
+ "503",
508
+ "504"
509
+ ])
510
+
511
+ http_res = self.do_request(
512
+ hook_ctx=HookContext(operation_id="files_api_routes_delete_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
513
+ request=req,
514
+ error_status_codes=["4XX","5XX"],
515
+ retry_config=retry_config
516
+ )
517
+
518
+ if utils.match_response(http_res, "200", "application/json"):
519
+ return utils.unmarshal_json(http_res.text, Optional[models.DeleteFileOut])
520
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
521
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
522
+
523
+ content_type = http_res.headers.get("Content-Type")
524
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
525
+
526
+
527
+
528
+ async def delete_async(
529
+ self, *,
530
+ file_id: str,
531
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
532
+ server_url: Optional[str] = None,
533
+ timeout_ms: Optional[int] = None,
534
+ ) -> Optional[models.DeleteFileOut]:
535
+ r"""Delete File
536
+
537
+ Delete a file.
538
+
539
+ :param file_id:
540
+ :param retries: Override the default retry configuration for this method
541
+ :param server_url: Override the default server URL for this method
542
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
543
+ """
544
+ base_url = None
545
+ url_variables = None
546
+ if timeout_ms is None:
547
+ timeout_ms = self.sdk_configuration.timeout_ms
548
+
549
+ if server_url is not None:
550
+ base_url = server_url
551
+
552
+ request = models.FilesAPIRoutesDeleteFileRequest(
553
+ file_id=file_id,
554
+ )
555
+
556
+ req = self.build_request(
557
+ method="DELETE",
558
+ path="/v1/files/{file_id}",
559
+ base_url=base_url,
560
+ url_variables=url_variables,
561
+ request=request,
562
+ request_body_required=False,
563
+ request_has_path_params=True,
564
+ request_has_query_params=True,
565
+ user_agent_header="user-agent",
566
+ accept_header_value="application/json",
567
+ security=self.sdk_configuration.security,
568
+ timeout_ms=timeout_ms,
569
+ )
570
+
571
+ if retries == UNSET:
572
+ if self.sdk_configuration.retry_config is not UNSET:
573
+ retries = self.sdk_configuration.retry_config
574
+
575
+ retry_config = None
576
+ if isinstance(retries, utils.RetryConfig):
577
+ retry_config = (retries, [
578
+ "429",
579
+ "500",
580
+ "502",
581
+ "503",
582
+ "504"
583
+ ])
584
+
585
+ http_res = await self.do_request_async(
586
+ hook_ctx=HookContext(operation_id="files_api_routes_delete_file", oauth2_scopes=[], security_source=self.sdk_configuration.security),
587
+ request=req,
588
+ error_status_codes=["4XX","5XX"],
589
+ retry_config=retry_config
590
+ )
591
+
592
+ if utils.match_response(http_res, "200", "application/json"):
593
+ return utils.unmarshal_json(http_res.text, Optional[models.DeleteFileOut])
594
+ if utils.match_response(http_res, ["4XX","5XX"], "*"):
595
+ raise models.SDKError("API error occurred", http_res.status_code, http_res.text, http_res)
596
+
597
+ content_type = http_res.headers.get("Content-Type")
598
+ raise models.SDKError(f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", http_res.status_code, http_res.text, http_res)
599
+
600
+