mistralai 1.8.2__py3-none-any.whl → 1.9.1__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 (109) hide show
  1. mistralai/_hooks/types.py +7 -0
  2. mistralai/_version.py +3 -3
  3. mistralai/agents.py +8 -4
  4. mistralai/basesdk.py +12 -20
  5. mistralai/chat.py +8 -4
  6. mistralai/classifiers.py +8 -0
  7. mistralai/conversations.py +34 -14
  8. mistralai/embeddings.py +2 -0
  9. mistralai/extra/run/context.py +2 -4
  10. mistralai/files.py +12 -0
  11. mistralai/fim.py +4 -0
  12. mistralai/httpclient.py +6 -16
  13. mistralai/jobs.py +10 -0
  14. mistralai/mistral_agents.py +10 -0
  15. mistralai/mistral_jobs.py +8 -0
  16. mistralai/models/__init__.py +1356 -723
  17. mistralai/models/agent.py +1 -1
  18. mistralai/models/agentconversation.py +1 -1
  19. mistralai/models/agentcreationrequest.py +1 -1
  20. mistralai/models/agenthandoffentry.py +1 -1
  21. mistralai/models/agents_api_v1_conversations_getop.py +2 -0
  22. mistralai/models/agents_api_v1_conversations_historyop.py +2 -0
  23. mistralai/models/agents_api_v1_conversations_messagesop.py +2 -0
  24. mistralai/models/agents_api_v1_conversations_restart_streamop.py +2 -0
  25. mistralai/models/agents_api_v1_conversations_restartop.py +2 -0
  26. mistralai/models/agentscompletionrequest.py +3 -1
  27. mistralai/models/agentscompletionstreamrequest.py +3 -1
  28. mistralai/models/agentupdaterequest.py +1 -1
  29. mistralai/models/assistantmessage.py +1 -1
  30. mistralai/models/basemodelcard.py +8 -6
  31. mistralai/models/batchjobin.py +1 -1
  32. mistralai/models/batchjobout.py +1 -1
  33. mistralai/models/chatcompletionrequest.py +3 -1
  34. mistralai/models/chatcompletionstreamrequest.py +3 -1
  35. mistralai/models/classifierdetailedjobout.py +1 -1
  36. mistralai/models/classifierftmodelout.py +1 -1
  37. mistralai/models/classifierjobout.py +1 -1
  38. mistralai/models/classifiertargetin.py +1 -1
  39. mistralai/models/classifiertrainingparameters.py +1 -1
  40. mistralai/models/classifiertrainingparametersin.py +1 -1
  41. mistralai/models/completionargs.py +1 -1
  42. mistralai/models/completiondetailedjobout.py +1 -1
  43. mistralai/models/completionftmodelout.py +1 -1
  44. mistralai/models/completionjobout.py +1 -1
  45. mistralai/models/completionresponsestreamchoice.py +1 -1
  46. mistralai/models/completiontrainingparameters.py +1 -1
  47. mistralai/models/completiontrainingparametersin.py +1 -1
  48. mistralai/models/contentchunk.py +3 -0
  49. mistralai/models/conversationrequest.py +1 -1
  50. mistralai/models/conversationstreamrequest.py +1 -1
  51. mistralai/models/conversationusageinfo.py +1 -1
  52. mistralai/models/deltamessage.py +1 -1
  53. mistralai/models/documenturlchunk.py +1 -1
  54. mistralai/models/embeddingrequest.py +1 -1
  55. mistralai/models/eventout.py +1 -1
  56. mistralai/models/filechunk.py +23 -0
  57. mistralai/models/files_api_routes_list_filesop.py +1 -1
  58. mistralai/models/fileschema.py +1 -1
  59. mistralai/models/fimcompletionrequest.py +1 -1
  60. mistralai/models/fimcompletionstreamrequest.py +1 -1
  61. mistralai/models/ftmodelcard.py +9 -6
  62. mistralai/models/functioncallentry.py +1 -1
  63. mistralai/models/functionresultentry.py +1 -1
  64. mistralai/models/githubrepositoryin.py +1 -1
  65. mistralai/models/githubrepositoryout.py +1 -1
  66. mistralai/models/imageurl.py +1 -1
  67. mistralai/models/inputentries.py +21 -2
  68. mistralai/models/jobin.py +1 -1
  69. mistralai/models/jobmetadataout.py +1 -1
  70. mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py +1 -1
  71. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobsop.py +1 -1
  72. mistralai/models/jsonschema.py +1 -1
  73. mistralai/models/legacyjobmetadataout.py +1 -1
  74. mistralai/models/messageinputentry.py +4 -4
  75. mistralai/models/messageoutputentry.py +1 -1
  76. mistralai/models/messageoutputevent.py +1 -1
  77. mistralai/models/metricout.py +1 -1
  78. mistralai/models/modelcapabilities.py +3 -0
  79. mistralai/models/modelconversation.py +1 -1
  80. mistralai/models/ocrimageobject.py +1 -1
  81. mistralai/models/ocrpageobject.py +1 -1
  82. mistralai/models/ocrrequest.py +5 -3
  83. mistralai/models/ocrresponse.py +1 -1
  84. mistralai/models/ocrusageinfo.py +1 -1
  85. mistralai/models/responseformat.py +1 -1
  86. mistralai/models/retrievefileout.py +1 -1
  87. mistralai/models/toolexecutionentry.py +1 -1
  88. mistralai/models/toolfilechunk.py +1 -1
  89. mistralai/models/toolmessage.py +1 -1
  90. mistralai/models/toolreferencechunk.py +1 -1
  91. mistralai/models/updateftmodelin.py +1 -1
  92. mistralai/models/uploadfileout.py +1 -1
  93. mistralai/models/usermessage.py +1 -1
  94. mistralai/models/wandbintegration.py +1 -1
  95. mistralai/models/wandbintegrationout.py +1 -1
  96. mistralai/models_.py +14 -2
  97. mistralai/ocr.py +2 -0
  98. mistralai/sdk.py +68 -40
  99. mistralai/sdkconfiguration.py +0 -7
  100. mistralai/types/basemodel.py +3 -3
  101. mistralai/utils/__init__.py +131 -45
  102. mistralai/utils/datetimes.py +23 -0
  103. mistralai/utils/enums.py +67 -27
  104. mistralai/utils/forms.py +49 -28
  105. mistralai/utils/serializers.py +32 -3
  106. {mistralai-1.8.2.dist-info → mistralai-1.9.1.dist-info}/METADATA +13 -6
  107. {mistralai-1.8.2.dist-info → mistralai-1.9.1.dist-info}/RECORD +109 -107
  108. {mistralai-1.8.2.dist-info → mistralai-1.9.1.dist-info}/LICENSE +0 -0
  109. {mistralai-1.8.2.dist-info → mistralai-1.9.1.dist-info}/WHEEL +0 -0
mistralai/files.py CHANGED
@@ -85,6 +85,7 @@ class Files(BaseSDK):
85
85
 
86
86
  http_res = self.do_request(
87
87
  hook_ctx=HookContext(
88
+ config=self.sdk_configuration,
88
89
  base_url=base_url or "",
89
90
  operation_id="files_api_routes_upload_file",
90
91
  oauth2_scopes=[],
@@ -192,6 +193,7 @@ class Files(BaseSDK):
192
193
 
193
194
  http_res = await self.do_request_async(
194
195
  hook_ctx=HookContext(
196
+ config=self.sdk_configuration,
195
197
  base_url=base_url or "",
196
198
  operation_id="files_api_routes_upload_file",
197
199
  oauth2_scopes=[],
@@ -300,6 +302,7 @@ class Files(BaseSDK):
300
302
 
301
303
  http_res = self.do_request(
302
304
  hook_ctx=HookContext(
305
+ config=self.sdk_configuration,
303
306
  base_url=base_url or "",
304
307
  operation_id="files_api_routes_list_files",
305
308
  oauth2_scopes=[],
@@ -408,6 +411,7 @@ class Files(BaseSDK):
408
411
 
409
412
  http_res = await self.do_request_async(
410
413
  hook_ctx=HookContext(
414
+ config=self.sdk_configuration,
411
415
  base_url=base_url or "",
412
416
  operation_id="files_api_routes_list_files",
413
417
  oauth2_scopes=[],
@@ -501,6 +505,7 @@ class Files(BaseSDK):
501
505
 
502
506
  http_res = self.do_request(
503
507
  hook_ctx=HookContext(
508
+ config=self.sdk_configuration,
504
509
  base_url=base_url or "",
505
510
  operation_id="files_api_routes_retrieve_file",
506
511
  oauth2_scopes=[],
@@ -594,6 +599,7 @@ class Files(BaseSDK):
594
599
 
595
600
  http_res = await self.do_request_async(
596
601
  hook_ctx=HookContext(
602
+ config=self.sdk_configuration,
597
603
  base_url=base_url or "",
598
604
  operation_id="files_api_routes_retrieve_file",
599
605
  oauth2_scopes=[],
@@ -687,6 +693,7 @@ class Files(BaseSDK):
687
693
 
688
694
  http_res = self.do_request(
689
695
  hook_ctx=HookContext(
696
+ config=self.sdk_configuration,
690
697
  base_url=base_url or "",
691
698
  operation_id="files_api_routes_delete_file",
692
699
  oauth2_scopes=[],
@@ -780,6 +787,7 @@ class Files(BaseSDK):
780
787
 
781
788
  http_res = await self.do_request_async(
782
789
  hook_ctx=HookContext(
790
+ config=self.sdk_configuration,
783
791
  base_url=base_url or "",
784
792
  operation_id="files_api_routes_delete_file",
785
793
  oauth2_scopes=[],
@@ -873,6 +881,7 @@ class Files(BaseSDK):
873
881
 
874
882
  http_res = self.do_request(
875
883
  hook_ctx=HookContext(
884
+ config=self.sdk_configuration,
876
885
  base_url=base_url or "",
877
886
  operation_id="files_api_routes_download_file",
878
887
  oauth2_scopes=[],
@@ -967,6 +976,7 @@ class Files(BaseSDK):
967
976
 
968
977
  http_res = await self.do_request_async(
969
978
  hook_ctx=HookContext(
979
+ config=self.sdk_configuration,
970
980
  base_url=base_url or "",
971
981
  operation_id="files_api_routes_download_file",
972
982
  oauth2_scopes=[],
@@ -1062,6 +1072,7 @@ class Files(BaseSDK):
1062
1072
 
1063
1073
  http_res = self.do_request(
1064
1074
  hook_ctx=HookContext(
1075
+ config=self.sdk_configuration,
1065
1076
  base_url=base_url or "",
1066
1077
  operation_id="files_api_routes_get_signed_url",
1067
1078
  oauth2_scopes=[],
@@ -1156,6 +1167,7 @@ class Files(BaseSDK):
1156
1167
 
1157
1168
  http_res = await self.do_request_async(
1158
1169
  hook_ctx=HookContext(
1170
+ config=self.sdk_configuration,
1159
1171
  base_url=base_url or "",
1160
1172
  operation_id="files_api_routes_get_signed_url",
1161
1173
  oauth2_scopes=[],
mistralai/fim.py CHANGED
@@ -105,6 +105,7 @@ class Fim(BaseSDK):
105
105
 
106
106
  http_res = self.do_request(
107
107
  hook_ctx=HookContext(
108
+ config=self.sdk_configuration,
108
109
  base_url=base_url or "",
109
110
  operation_id="fim_completion_v1_fim_completions_post",
110
111
  oauth2_scopes=[],
@@ -239,6 +240,7 @@ class Fim(BaseSDK):
239
240
 
240
241
  http_res = await self.do_request_async(
241
242
  hook_ctx=HookContext(
243
+ config=self.sdk_configuration,
242
244
  base_url=base_url or "",
243
245
  operation_id="fim_completion_v1_fim_completions_post",
244
246
  oauth2_scopes=[],
@@ -373,6 +375,7 @@ class Fim(BaseSDK):
373
375
 
374
376
  http_res = self.do_request(
375
377
  hook_ctx=HookContext(
378
+ config=self.sdk_configuration,
376
379
  base_url=base_url or "",
377
380
  operation_id="stream_fim",
378
381
  oauth2_scopes=[],
@@ -513,6 +516,7 @@ class Fim(BaseSDK):
513
516
 
514
517
  http_res = await self.do_request_async(
515
518
  hook_ctx=HookContext(
519
+ config=self.sdk_configuration,
516
520
  base_url=base_url or "",
517
521
  operation_id="stream_fim",
518
522
  oauth2_scopes=[],
mistralai/httpclient.py CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  # pyright: reportReturnType = false
4
4
  import asyncio
5
- from concurrent.futures import ThreadPoolExecutor
6
5
  from typing_extensions import Protocol, runtime_checkable
7
6
  import httpx
8
7
  from typing import Any, Optional, Union
@@ -116,21 +115,12 @@ def close_clients(
116
115
  pass
117
116
 
118
117
  if async_client is not None and not async_client_supplied:
119
- is_async = False
120
118
  try:
121
- asyncio.get_running_loop()
122
- is_async = True
119
+ loop = asyncio.get_running_loop()
120
+ asyncio.run_coroutine_threadsafe(async_client.aclose(), loop)
123
121
  except RuntimeError:
124
- pass
125
-
126
- try:
127
- # If this function is called in an async loop then start another
128
- # loop in a separate thread to close the async http client.
129
- if is_async:
130
- with ThreadPoolExecutor(max_workers=1) as executor:
131
- future = executor.submit(asyncio.run, async_client.aclose())
132
- future.result()
133
- else:
122
+ try:
134
123
  asyncio.run(async_client.aclose())
135
- except Exception:
136
- pass
124
+ except RuntimeError:
125
+ # best effort
126
+ pass
mistralai/jobs.py CHANGED
@@ -96,6 +96,7 @@ class Jobs(BaseSDK):
96
96
 
97
97
  http_res = self.do_request(
98
98
  hook_ctx=HookContext(
99
+ config=self.sdk_configuration,
99
100
  base_url=base_url or "",
100
101
  operation_id="jobs_api_routes_fine_tuning_get_fine_tuning_jobs",
101
102
  oauth2_scopes=[],
@@ -216,6 +217,7 @@ class Jobs(BaseSDK):
216
217
 
217
218
  http_res = await self.do_request_async(
218
219
  hook_ctx=HookContext(
220
+ config=self.sdk_configuration,
219
221
  base_url=base_url or "",
220
222
  operation_id="jobs_api_routes_fine_tuning_get_fine_tuning_jobs",
221
223
  oauth2_scopes=[],
@@ -367,6 +369,7 @@ class Jobs(BaseSDK):
367
369
 
368
370
  http_res = self.do_request(
369
371
  hook_ctx=HookContext(
372
+ config=self.sdk_configuration,
370
373
  base_url=base_url or "",
371
374
  operation_id="jobs_api_routes_fine_tuning_create_fine_tuning_job",
372
375
  oauth2_scopes=[],
@@ -520,6 +523,7 @@ class Jobs(BaseSDK):
520
523
 
521
524
  http_res = await self.do_request_async(
522
525
  hook_ctx=HookContext(
526
+ config=self.sdk_configuration,
523
527
  base_url=base_url or "",
524
528
  operation_id="jobs_api_routes_fine_tuning_create_fine_tuning_job",
525
529
  oauth2_scopes=[],
@@ -615,6 +619,7 @@ class Jobs(BaseSDK):
615
619
 
616
620
  http_res = self.do_request(
617
621
  hook_ctx=HookContext(
622
+ config=self.sdk_configuration,
618
623
  base_url=base_url or "",
619
624
  operation_id="jobs_api_routes_fine_tuning_get_fine_tuning_job",
620
625
  oauth2_scopes=[],
@@ -710,6 +715,7 @@ class Jobs(BaseSDK):
710
715
 
711
716
  http_res = await self.do_request_async(
712
717
  hook_ctx=HookContext(
718
+ config=self.sdk_configuration,
713
719
  base_url=base_url or "",
714
720
  operation_id="jobs_api_routes_fine_tuning_get_fine_tuning_job",
715
721
  oauth2_scopes=[],
@@ -805,6 +811,7 @@ class Jobs(BaseSDK):
805
811
 
806
812
  http_res = self.do_request(
807
813
  hook_ctx=HookContext(
814
+ config=self.sdk_configuration,
808
815
  base_url=base_url or "",
809
816
  operation_id="jobs_api_routes_fine_tuning_cancel_fine_tuning_job",
810
817
  oauth2_scopes=[],
@@ -900,6 +907,7 @@ class Jobs(BaseSDK):
900
907
 
901
908
  http_res = await self.do_request_async(
902
909
  hook_ctx=HookContext(
910
+ config=self.sdk_configuration,
903
911
  base_url=base_url or "",
904
912
  operation_id="jobs_api_routes_fine_tuning_cancel_fine_tuning_job",
905
913
  oauth2_scopes=[],
@@ -995,6 +1003,7 @@ class Jobs(BaseSDK):
995
1003
 
996
1004
  http_res = self.do_request(
997
1005
  hook_ctx=HookContext(
1006
+ config=self.sdk_configuration,
998
1007
  base_url=base_url or "",
999
1008
  operation_id="jobs_api_routes_fine_tuning_start_fine_tuning_job",
1000
1009
  oauth2_scopes=[],
@@ -1090,6 +1099,7 @@ class Jobs(BaseSDK):
1090
1099
 
1091
1100
  http_res = await self.do_request_async(
1092
1101
  hook_ctx=HookContext(
1102
+ config=self.sdk_configuration,
1093
1103
  base_url=base_url or "",
1094
1104
  operation_id="jobs_api_routes_fine_tuning_start_fine_tuning_job",
1095
1105
  oauth2_scopes=[],
@@ -102,6 +102,7 @@ class MistralAgents(BaseSDK):
102
102
 
103
103
  http_res = self.do_request(
104
104
  hook_ctx=HookContext(
105
+ config=self.sdk_configuration,
105
106
  base_url=base_url or "",
106
107
  operation_id="agents_api_v1_agents_create",
107
108
  oauth2_scopes=[],
@@ -233,6 +234,7 @@ class MistralAgents(BaseSDK):
233
234
 
234
235
  http_res = await self.do_request_async(
235
236
  hook_ctx=HookContext(
237
+ config=self.sdk_configuration,
236
238
  base_url=base_url or "",
237
239
  operation_id="agents_api_v1_agents_create",
238
240
  oauth2_scopes=[],
@@ -335,6 +337,7 @@ class MistralAgents(BaseSDK):
335
337
 
336
338
  http_res = self.do_request(
337
339
  hook_ctx=HookContext(
340
+ config=self.sdk_configuration,
338
341
  base_url=base_url or "",
339
342
  operation_id="agents_api_v1_agents_list",
340
343
  oauth2_scopes=[],
@@ -437,6 +440,7 @@ class MistralAgents(BaseSDK):
437
440
 
438
441
  http_res = await self.do_request_async(
439
442
  hook_ctx=HookContext(
443
+ config=self.sdk_configuration,
440
444
  base_url=base_url or "",
441
445
  operation_id="agents_api_v1_agents_list",
442
446
  oauth2_scopes=[],
@@ -536,6 +540,7 @@ class MistralAgents(BaseSDK):
536
540
 
537
541
  http_res = self.do_request(
538
542
  hook_ctx=HookContext(
543
+ config=self.sdk_configuration,
539
544
  base_url=base_url or "",
540
545
  operation_id="agents_api_v1_agents_get",
541
546
  oauth2_scopes=[],
@@ -635,6 +640,7 @@ class MistralAgents(BaseSDK):
635
640
 
636
641
  http_res = await self.do_request_async(
637
642
  hook_ctx=HookContext(
643
+ config=self.sdk_configuration,
638
644
  base_url=base_url or "",
639
645
  operation_id="agents_api_v1_agents_get",
640
646
  oauth2_scopes=[],
@@ -775,6 +781,7 @@ class MistralAgents(BaseSDK):
775
781
 
776
782
  http_res = self.do_request(
777
783
  hook_ctx=HookContext(
784
+ config=self.sdk_configuration,
778
785
  base_url=base_url or "",
779
786
  operation_id="agents_api_v1_agents_update",
780
787
  oauth2_scopes=[],
@@ -915,6 +922,7 @@ class MistralAgents(BaseSDK):
915
922
 
916
923
  http_res = await self.do_request_async(
917
924
  hook_ctx=HookContext(
925
+ config=self.sdk_configuration,
918
926
  base_url=base_url or "",
919
927
  operation_id="agents_api_v1_agents_update",
920
928
  oauth2_scopes=[],
@@ -1017,6 +1025,7 @@ class MistralAgents(BaseSDK):
1017
1025
 
1018
1026
  http_res = self.do_request(
1019
1027
  hook_ctx=HookContext(
1028
+ config=self.sdk_configuration,
1020
1029
  base_url=base_url or "",
1021
1030
  operation_id="agents_api_v1_agents_update_version",
1022
1031
  oauth2_scopes=[],
@@ -1119,6 +1128,7 @@ class MistralAgents(BaseSDK):
1119
1128
 
1120
1129
  http_res = await self.do_request_async(
1121
1130
  hook_ctx=HookContext(
1131
+ config=self.sdk_configuration,
1122
1132
  base_url=base_url or "",
1123
1133
  operation_id="agents_api_v1_agents_update_version",
1124
1134
  oauth2_scopes=[],
mistralai/mistral_jobs.py CHANGED
@@ -87,6 +87,7 @@ class MistralJobs(BaseSDK):
87
87
 
88
88
  http_res = self.do_request(
89
89
  hook_ctx=HookContext(
90
+ config=self.sdk_configuration,
90
91
  base_url=base_url or "",
91
92
  operation_id="jobs_api_routes_batch_get_batch_jobs",
92
93
  oauth2_scopes=[],
@@ -198,6 +199,7 @@ class MistralJobs(BaseSDK):
198
199
 
199
200
  http_res = await self.do_request_async(
200
201
  hook_ctx=HookContext(
202
+ config=self.sdk_configuration,
201
203
  base_url=base_url or "",
202
204
  operation_id="jobs_api_routes_batch_get_batch_jobs",
203
205
  oauth2_scopes=[],
@@ -306,6 +308,7 @@ class MistralJobs(BaseSDK):
306
308
 
307
309
  http_res = self.do_request(
308
310
  hook_ctx=HookContext(
311
+ config=self.sdk_configuration,
309
312
  base_url=base_url or "",
310
313
  operation_id="jobs_api_routes_batch_create_batch_job",
311
314
  oauth2_scopes=[],
@@ -414,6 +417,7 @@ class MistralJobs(BaseSDK):
414
417
 
415
418
  http_res = await self.do_request_async(
416
419
  hook_ctx=HookContext(
420
+ config=self.sdk_configuration,
417
421
  base_url=base_url or "",
418
422
  operation_id="jobs_api_routes_batch_create_batch_job",
419
423
  oauth2_scopes=[],
@@ -507,6 +511,7 @@ class MistralJobs(BaseSDK):
507
511
 
508
512
  http_res = self.do_request(
509
513
  hook_ctx=HookContext(
514
+ config=self.sdk_configuration,
510
515
  base_url=base_url or "",
511
516
  operation_id="jobs_api_routes_batch_get_batch_job",
512
517
  oauth2_scopes=[],
@@ -600,6 +605,7 @@ class MistralJobs(BaseSDK):
600
605
 
601
606
  http_res = await self.do_request_async(
602
607
  hook_ctx=HookContext(
608
+ config=self.sdk_configuration,
603
609
  base_url=base_url or "",
604
610
  operation_id="jobs_api_routes_batch_get_batch_job",
605
611
  oauth2_scopes=[],
@@ -693,6 +699,7 @@ class MistralJobs(BaseSDK):
693
699
 
694
700
  http_res = self.do_request(
695
701
  hook_ctx=HookContext(
702
+ config=self.sdk_configuration,
696
703
  base_url=base_url or "",
697
704
  operation_id="jobs_api_routes_batch_cancel_batch_job",
698
705
  oauth2_scopes=[],
@@ -786,6 +793,7 @@ class MistralJobs(BaseSDK):
786
793
 
787
794
  http_res = await self.do_request_async(
788
795
  hook_ctx=HookContext(
796
+ config=self.sdk_configuration,
789
797
  base_url=base_url or "",
790
798
  operation_id="jobs_api_routes_batch_cancel_batch_job",
791
799
  oauth2_scopes=[],