sarvamai 0.1.12a1__py3-none-any.whl → 0.1.13__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.
sarvamai/__init__.py CHANGED
@@ -44,7 +44,7 @@ from .types import (
44
44
  FinishReason,
45
45
  FlushSignal,
46
46
  JobState,
47
- JobStatusV1,
47
+ JobStatusV1Response,
48
48
  LanguageIdentificationResponse,
49
49
  NumeralsFormat,
50
50
  PingSignal,
@@ -149,7 +149,7 @@ from .requests import (
149
149
  FilesRequestParams,
150
150
  FilesUploadResponseParams,
151
151
  FlushSignalParams,
152
- JobStatusV1Params,
152
+ JobStatusV1ResponseParams,
153
153
  LanguageIdentificationResponseParams,
154
154
  PingSignalParams,
155
155
  SendTextDataParams,
@@ -266,8 +266,8 @@ __all__ = [
266
266
  "ForbiddenError",
267
267
  "InternalServerError",
268
268
  "JobState",
269
- "JobStatusV1",
270
- "JobStatusV1Params",
269
+ "JobStatusV1Response",
270
+ "JobStatusV1ResponseParams",
271
271
  "LanguageIdentificationResponse",
272
272
  "LanguageIdentificationResponseParams",
273
273
  "NumeralsFormat",
@@ -23,10 +23,10 @@ class BaseClientWrapper:
23
23
 
24
24
  def get_headers(self) -> typing.Dict[str, str]:
25
25
  headers: typing.Dict[str, str] = {
26
- "User-Agent": "sarvamai/0.1.12a1",
26
+ "User-Agent": "sarvamai/0.1.13",
27
27
  "X-Fern-Language": "Python",
28
28
  "X-Fern-SDK-Name": "sarvamai",
29
- "X-Fern-SDK-Version": "0.1.12a1",
29
+ "X-Fern-SDK-Version": "0.1.13",
30
30
  **(self.get_custom_headers() or {}),
31
31
  }
32
32
  headers["api-subscription-key"] = self.api_subscription_key
@@ -38,7 +38,7 @@ from .files_download_response import FilesDownloadResponseParams
38
38
  from .files_request import FilesRequestParams
39
39
  from .files_upload_response import FilesUploadResponseParams
40
40
  from .flush_signal import FlushSignalParams
41
- from .job_status_v_1 import JobStatusV1Params
41
+ from .job_status_v_1_response import JobStatusV1ResponseParams
42
42
  from .language_identification_response import LanguageIdentificationResponseParams
43
43
  from .ping_signal import PingSignalParams
44
44
  from .send_text import SendTextParams
@@ -97,7 +97,7 @@ __all__ = [
97
97
  "FilesRequestParams",
98
98
  "FilesUploadResponseParams",
99
99
  "FlushSignalParams",
100
- "JobStatusV1Params",
100
+ "JobStatusV1ResponseParams",
101
101
  "LanguageIdentificationResponseParams",
102
102
  "PingSignalParams",
103
103
  "SendTextDataParams",
@@ -4,7 +4,6 @@ import typing_extensions
4
4
  from ..types.job_state import JobState
5
5
  from ..types.storage_container_type import StorageContainerType
6
6
  from .base_job_parameters import BaseJobParametersParams
7
- from .bulk_job_callback import BulkJobCallbackParams
8
7
 
9
8
 
10
9
  class BulkJobInitResponseV1Params(typing_extensions.TypedDict):
@@ -20,8 +19,3 @@ class BulkJobInitResponseV1Params(typing_extensions.TypedDict):
20
19
 
21
20
  job_parameters: BaseJobParametersParams
22
21
  job_state: JobState
23
- owner_id: str
24
- callback: typing_extensions.NotRequired[BulkJobCallbackParams]
25
- """
26
- Parameters for callback URL
27
- """
@@ -8,7 +8,7 @@ from ..types.storage_container_type import StorageContainerType
8
8
  from .task_detail_v_1 import TaskDetailV1Params
9
9
 
10
10
 
11
- class JobStatusV1Params(typing_extensions.TypedDict):
11
+ class JobStatusV1ResponseParams(typing_extensions.TypedDict):
12
12
  job_state: JobState
13
13
  """
14
14
  Job State
@@ -44,11 +44,6 @@ class JobStatusV1Params(typing_extensions.TypedDict):
44
44
  Failed Count
45
45
  """
46
46
 
47
- owner_id: str
48
- """
49
- Owner of the job
50
- """
51
-
52
47
  storage_container_type: StorageContainerType
53
48
  """
54
49
  Storage Container Type
@@ -63,8 +58,3 @@ class JobStatusV1Params(typing_extensions.TypedDict):
63
58
  """
64
59
  Job details at file level.
65
60
  """
66
-
67
- num_internal_retries: typing_extensions.NotRequired[int]
68
- """
69
- Number of internal retries
70
- """
@@ -9,7 +9,7 @@ from ..requests.speech_to_text_job_parameters import SpeechToTextJobParametersPa
9
9
  from ..types.bulk_job_init_response_v_1 import BulkJobInitResponseV1
10
10
  from ..types.files_download_response import FilesDownloadResponse
11
11
  from ..types.files_upload_response import FilesUploadResponse
12
- from ..types.job_status_v_1 import JobStatusV1
12
+ from ..types.job_status_v_1_response import JobStatusV1Response
13
13
  from ..types.speech_to_text_model import SpeechToTextModel
14
14
  from ..types.speech_to_text_language import SpeechToTextLanguage
15
15
  from .raw_client import AsyncRawSpeechToTextJobClient, RawSpeechToTextJobClient
@@ -72,15 +72,13 @@ class SpeechToTextJobClient:
72
72
  )
73
73
  """
74
74
  _response = self._raw_client.initialise(
75
- job_parameters=job_parameters,
76
- callback=callback,
77
- request_options=request_options,
75
+ job_parameters=job_parameters, callback=callback, request_options=request_options
78
76
  )
79
77
  return _response.data
80
78
 
81
79
  def get_status(
82
80
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
83
- ) -> JobStatusV1:
81
+ ) -> JobStatusV1Response:
84
82
  """
85
83
  Get the status of a speech to text bulk job V1
86
84
 
@@ -94,7 +92,7 @@ class SpeechToTextJobClient:
94
92
 
95
93
  Returns
96
94
  -------
97
- JobStatusV1
95
+ JobStatusV1Response
98
96
  Successful Response
99
97
 
100
98
  Examples
@@ -117,7 +115,7 @@ class SpeechToTextJobClient:
117
115
  *,
118
116
  ptu_id: typing.Optional[int] = None,
119
117
  request_options: typing.Optional[RequestOptions] = None,
120
- ) -> JobStatusV1:
118
+ ) -> JobStatusV1Response:
121
119
  """
122
120
  Start a speech to text bulk job V1
123
121
 
@@ -133,7 +131,7 @@ class SpeechToTextJobClient:
133
131
 
134
132
  Returns
135
133
  -------
136
- JobStatusV1
134
+ JobStatusV1Response
137
135
  Successful Response
138
136
 
139
137
  Examples
@@ -147,17 +145,11 @@ class SpeechToTextJobClient:
147
145
  job_id="job_id",
148
146
  )
149
147
  """
150
- _response = self._raw_client.start(
151
- job_id, ptu_id=ptu_id, request_options=request_options
152
- )
148
+ _response = self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
153
149
  return _response.data
154
150
 
155
151
  def get_upload_links(
156
- self,
157
- *,
158
- job_id: str,
159
- files: typing.Sequence[str],
160
- request_options: typing.Optional[RequestOptions] = None,
152
+ self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
161
153
  ) -> FilesUploadResponse:
162
154
  """
163
155
  Start a speech to text bulk job V1
@@ -188,17 +180,11 @@ class SpeechToTextJobClient:
188
180
  files=["files"],
189
181
  )
190
182
  """
191
- _response = self._raw_client.get_upload_links(
192
- job_id=job_id, files=files, request_options=request_options
193
- )
183
+ _response = self._raw_client.get_upload_links(job_id=job_id, files=files, request_options=request_options)
194
184
  return _response.data
195
185
 
196
186
  def get_download_links(
197
- self,
198
- *,
199
- job_id: str,
200
- files: typing.Sequence[str],
201
- request_options: typing.Optional[RequestOptions] = None,
187
+ self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
202
188
  ) -> FilesDownloadResponse:
203
189
  """
204
190
  Start a speech to text bulk job V1
@@ -229,9 +215,7 @@ class SpeechToTextJobClient:
229
215
  files=["files"],
230
216
  )
231
217
  """
232
- _response = self._raw_client.get_download_links(
233
- job_id=job_id, files=files, request_options=request_options
234
- )
218
+ _response = self._raw_client.get_download_links(job_id=job_id, files=files, request_options=request_options)
235
219
  return _response.data
236
220
 
237
221
  def create_job(
@@ -366,15 +350,13 @@ class AsyncSpeechToTextJobClient:
366
350
  asyncio.run(main())
367
351
  """
368
352
  _response = await self._raw_client.initialise(
369
- job_parameters=job_parameters,
370
- callback=callback,
371
- request_options=request_options,
353
+ job_parameters=job_parameters, callback=callback, request_options=request_options
372
354
  )
373
355
  return _response.data
374
356
 
375
357
  async def get_status(
376
358
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
377
- ) -> JobStatusV1:
359
+ ) -> JobStatusV1Response:
378
360
  """
379
361
  Get the status of a speech to text bulk job V1
380
362
 
@@ -388,7 +370,7 @@ class AsyncSpeechToTextJobClient:
388
370
 
389
371
  Returns
390
372
  -------
391
- JobStatusV1
373
+ JobStatusV1Response
392
374
  Successful Response
393
375
 
394
376
  Examples
@@ -410,9 +392,7 @@ class AsyncSpeechToTextJobClient:
410
392
 
411
393
  asyncio.run(main())
412
394
  """
413
- _response = await self._raw_client.get_status(
414
- job_id, request_options=request_options
415
- )
395
+ _response = await self._raw_client.get_status(job_id, request_options=request_options)
416
396
  return _response.data
417
397
 
418
398
  async def start(
@@ -421,7 +401,7 @@ class AsyncSpeechToTextJobClient:
421
401
  *,
422
402
  ptu_id: typing.Optional[int] = None,
423
403
  request_options: typing.Optional[RequestOptions] = None,
424
- ) -> JobStatusV1:
404
+ ) -> JobStatusV1Response:
425
405
  """
426
406
  Start a speech to text bulk job V1
427
407
 
@@ -437,7 +417,7 @@ class AsyncSpeechToTextJobClient:
437
417
 
438
418
  Returns
439
419
  -------
440
- JobStatusV1
420
+ JobStatusV1Response
441
421
  Successful Response
442
422
 
443
423
  Examples
@@ -459,17 +439,11 @@ class AsyncSpeechToTextJobClient:
459
439
 
460
440
  asyncio.run(main())
461
441
  """
462
- _response = await self._raw_client.start(
463
- job_id, ptu_id=ptu_id, request_options=request_options
464
- )
442
+ _response = await self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
465
443
  return _response.data
466
444
 
467
445
  async def get_upload_links(
468
- self,
469
- *,
470
- job_id: str,
471
- files: typing.Sequence[str],
472
- request_options: typing.Optional[RequestOptions] = None,
446
+ self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
473
447
  ) -> FilesUploadResponse:
474
448
  """
475
449
  Start a speech to text bulk job V1
@@ -508,17 +482,11 @@ class AsyncSpeechToTextJobClient:
508
482
 
509
483
  asyncio.run(main())
510
484
  """
511
- _response = await self._raw_client.get_upload_links(
512
- job_id=job_id, files=files, request_options=request_options
513
- )
485
+ _response = await self._raw_client.get_upload_links(job_id=job_id, files=files, request_options=request_options)
514
486
  return _response.data
515
487
 
516
488
  async def get_download_links(
517
- self,
518
- *,
519
- job_id: str,
520
- files: typing.Sequence[str],
521
- request_options: typing.Optional[RequestOptions] = None,
489
+ self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
522
490
  ) -> FilesDownloadResponse:
523
491
  """
524
492
  Start a speech to text bulk job V1
@@ -5,7 +5,7 @@ import time
5
5
  import typing
6
6
  import httpx
7
7
 
8
- from ..types import JobStatusV1
8
+ from ..types import JobStatusV1Response
9
9
 
10
10
  if typing.TYPE_CHECKING:
11
11
  from .client import AsyncSpeechToTextJobClient, SpeechToTextJobClient
@@ -44,7 +44,9 @@ class AsyncSpeechToTextJob:
44
44
  """
45
45
  return self._job_id
46
46
 
47
- async def upload_files(self, file_paths: typing.Sequence[str]) -> bool:
47
+ async def upload_files(
48
+ self, file_paths: typing.Sequence[str], timeout: float = 60.0
49
+ ) -> bool:
48
50
  """
49
51
  Upload input audio files for the speech-to-text job.
50
52
 
@@ -53,6 +55,9 @@ class AsyncSpeechToTextJob:
53
55
  file_paths : Sequence[str]
54
56
  List of full paths to local audio files.
55
57
 
58
+ timeout : float, optional
59
+ The maximum time to wait for the upload to complete (in seconds),
60
+ by default 60.0
56
61
  Returns
57
62
  -------
58
63
  bool
@@ -62,7 +67,8 @@ class AsyncSpeechToTextJob:
62
67
  job_id=self._job_id,
63
68
  files=[os.path.basename(p) for p in file_paths],
64
69
  )
65
- async with httpx.AsyncClient() as session:
70
+ client_timeout = httpx.Timeout(timeout=timeout)
71
+ async with httpx.AsyncClient(timeout=client_timeout) as session:
66
72
  for path in file_paths:
67
73
  file_name = os.path.basename(path)
68
74
  url = upload_links.upload_urls[file_name].file_url
@@ -86,7 +92,7 @@ class AsyncSpeechToTextJob:
86
92
 
87
93
  async def wait_until_complete(
88
94
  self, poll_interval: int = 5, timeout: int = 600
89
- ) -> JobStatusV1:
95
+ ) -> JobStatusV1Response:
90
96
  """
91
97
  Polls job status until it completes or fails.
92
98
 
@@ -100,7 +106,7 @@ class AsyncSpeechToTextJob:
100
106
 
101
107
  Returns
102
108
  -------
103
- JobStatusV1
109
+ JobStatusV1Response
104
110
  Final job status.
105
111
 
106
112
  Raises
@@ -178,23 +184,23 @@ class AsyncSpeechToTextJob:
178
184
  f.write(response.content)
179
185
  return True
180
186
 
181
- async def get_status(self) -> JobStatusV1:
187
+ async def get_status(self) -> JobStatusV1Response:
182
188
  """
183
189
  Retrieve the current status of the job.
184
190
 
185
191
  Returns
186
192
  -------
187
- JobStatusV1
193
+ JobStatusV1Response
188
194
  """
189
195
  return await self._client.get_status(self._job_id)
190
196
 
191
- async def start(self) -> JobStatusV1:
197
+ async def start(self) -> JobStatusV1Response:
192
198
  """
193
199
  Start the speech-to-text job processing.
194
200
 
195
201
  Returns
196
202
  -------
197
- JobStatusV1
203
+ JobStatusV1Response
198
204
  """
199
205
  return await self._client.start(job_id=self._job_id)
200
206
 
@@ -277,7 +283,9 @@ class SpeechToTextJob:
277
283
  """
278
284
  return self._job_id
279
285
 
280
- def upload_files(self, file_paths: typing.Sequence[str]) -> bool:
286
+ async def upload_files(
287
+ self, file_paths: typing.Sequence[str], timeout: float = 60.0
288
+ ) -> bool:
281
289
  """
282
290
  Upload input audio files for the speech-to-text job.
283
291
 
@@ -286,6 +294,9 @@ class SpeechToTextJob:
286
294
  file_paths : Sequence[str]
287
295
  List of full paths to local audio files.
288
296
 
297
+ timeout : float, optional
298
+ The maximum time to wait for the upload to complete (in seconds),
299
+ by default 60.0
289
300
  Returns
290
301
  -------
291
302
  bool
@@ -294,7 +305,8 @@ class SpeechToTextJob:
294
305
  upload_links = self._client.get_upload_links(
295
306
  job_id=self._job_id, files=[os.path.basename(p) for p in file_paths]
296
307
  )
297
- with httpx.Client() as client:
308
+ client_timeout = httpx.Timeout(timeout=timeout)
309
+ with httpx.Client(timeout=client_timeout) as client:
298
310
  for path in file_paths:
299
311
  file_name = os.path.basename(path)
300
312
  url = upload_links.upload_urls[file_name].file_url
@@ -315,7 +327,7 @@ class SpeechToTextJob:
315
327
 
316
328
  def wait_until_complete(
317
329
  self, poll_interval: int = 5, timeout: int = 600
318
- ) -> JobStatusV1:
330
+ ) -> JobStatusV1Response:
319
331
  """
320
332
  Polls job status until it completes or fails.
321
333
 
@@ -329,7 +341,7 @@ class SpeechToTextJob:
329
341
 
330
342
  Returns
331
343
  -------
332
- JobStatusV1
344
+ JobStatusV1Response
333
345
  Final job status.
334
346
 
335
347
  Raises
@@ -407,23 +419,23 @@ class SpeechToTextJob:
407
419
  f.write(response.content)
408
420
  return True
409
421
 
410
- def get_status(self) -> JobStatusV1:
422
+ def get_status(self) -> JobStatusV1Response:
411
423
  """
412
424
  Retrieve the current status of the job.
413
425
 
414
426
  Returns
415
427
  -------
416
- JobStatusV1
428
+ JobStatusV1Response
417
429
  """
418
430
  return self._client.get_status(self._job_id)
419
431
 
420
- def start(self) -> JobStatusV1:
432
+ def start(self) -> JobStatusV1Response:
421
433
  """
422
434
  Start the speech-to-text job processing.
423
435
 
424
436
  Returns
425
437
  -------
426
- JobStatusV1
438
+ JobStatusV1Response
427
439
  """
428
440
  return self._client.start(job_id=self._job_id)
429
441
 
@@ -21,7 +21,7 @@ from ..requests.speech_to_text_job_parameters import SpeechToTextJobParametersPa
21
21
  from ..types.bulk_job_init_response_v_1 import BulkJobInitResponseV1
22
22
  from ..types.files_download_response import FilesDownloadResponse
23
23
  from ..types.files_upload_response import FilesUploadResponse
24
- from ..types.job_status_v_1 import JobStatusV1
24
+ from ..types.job_status_v_1_response import JobStatusV1Response
25
25
 
26
26
  # this is used as the default value for optional parameters
27
27
  OMIT = typing.cast(typing.Any, ...)
@@ -158,7 +158,7 @@ class RawSpeechToTextJobClient:
158
158
 
159
159
  def get_status(
160
160
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
161
- ) -> HttpResponse[JobStatusV1]:
161
+ ) -> HttpResponse[JobStatusV1Response]:
162
162
  """
163
163
  Get the status of a speech to text bulk job V1
164
164
 
@@ -172,7 +172,7 @@ class RawSpeechToTextJobClient:
172
172
 
173
173
  Returns
174
174
  -------
175
- HttpResponse[JobStatusV1]
175
+ HttpResponse[JobStatusV1Response]
176
176
  Successful Response
177
177
  """
178
178
  _response = self._client_wrapper.httpx_client.request(
@@ -184,9 +184,9 @@ class RawSpeechToTextJobClient:
184
184
  try:
185
185
  if 200 <= _response.status_code < 300:
186
186
  _data = typing.cast(
187
- JobStatusV1,
187
+ JobStatusV1Response,
188
188
  parse_obj_as(
189
- type_=JobStatusV1, # type: ignore
189
+ type_=JobStatusV1Response, # type: ignore
190
190
  object_=_response.json(),
191
191
  ),
192
192
  )
@@ -268,7 +268,7 @@ class RawSpeechToTextJobClient:
268
268
  *,
269
269
  ptu_id: typing.Optional[int] = None,
270
270
  request_options: typing.Optional[RequestOptions] = None,
271
- ) -> HttpResponse[JobStatusV1]:
271
+ ) -> HttpResponse[JobStatusV1Response]:
272
272
  """
273
273
  Start a speech to text bulk job V1
274
274
 
@@ -284,7 +284,7 @@ class RawSpeechToTextJobClient:
284
284
 
285
285
  Returns
286
286
  -------
287
- HttpResponse[JobStatusV1]
287
+ HttpResponse[JobStatusV1Response]
288
288
  Successful Response
289
289
  """
290
290
  _response = self._client_wrapper.httpx_client.request(
@@ -299,9 +299,9 @@ class RawSpeechToTextJobClient:
299
299
  try:
300
300
  if 200 <= _response.status_code < 300:
301
301
  _data = typing.cast(
302
- JobStatusV1,
302
+ JobStatusV1Response,
303
303
  parse_obj_as(
304
- type_=JobStatusV1, # type: ignore
304
+ type_=JobStatusV1Response, # type: ignore
305
305
  object_=_response.json(),
306
306
  ),
307
307
  )
@@ -739,7 +739,7 @@ class AsyncRawSpeechToTextJobClient:
739
739
 
740
740
  async def get_status(
741
741
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
742
- ) -> AsyncHttpResponse[JobStatusV1]:
742
+ ) -> AsyncHttpResponse[JobStatusV1Response]:
743
743
  """
744
744
  Get the status of a speech to text bulk job V1
745
745
 
@@ -753,7 +753,7 @@ class AsyncRawSpeechToTextJobClient:
753
753
 
754
754
  Returns
755
755
  -------
756
- AsyncHttpResponse[JobStatusV1]
756
+ AsyncHttpResponse[JobStatusV1Response]
757
757
  Successful Response
758
758
  """
759
759
  _response = await self._client_wrapper.httpx_client.request(
@@ -765,9 +765,9 @@ class AsyncRawSpeechToTextJobClient:
765
765
  try:
766
766
  if 200 <= _response.status_code < 300:
767
767
  _data = typing.cast(
768
- JobStatusV1,
768
+ JobStatusV1Response,
769
769
  parse_obj_as(
770
- type_=JobStatusV1, # type: ignore
770
+ type_=JobStatusV1Response, # type: ignore
771
771
  object_=_response.json(),
772
772
  ),
773
773
  )
@@ -849,7 +849,7 @@ class AsyncRawSpeechToTextJobClient:
849
849
  *,
850
850
  ptu_id: typing.Optional[int] = None,
851
851
  request_options: typing.Optional[RequestOptions] = None,
852
- ) -> AsyncHttpResponse[JobStatusV1]:
852
+ ) -> AsyncHttpResponse[JobStatusV1Response]:
853
853
  """
854
854
  Start a speech to text bulk job V1
855
855
 
@@ -865,7 +865,7 @@ class AsyncRawSpeechToTextJobClient:
865
865
 
866
866
  Returns
867
867
  -------
868
- AsyncHttpResponse[JobStatusV1]
868
+ AsyncHttpResponse[JobStatusV1Response]
869
869
  Successful Response
870
870
  """
871
871
  _response = await self._client_wrapper.httpx_client.request(
@@ -880,9 +880,9 @@ class AsyncRawSpeechToTextJobClient:
880
880
  try:
881
881
  if 200 <= _response.status_code < 300:
882
882
  _data = typing.cast(
883
- JobStatusV1,
883
+ JobStatusV1Response,
884
884
  parse_obj_as(
885
- type_=JobStatusV1, # type: ignore
885
+ type_=JobStatusV1Response, # type: ignore
886
886
  object_=_response.json(),
887
887
  ),
888
888
  )
@@ -5,19 +5,14 @@ import typing
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..requests.bulk_job_callback import BulkJobCallbackParams
8
- from ..requests.speech_to_text_translate_job_parameters import (
9
- SpeechToTextTranslateJobParametersParams,
10
- )
8
+ from ..requests.speech_to_text_translate_job_parameters import SpeechToTextTranslateJobParametersParams
11
9
  from ..types.bulk_job_init_response_v_1 import BulkJobInitResponseV1
12
10
  from ..types.files_download_response import FilesDownloadResponse
13
11
  from ..types.files_upload_response import FilesUploadResponse
14
- from ..types.job_status_v_1 import JobStatusV1
12
+ from ..types.job_status_v_1_response import JobStatusV1Response
15
13
  from ..types.speech_to_text_translate_model import SpeechToTextTranslateModel
14
+ from .raw_client import AsyncRawSpeechToTextTranslateJobClient, RawSpeechToTextTranslateJobClient
16
15
  from .job import AsyncSpeechToTextTranslateJob, SpeechToTextTranslateJob
17
- from .raw_client import (
18
- AsyncRawSpeechToTextTranslateJobClient,
19
- RawSpeechToTextTranslateJobClient,
20
- )
21
16
 
22
17
  # this is used as the default value for optional parameters
23
18
  OMIT = typing.cast(typing.Any, ...)
@@ -25,9 +20,7 @@ OMIT = typing.cast(typing.Any, ...)
25
20
 
26
21
  class SpeechToTextTranslateJobClient:
27
22
  def __init__(self, *, client_wrapper: SyncClientWrapper):
28
- self._raw_client = RawSpeechToTextTranslateJobClient(
29
- client_wrapper=client_wrapper
30
- )
23
+ self._raw_client = RawSpeechToTextTranslateJobClient(client_wrapper=client_wrapper)
31
24
 
32
25
  @property
33
26
  def with_raw_response(self) -> RawSpeechToTextTranslateJobClient:
@@ -81,16 +74,13 @@ class SpeechToTextTranslateJobClient:
81
74
  )
82
75
  """
83
76
  _response = self._raw_client.initialise(
84
- job_parameters=job_parameters,
85
- ptu_id=ptu_id,
86
- callback=callback,
87
- request_options=request_options,
77
+ job_parameters=job_parameters, ptu_id=ptu_id, callback=callback, request_options=request_options
88
78
  )
89
79
  return _response.data
90
80
 
91
81
  def get_status(
92
82
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
93
- ) -> JobStatusV1:
83
+ ) -> JobStatusV1Response:
94
84
  """
95
85
  Get the status of a speech to text translate bulk job V1
96
86
 
@@ -104,7 +94,7 @@ class SpeechToTextTranslateJobClient:
104
94
 
105
95
  Returns
106
96
  -------
107
- JobStatusV1
97
+ JobStatusV1Response
108
98
  Successful Response
109
99
 
110
100
  Examples
@@ -127,7 +117,7 @@ class SpeechToTextTranslateJobClient:
127
117
  *,
128
118
  ptu_id: typing.Optional[int] = None,
129
119
  request_options: typing.Optional[RequestOptions] = None,
130
- ) -> JobStatusV1:
120
+ ) -> JobStatusV1Response:
131
121
  """
132
122
  Start a speech to text translate bulk job V1
133
123
 
@@ -143,7 +133,7 @@ class SpeechToTextTranslateJobClient:
143
133
 
144
134
  Returns
145
135
  -------
146
- JobStatusV1
136
+ JobStatusV1Response
147
137
  Successful Response
148
138
 
149
139
  Examples
@@ -157,9 +147,7 @@ class SpeechToTextTranslateJobClient:
157
147
  job_id="job_id",
158
148
  )
159
149
  """
160
- _response = self._raw_client.start(
161
- job_id, ptu_id=ptu_id, request_options=request_options
162
- )
150
+ _response = self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
163
151
  return _response.data
164
152
 
165
153
  def get_upload_links(
@@ -316,11 +304,10 @@ class SpeechToTextTranslateJobClient:
316
304
  return SpeechToTextTranslateJob(job_id=job_id, client=self)
317
305
 
318
306
 
307
+
319
308
  class AsyncSpeechToTextTranslateJobClient:
320
309
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
321
- self._raw_client = AsyncRawSpeechToTextTranslateJobClient(
322
- client_wrapper=client_wrapper
323
- )
310
+ self._raw_client = AsyncRawSpeechToTextTranslateJobClient(client_wrapper=client_wrapper)
324
311
 
325
312
  @property
326
313
  def with_raw_response(self) -> AsyncRawSpeechToTextTranslateJobClient:
@@ -382,16 +369,13 @@ class AsyncSpeechToTextTranslateJobClient:
382
369
  asyncio.run(main())
383
370
  """
384
371
  _response = await self._raw_client.initialise(
385
- job_parameters=job_parameters,
386
- ptu_id=ptu_id,
387
- callback=callback,
388
- request_options=request_options,
372
+ job_parameters=job_parameters, ptu_id=ptu_id, callback=callback, request_options=request_options
389
373
  )
390
374
  return _response.data
391
375
 
392
376
  async def get_status(
393
377
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
394
- ) -> JobStatusV1:
378
+ ) -> JobStatusV1Response:
395
379
  """
396
380
  Get the status of a speech to text translate bulk job V1
397
381
 
@@ -405,7 +389,7 @@ class AsyncSpeechToTextTranslateJobClient:
405
389
 
406
390
  Returns
407
391
  -------
408
- JobStatusV1
392
+ JobStatusV1Response
409
393
  Successful Response
410
394
 
411
395
  Examples
@@ -427,9 +411,7 @@ class AsyncSpeechToTextTranslateJobClient:
427
411
 
428
412
  asyncio.run(main())
429
413
  """
430
- _response = await self._raw_client.get_status(
431
- job_id, request_options=request_options
432
- )
414
+ _response = await self._raw_client.get_status(job_id, request_options=request_options)
433
415
  return _response.data
434
416
 
435
417
  async def start(
@@ -438,7 +420,7 @@ class AsyncSpeechToTextTranslateJobClient:
438
420
  *,
439
421
  ptu_id: typing.Optional[int] = None,
440
422
  request_options: typing.Optional[RequestOptions] = None,
441
- ) -> JobStatusV1:
423
+ ) -> JobStatusV1Response:
442
424
  """
443
425
  Start a speech to text translate bulk job V1
444
426
 
@@ -454,7 +436,7 @@ class AsyncSpeechToTextTranslateJobClient:
454
436
 
455
437
  Returns
456
438
  -------
457
- JobStatusV1
439
+ JobStatusV1Response
458
440
  Successful Response
459
441
 
460
442
  Examples
@@ -476,9 +458,7 @@ class AsyncSpeechToTextTranslateJobClient:
476
458
 
477
459
  asyncio.run(main())
478
460
  """
479
- _response = await self._raw_client.start(
480
- job_id, ptu_id=ptu_id, request_options=request_options
481
- )
461
+ _response = await self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
482
462
  return _response.data
483
463
 
484
464
  async def get_upload_links(
@@ -5,7 +5,7 @@ import time
5
5
  import typing
6
6
  import httpx
7
7
 
8
- from ..types import JobStatusV1
8
+ from ..types import JobStatusV1Response
9
9
 
10
10
  if typing.TYPE_CHECKING:
11
11
  from .client import (
@@ -51,7 +51,9 @@ class AsyncSpeechToTextTranslateJob:
51
51
  """
52
52
  return self._job_id
53
53
 
54
- async def upload_files(self, file_paths: typing.Sequence[str]) -> bool:
54
+ async def upload_files(
55
+ self, file_paths: typing.Sequence[str], timeout: float = 60.0
56
+ ) -> bool:
55
57
  """
56
58
  Upload input audio files for the speech-to-text-translate job.
57
59
 
@@ -60,6 +62,9 @@ class AsyncSpeechToTextTranslateJob:
60
62
  file_paths : Sequence[str]
61
63
  List of full paths to local audio files.
62
64
 
65
+ timeout : float, optional
66
+ The maximum time to wait for the upload to complete (in seconds),
67
+ by default 60.0
63
68
  Returns
64
69
  -------
65
70
  bool
@@ -69,7 +74,8 @@ class AsyncSpeechToTextTranslateJob:
69
74
  job_id=self._job_id,
70
75
  files=[os.path.basename(p) for p in file_paths],
71
76
  )
72
- async with httpx.AsyncClient() as session:
77
+ client_timeout = httpx.Timeout(timeout=timeout)
78
+ async with httpx.AsyncClient(timeout=client_timeout) as session:
73
79
  for path in file_paths:
74
80
  file_name = os.path.basename(path)
75
81
  url = upload_links.upload_urls[file_name].file_url
@@ -90,7 +96,7 @@ class AsyncSpeechToTextTranslateJob:
90
96
 
91
97
  async def wait_until_complete(
92
98
  self, poll_interval: int = 5, timeout: int = 600
93
- ) -> JobStatusV1:
99
+ ) -> JobStatusV1Response:
94
100
  """
95
101
  Polls job status until it completes or fails.
96
102
 
@@ -104,7 +110,7 @@ class AsyncSpeechToTextTranslateJob:
104
110
 
105
111
  Returns
106
112
  -------
107
- JobStatusV1
113
+ JobStatusV1Response
108
114
  Final job status.
109
115
 
110
116
  Raises
@@ -182,23 +188,23 @@ class AsyncSpeechToTextTranslateJob:
182
188
  f.write(response.content)
183
189
  return True
184
190
 
185
- async def get_status(self) -> JobStatusV1:
191
+ async def get_status(self) -> JobStatusV1Response:
186
192
  """
187
193
  Retrieve the current status of the job.
188
194
 
189
195
  Returns
190
196
  -------
191
- JobStatusV1
197
+ JobStatusV1Response
192
198
  """
193
199
  return await self._client.get_status(self._job_id)
194
200
 
195
- async def start(self) -> JobStatusV1:
201
+ async def start(self) -> JobStatusV1Response:
196
202
  """
197
203
  Start the speech-to-text-translate job processing.
198
204
 
199
205
  Returns
200
206
  -------
201
- JobStatusV1
207
+ JobStatusV1Response
202
208
  """
203
209
  return await self._client.start(job_id=self._job_id)
204
210
 
@@ -281,7 +287,9 @@ class SpeechToTextTranslateJob:
281
287
  """
282
288
  return self._job_id
283
289
 
284
- def upload_files(self, file_paths: typing.Sequence[str]) -> bool:
290
+ async def upload_files(
291
+ self, file_paths: typing.Sequence[str], timeout: float = 60.0
292
+ ) -> bool:
285
293
  """
286
294
  Upload input audio files for the speech-to-text-translate job.
287
295
 
@@ -290,6 +298,10 @@ class SpeechToTextTranslateJob:
290
298
  file_paths : Sequence[str]
291
299
  List of full paths to local audio files.
292
300
 
301
+ timeout : float, optional
302
+ The maximum time to wait for the upload to complete (in seconds),
303
+ by default 60.0
304
+
293
305
  Returns
294
306
  -------
295
307
  bool
@@ -298,7 +310,8 @@ class SpeechToTextTranslateJob:
298
310
  upload_links = self._client.get_upload_links(
299
311
  job_id=self._job_id, files=[os.path.basename(p) for p in file_paths]
300
312
  )
301
- with httpx.Client() as client:
313
+ client_timeout = httpx.Timeout(timeout=timeout)
314
+ with httpx.Client(timeout=client_timeout) as client:
302
315
  for path in file_paths:
303
316
  file_name = os.path.basename(path)
304
317
  url = upload_links.upload_urls[file_name].file_url
@@ -322,7 +335,7 @@ class SpeechToTextTranslateJob:
322
335
 
323
336
  def wait_until_complete(
324
337
  self, poll_interval: int = 5, timeout: int = 600
325
- ) -> JobStatusV1:
338
+ ) -> JobStatusV1Response:
326
339
  """
327
340
  Polls job status until it completes or fails.
328
341
 
@@ -336,7 +349,7 @@ class SpeechToTextTranslateJob:
336
349
 
337
350
  Returns
338
351
  -------
339
- JobStatusV1
352
+ JobStatusV1Response
340
353
  Final job status.
341
354
 
342
355
  Raises
@@ -414,23 +427,23 @@ class SpeechToTextTranslateJob:
414
427
  f.write(response.content)
415
428
  return True
416
429
 
417
- def get_status(self) -> JobStatusV1:
430
+ def get_status(self) -> JobStatusV1Response:
418
431
  """
419
432
  Retrieve the current status of the job.
420
433
 
421
434
  Returns
422
435
  -------
423
- JobStatusV1
436
+ JobStatusV1Response
424
437
  """
425
438
  return self._client.get_status(self._job_id)
426
439
 
427
- def start(self) -> JobStatusV1:
440
+ def start(self) -> JobStatusV1Response:
428
441
  """
429
442
  Start the speech-to-text-translate job processing.
430
443
 
431
444
  Returns
432
445
  -------
433
- JobStatusV1
446
+ JobStatusV1Response
434
447
  """
435
448
  return self._client.start(job_id=self._job_id)
436
449
 
@@ -21,7 +21,7 @@ from ..requests.speech_to_text_translate_job_parameters import SpeechToTextTrans
21
21
  from ..types.bulk_job_init_response_v_1 import BulkJobInitResponseV1
22
22
  from ..types.files_download_response import FilesDownloadResponse
23
23
  from ..types.files_upload_response import FilesUploadResponse
24
- from ..types.job_status_v_1 import JobStatusV1
24
+ from ..types.job_status_v_1_response import JobStatusV1Response
25
25
 
26
26
  # this is used as the default value for optional parameters
27
27
  OMIT = typing.cast(typing.Any, ...)
@@ -164,7 +164,7 @@ class RawSpeechToTextTranslateJobClient:
164
164
 
165
165
  def get_status(
166
166
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
167
- ) -> HttpResponse[JobStatusV1]:
167
+ ) -> HttpResponse[JobStatusV1Response]:
168
168
  """
169
169
  Get the status of a speech to text translate bulk job V1
170
170
 
@@ -178,7 +178,7 @@ class RawSpeechToTextTranslateJobClient:
178
178
 
179
179
  Returns
180
180
  -------
181
- HttpResponse[JobStatusV1]
181
+ HttpResponse[JobStatusV1Response]
182
182
  Successful Response
183
183
  """
184
184
  _response = self._client_wrapper.httpx_client.request(
@@ -190,9 +190,9 @@ class RawSpeechToTextTranslateJobClient:
190
190
  try:
191
191
  if 200 <= _response.status_code < 300:
192
192
  _data = typing.cast(
193
- JobStatusV1,
193
+ JobStatusV1Response,
194
194
  parse_obj_as(
195
- type_=JobStatusV1, # type: ignore
195
+ type_=JobStatusV1Response, # type: ignore
196
196
  object_=_response.json(),
197
197
  ),
198
198
  )
@@ -274,7 +274,7 @@ class RawSpeechToTextTranslateJobClient:
274
274
  *,
275
275
  ptu_id: typing.Optional[int] = None,
276
276
  request_options: typing.Optional[RequestOptions] = None,
277
- ) -> HttpResponse[JobStatusV1]:
277
+ ) -> HttpResponse[JobStatusV1Response]:
278
278
  """
279
279
  Start a speech to text translate bulk job V1
280
280
 
@@ -290,7 +290,7 @@ class RawSpeechToTextTranslateJobClient:
290
290
 
291
291
  Returns
292
292
  -------
293
- HttpResponse[JobStatusV1]
293
+ HttpResponse[JobStatusV1Response]
294
294
  Successful Response
295
295
  """
296
296
  _response = self._client_wrapper.httpx_client.request(
@@ -305,9 +305,9 @@ class RawSpeechToTextTranslateJobClient:
305
305
  try:
306
306
  if 200 <= _response.status_code < 300:
307
307
  _data = typing.cast(
308
- JobStatusV1,
308
+ JobStatusV1Response,
309
309
  parse_obj_as(
310
- type_=JobStatusV1, # type: ignore
310
+ type_=JobStatusV1Response, # type: ignore
311
311
  object_=_response.json(),
312
312
  ),
313
313
  )
@@ -771,7 +771,7 @@ class AsyncRawSpeechToTextTranslateJobClient:
771
771
 
772
772
  async def get_status(
773
773
  self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
774
- ) -> AsyncHttpResponse[JobStatusV1]:
774
+ ) -> AsyncHttpResponse[JobStatusV1Response]:
775
775
  """
776
776
  Get the status of a speech to text translate bulk job V1
777
777
 
@@ -785,7 +785,7 @@ class AsyncRawSpeechToTextTranslateJobClient:
785
785
 
786
786
  Returns
787
787
  -------
788
- AsyncHttpResponse[JobStatusV1]
788
+ AsyncHttpResponse[JobStatusV1Response]
789
789
  Successful Response
790
790
  """
791
791
  _response = await self._client_wrapper.httpx_client.request(
@@ -797,9 +797,9 @@ class AsyncRawSpeechToTextTranslateJobClient:
797
797
  try:
798
798
  if 200 <= _response.status_code < 300:
799
799
  _data = typing.cast(
800
- JobStatusV1,
800
+ JobStatusV1Response,
801
801
  parse_obj_as(
802
- type_=JobStatusV1, # type: ignore
802
+ type_=JobStatusV1Response, # type: ignore
803
803
  object_=_response.json(),
804
804
  ),
805
805
  )
@@ -881,7 +881,7 @@ class AsyncRawSpeechToTextTranslateJobClient:
881
881
  *,
882
882
  ptu_id: typing.Optional[int] = None,
883
883
  request_options: typing.Optional[RequestOptions] = None,
884
- ) -> AsyncHttpResponse[JobStatusV1]:
884
+ ) -> AsyncHttpResponse[JobStatusV1Response]:
885
885
  """
886
886
  Start a speech to text translate bulk job V1
887
887
 
@@ -897,7 +897,7 @@ class AsyncRawSpeechToTextTranslateJobClient:
897
897
 
898
898
  Returns
899
899
  -------
900
- AsyncHttpResponse[JobStatusV1]
900
+ AsyncHttpResponse[JobStatusV1Response]
901
901
  Successful Response
902
902
  """
903
903
  _response = await self._client_wrapper.httpx_client.request(
@@ -912,9 +912,9 @@ class AsyncRawSpeechToTextTranslateJobClient:
912
912
  try:
913
913
  if 200 <= _response.status_code < 300:
914
914
  _data = typing.cast(
915
- JobStatusV1,
915
+ JobStatusV1Response,
916
916
  parse_obj_as(
917
- type_=JobStatusV1, # type: ignore
917
+ type_=JobStatusV1Response, # type: ignore
918
918
  object_=_response.json(),
919
919
  ),
920
920
  )
@@ -45,7 +45,7 @@ from .files_upload_response import FilesUploadResponse
45
45
  from .finish_reason import FinishReason
46
46
  from .flush_signal import FlushSignal
47
47
  from .job_state import JobState
48
- from .job_status_v_1 import JobStatusV1
48
+ from .job_status_v_1_response import JobStatusV1Response
49
49
  from .language_identification_response import LanguageIdentificationResponse
50
50
  from .numerals_format import NumeralsFormat
51
51
  from .ping_signal import PingSignal
@@ -136,7 +136,7 @@ __all__ = [
136
136
  "FinishReason",
137
137
  "FlushSignal",
138
138
  "JobState",
139
- "JobStatusV1",
139
+ "JobStatusV1Response",
140
140
  "LanguageIdentificationResponse",
141
141
  "NumeralsFormat",
142
142
  "PingSignal",
@@ -5,7 +5,6 @@ import typing
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
  from .base_job_parameters import BaseJobParameters
8
- from .bulk_job_callback import BulkJobCallback
9
8
  from .job_state import JobState
10
9
  from .storage_container_type import StorageContainerType
11
10
 
@@ -23,11 +22,6 @@ class BulkJobInitResponseV1(UniversalBaseModel):
23
22
 
24
23
  job_parameters: BaseJobParameters
25
24
  job_state: JobState
26
- owner_id: str
27
- callback: typing.Optional[BulkJobCallback] = pydantic.Field(default=None)
28
- """
29
- Parameters for callback URL
30
- """
31
25
 
32
26
  if IS_PYDANTIC_V2:
33
27
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -9,7 +9,7 @@ from .storage_container_type import StorageContainerType
9
9
  from .task_detail_v_1 import TaskDetailV1
10
10
 
11
11
 
12
- class JobStatusV1(UniversalBaseModel):
12
+ class JobStatusV1Response(UniversalBaseModel):
13
13
  job_state: JobState = pydantic.Field()
14
14
  """
15
15
  Job State
@@ -45,11 +45,6 @@ class JobStatusV1(UniversalBaseModel):
45
45
  Failed Count
46
46
  """
47
47
 
48
- owner_id: str = pydantic.Field()
49
- """
50
- Owner of the job
51
- """
52
-
53
48
  storage_container_type: StorageContainerType = pydantic.Field()
54
49
  """
55
50
  Storage Container Type
@@ -65,11 +60,6 @@ class JobStatusV1(UniversalBaseModel):
65
60
  Job details at file level.
66
61
  """
67
62
 
68
- num_internal_retries: typing.Optional[int] = pydantic.Field(default=None)
69
- """
70
- Number of internal retries
71
- """
72
-
73
63
  if IS_PYDANTIC_V2:
74
64
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
75
65
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.12a1
3
+ Version: 0.1.13
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,11 +1,11 @@
1
- sarvamai/__init__.py,sha256=wq1a7uiqmB-87ii_Ye7Jif3sV1nvrdA0JF7M5e_FvVI,10564
1
+ sarvamai/__init__.py,sha256=GnF7-p90SFINEDPWaFGrfe4l5JL7oMCdIhhDdNbSvls,10596
2
2
  sarvamai/chat/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
3
3
  sarvamai/chat/client.py,sha256=xOSj83Gr6Q7eY2qUeATiuXYQqBqWqSCQlIEopK5fKus,11022
4
4
  sarvamai/chat/raw_client.py,sha256=A2kRuZcVWlJhyYCD7YKgqNkZEp3cYa1731KhRkhirU0,17885
5
5
  sarvamai/client.py,sha256=J30X_os1lPf8Wml0KDFEf6p8VGHhgF_lf3nw1T2D3qo,8207
6
6
  sarvamai/core/__init__.py,sha256=YE2CtXeASe1RAbaI39twKWYKCuT4tW5is9HWHhJjR_g,1653
7
7
  sarvamai/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
8
- sarvamai/core/client_wrapper.py,sha256=aq6JjUE1V2HzLOOdR5Y-h2NRyWbX-ytQzt8-nc0f84c,2570
8
+ sarvamai/core/client_wrapper.py,sha256=IZZ10F_DgnXjVRudRRlgjFGDEssM_1353IX4i7C7iAY,2566
9
9
  sarvamai/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
10
  sarvamai/core/events.py,sha256=HvKBdSoYcFetk7cgNXb7FxuY-FtY8NtUhZIN7mGVx8U,1159
11
11
  sarvamai/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
@@ -28,14 +28,14 @@ sarvamai/errors/too_many_requests_error.py,sha256=Dl-_pfpboXJh-OtSbRaPQOB-UXvpVO
28
28
  sarvamai/errors/unprocessable_entity_error.py,sha256=JqxtzIhvjkpQDqbT9Q-go1n-gyv9PsYqq0ng_ZYyBMo,347
29
29
  sarvamai/play.py,sha256=4fh86zy8g8IPU2O8yPBY7QxXQOivv_nWQvPQsOa1arw,2183
30
30
  sarvamai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- sarvamai/requests/__init__.py,sha256=NUwWK2r35t3wgDeukSf0pOtbrUzPBh6bMyK1oxxwQzw,5598
31
+ sarvamai/requests/__init__.py,sha256=ahxnrLbGzmGrHbwbacfelPA6m2OAXy4dlLFQiF5_BNQ,5623
32
32
  sarvamai/requests/audio_data.py,sha256=QI3SK5aiAg2yJ-m3l9CxOkONnH3CCKMFCl9kAdMs19o,410
33
33
  sarvamai/requests/audio_message.py,sha256=ZBeogjGE6YFXXM-0g8zq9SoizDk21reR0YXSB-0fMjg,214
34
34
  sarvamai/requests/audio_output.py,sha256=BnoX345rwoWgaMaj24u_19-SjmPV0xt7vlFEEDKRw20,280
35
35
  sarvamai/requests/audio_output_data.py,sha256=v5s67mI1RNO20-C39lRXWpHgV13yOPXML1VrZHke9sY,349
36
36
  sarvamai/requests/base_job_parameters.py,sha256=5-DGqoCcIt5PM_-LO8hzuTqnuW5arxpEzimAmL9rLKM,161
37
37
  sarvamai/requests/bulk_job_callback.py,sha256=6MvZSY0l2lch9skJzy8qBpuZ9KJoLv3ZL7SYP2rNlUI,345
38
- sarvamai/requests/bulk_job_init_response_v_1.py,sha256=qvi0lb0squV7PXiLbspspHMXjBefXqNThx-VTwbZHSQ,710
38
+ sarvamai/requests/bulk_job_init_response_v_1.py,sha256=prWUzJ5x3pdOdInKqeVahKWYL5uvwf7gOlecgZU2qfE,524
39
39
  sarvamai/requests/chat_completion_request_assistant_message.py,sha256=xI6nqqY2t4j56DGEAt2aasDnI7no_mxxCBk_ChxNQjg,247
40
40
  sarvamai/requests/chat_completion_request_message.py,sha256=B5tOPGNdSaMOJRl0k26uuXaqvpTrftiu-99CDDBTnSI,736
41
41
  sarvamai/requests/chat_completion_request_system_message.py,sha256=ZvjBuyL0oM7Vwd9bR_Yc7yGXUGLHYn9Np9jqEebiMRs,242
@@ -60,7 +60,7 @@ sarvamai/requests/files_download_response.py,sha256=lQg7yVJtiMvt4OR0WcDbaL9jCi77
60
60
  sarvamai/requests/files_request.py,sha256=VtmR-bfsOgYW_fYkreDCGkZl9uumxz-RFDBHebAQ2Yg,210
61
61
  sarvamai/requests/files_upload_response.py,sha256=vXM35jRe_kSZ6ydSTq7MeZEkLpdeZN01n36YvdM8b8M,487
62
62
  sarvamai/requests/flush_signal.py,sha256=Aj_PzphMNcHMMOaxvTi1uQ5y36ZTtKEsUGCprbWIOvw,406
63
- sarvamai/requests/job_status_v_1.py,sha256=uPki82pWAi4lo7GrJuot0qpXUq5M382d_PPRFGB0kxo,1269
63
+ sarvamai/requests/job_status_v_1_response.py,sha256=cxXkyKYlcysqsBqmENlh7rAqBN6x7_163rHqgtLvICk,1112
64
64
  sarvamai/requests/language_identification_response.py,sha256=BdS5U9Gic-71vb--ph6HGvd2hGNKDXERC7yrn8vFcvI,1098
65
65
  sarvamai/requests/ping_signal.py,sha256=TSgmfz2k4X1L6TzvX8u2SKZ6XQY3bSf7nPZf8mUViaM,343
66
66
  sarvamai/requests/send_text.py,sha256=DWzbNgeNN2xSIYgk2zEisgLqjwq5oleqJVHrtOnIqbE,267
@@ -87,9 +87,9 @@ sarvamai/speech_to_text/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUz
87
87
  sarvamai/speech_to_text/client.py,sha256=lp2G2fI9SUbeOBBE1S5tjcp-Xb8wIhAuVadLKwXveh8,11003
88
88
  sarvamai/speech_to_text/raw_client.py,sha256=A_56vEVeJdyttVJRiFxTMJ4n-s4l_PS8rI1DiLZlOmc,25331
89
89
  sarvamai/speech_to_text_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
90
- sarvamai/speech_to_text_job/client.py,sha256=v_q-fKp7Gz5izywtyIsjYE0CfJGa51k8sRBdWDmU0JU,18240
91
- sarvamai/speech_to_text_job/job.py,sha256=LD47DCehRg5vHF8mc9C-gcVPiXRE-vpVMT8gGlrzK04,13923
92
- sarvamai/speech_to_text_job/raw_client.py,sha256=v14drcQLAmpqozRUNKmw1F9j3omieMPC8R88Th1BID8,48055
90
+ sarvamai/speech_to_text_job/client.py,sha256=WSGBJxYcNxl77Zd1X6VVWjg4zshqecXf6WCyhfLXVlI,18007
91
+ sarvamai/speech_to_text_job/job.py,sha256=dk_4F8S6szZwdaItLiMgs2b1VfutPd9-awgDtkMd1ic,14543
92
+ sarvamai/speech_to_text_job/raw_client.py,sha256=OZTPzMhAn-ckE_xKzfZ9QLsEX5EZVOJS0Pf-PBa19jM,48200
93
93
  sarvamai/speech_to_text_streaming/__init__.py,sha256=q7QygMmZCHJ-4FMhhL_6XNV_dsqlIFRCO1iSxoyxaaY,437
94
94
  sarvamai/speech_to_text_streaming/client.py,sha256=AzStfZDXhu2YAJEpnVbsy0WObub5ctlGBzqfeYOUlpA,8442
95
95
  sarvamai/speech_to_text_streaming/raw_client.py,sha256=UrSRTR6NtB6SU0Ta8U2ER-PxBP1sDWL857l2LIaTxiU,7623
@@ -100,9 +100,9 @@ sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.p
100
100
  sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py,sha256=b6F4ymgz4got6KVDqrweYvkET8itze63wUwWyjqDlO4,180
101
101
  sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py,sha256=8wiFOB7WDMbYCcMTYgNFJaIjEytYeXpJLwr_O_mH0TI,172
102
102
  sarvamai/speech_to_text_translate_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
103
- sarvamai/speech_to_text_translate_job/client.py,sha256=UmM9yACznkasSGodp1rNoi4Ang_D4EQ-tG-QtVwdaa4,19093
104
- sarvamai/speech_to_text_translate_job/job.py,sha256=-DRzK4ZI3Jupf4H3GUX1ShIqDSTxGb59lIYGY9cQa7U,14109
105
- sarvamai/speech_to_text_translate_job/raw_client.py,sha256=g-xk7H8ZwjmPSuJSgblVSH7kqGh_5wAkYUy5PdwTm-U,49362
103
+ sarvamai/speech_to_text_translate_job/client.py,sha256=xu8kYtCESDB7LzL8YKBUq5qhTPMIl3_H3XD2L_7y4UU,18969
104
+ sarvamai/speech_to_text_translate_job/job.py,sha256=W4KL9ja6wYzYj7-Vx7N-BVFdEmHYLvdIe9PCQ0N5Om4,14730
105
+ sarvamai/speech_to_text_translate_job/raw_client.py,sha256=dAitbu2B9afPK6iT9zNjUJnE5BIr5-lrAlwrfwFxdkU,49507
106
106
  sarvamai/speech_to_text_translate_streaming/__init__.py,sha256=_hmlce1Zs1grylysZhBUdtKfkaUROwVydtwz6l-1qqg,411
107
107
  sarvamai/speech_to_text_translate_streaming/client.py,sha256=xPPg5_JgpH8tYDUte6FGtpzXO2LGBUSRADN-ICqqA6U,8286
108
108
  sarvamai/speech_to_text_translate_streaming/raw_client.py,sha256=WUj5dGWQT2HUYLFoi3SRJzXk1JMuLxhPQzbL45G5kO8,7395
@@ -121,14 +121,14 @@ sarvamai/text_to_speech_streaming/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7
121
121
  sarvamai/text_to_speech_streaming/client.py,sha256=tcYTUmWGseGQkLOsJdO4S3eZrFstjaLCPi5OcKflfus,6306
122
122
  sarvamai/text_to_speech_streaming/raw_client.py,sha256=VdL5HYpUotIm5HaOqTwRkyZqoV0BuzwCtAfcB0g1y10,5487
123
123
  sarvamai/text_to_speech_streaming/socket_client.py,sha256=NEcijnvjuNcWfzqpBi-xWsXVkL0NPq6EGAkEjnaq9hw,13909
124
- sarvamai/types/__init__.py,sha256=_tcONO157t6xm41llByU9FzSYWCQO2gExsqKZOz0HpQ,7681
124
+ sarvamai/types/__init__.py,sha256=AM1sJfHYlXgNvlgEfEonsEtESSafPV5-m0-YJRKUuyQ,7706
125
125
  sarvamai/types/audio_data.py,sha256=rgOukLkLNJ_HBBVE2g5dfEL2CWjRoGiMvCtpq0qTB1Y,829
126
126
  sarvamai/types/audio_message.py,sha256=sB4EgkWkWJzipYXobkmM9AYZTTZtCpg_ySKssUeznUE,560
127
127
  sarvamai/types/audio_output.py,sha256=Eq-YUZa1mSDwt7bax2c4Vv2gBlyM_JBJWzHhTAhFSko,621
128
128
  sarvamai/types/audio_output_data.py,sha256=Og-yoeYzL--9G0-HATRe_M_XkKP6uLWuc1Qxbjte8LI,745
129
129
  sarvamai/types/base_job_parameters.py,sha256=x-6SDzT2JxsGNUNuMskw8drWj6UwqgCaeo33XrlgKvo,509
130
130
  sarvamai/types/bulk_job_callback.py,sha256=mEpKCadWIqZhXlaJztnAhGmydln_6ykvEotFGEQ0RtI,739
131
- sarvamai/types/bulk_job_init_response_v_1.py,sha256=1iPzqVz6pN9zWWxthboPl2yFHOsewkqjlNwVmV0RTaE,1085
131
+ sarvamai/types/bulk_job_init_response_v_1.py,sha256=iYr_jSp443R1IoQdlLtDK6f78z2x-47feBnhUXCdWBU,894
132
132
  sarvamai/types/chat_completion_request_assistant_message.py,sha256=pFSONJ6CBsv3frcteid66SOKMkFwQ1UJs_e0XwwbKis,624
133
133
  sarvamai/types/chat_completion_request_message.py,sha256=4ZfaNvaphnPdJqYSeSXMZwBhkrAqBz3aob6j-4Cklho,1638
134
134
  sarvamai/types/chat_completion_request_system_message.py,sha256=E7YhTk1zr4u7dj_yylrf7_cyRrxpBssNBHhqxsb1b74,619
@@ -160,7 +160,7 @@ sarvamai/types/files_upload_response.py,sha256=wRntZyh1-LGpo4-x_986Nv2A9rv9asDx9
160
160
  sarvamai/types/finish_reason.py,sha256=PBWtBNkX4FMaODmlUehpF6qLB5uH_zR-Mw3M4uhIB6U,209
161
161
  sarvamai/types/flush_signal.py,sha256=N7MJWb658KoxRpFN9cIbyQGY45zZcg8YCou3E1v--9o,759
162
162
  sarvamai/types/job_state.py,sha256=H6Zph2mIcjsd3upEDt1VzIEORkEpnIDs0kH8BvIyrow,189
163
- sarvamai/types/job_status_v_1.py,sha256=i1xopAptPVbGGIUcjKWgjAzSKwLVy6y4oGVEYcOA1P0,1798
163
+ sarvamai/types/job_status_v_1_response.py,sha256=jusn-3XLCk8vCnu3q3GGSzz_yYgKB5PY_01Q32-1aJk,1605
164
164
  sarvamai/types/language_identification_response.py,sha256=jG4ZQ6KQHCiEDqC51OniOwiRdW14Fbz22bbTsUDp_kc,1483
165
165
  sarvamai/types/numerals_format.py,sha256=xg3lYiHcnzyFwuwRcaIteJLH_Pz6pJ9n9kTlYPEnCBU,165
166
166
  sarvamai/types/ping_signal.py,sha256=cE53FRIXlc8bSo18z6jlAnOh6DhZEMX36huWEX6X3-A,695
@@ -209,6 +209,6 @@ sarvamai/types/transliterate_mode.py,sha256=1jSEMlGcoLkWuk12TgoOpSgwifa4rThGKZ1h
209
209
  sarvamai/types/transliterate_source_language.py,sha256=bSY9wJszF0sg-Cgg6F-YcWC8ly1mIlj9rqa15-jBtx8,283
210
210
  sarvamai/types/transliteration_response.py,sha256=yt-lzTbDeJ_ZL4I8kQa6oESxA9ebeJJY7LfFHpdEsmM,815
211
211
  sarvamai/version.py,sha256=Qkp3Ee9YH-O9RTix90e0i7iNrFAGN-QDt2AFwGA4n8k,75
212
- sarvamai-0.1.12a1.dist-info/METADATA,sha256=i_KKC-mEXt5VhlG2bOyMMCKjq9GwA13T8S0Yvcg559o,26753
213
- sarvamai-0.1.12a1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
214
- sarvamai-0.1.12a1.dist-info/RECORD,,
212
+ sarvamai-0.1.13.dist-info/METADATA,sha256=VLnxZxi4_ulI_-EZ9kQcwb0eA13wgKEh0YdCkdViqmA,26751
213
+ sarvamai-0.1.13.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
214
+ sarvamai-0.1.13.dist-info/RECORD,,