Skip to content

Commit 9bac14c

Browse files
author
Tanmay Kale
committed
feat: add stream_timeout_ms to SDKConfiguration and Mistral.__init__ [AIR-1092]
1 parent 3c50848 commit 9bac14c

5 files changed

Lines changed: 16 additions & 0 deletions

File tree

‎src/mistralai/client/agents.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,8 @@ def stream(
462462
"""
463463
base_url = None
464464
url_variables = None
465+
if timeout_ms is None:
466+
timeout_ms = self.sdk_configuration.stream_timeout_ms
465467
if timeout_ms is None:
466468
timeout_ms = self.sdk_configuration.timeout_ms
467469

@@ -656,6 +658,8 @@ async def stream_async(
656658
"""
657659
base_url = None
658660
url_variables = None
661+
if timeout_ms is None:
662+
timeout_ms = self.sdk_configuration.stream_timeout_ms
659663
if timeout_ms is None:
660664
timeout_ms = self.sdk_configuration.timeout_ms
661665

‎src/mistralai/client/chat.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,8 @@ def stream(
571571
"""
572572
base_url = None
573573
url_variables = None
574+
if timeout_ms is None:
575+
timeout_ms = self.sdk_configuration.stream_timeout_ms
574576
if timeout_ms is None:
575577
timeout_ms = self.sdk_configuration.timeout_ms
576578

@@ -774,6 +776,8 @@ async def stream_async(
774776
"""
775777
base_url = None
776778
url_variables = None
779+
if timeout_ms is None:
780+
timeout_ms = self.sdk_configuration.stream_timeout_ms
777781
if timeout_ms is None:
778782
timeout_ms = self.sdk_configuration.timeout_ms
779783

‎src/mistralai/client/fim.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,8 @@ def stream(
329329
"""
330330
base_url = None
331331
url_variables = None
332+
if timeout_ms is None:
333+
timeout_ms = self.sdk_configuration.stream_timeout_ms
332334
if timeout_ms is None:
333335
timeout_ms = self.sdk_configuration.timeout_ms
334336

@@ -471,6 +473,8 @@ async def stream_async(
471473
"""
472474
base_url = None
473475
url_variables = None
476+
if timeout_ms is None:
477+
timeout_ms = self.sdk_configuration.stream_timeout_ms
474478
if timeout_ms is None:
475479
timeout_ms = self.sdk_configuration.timeout_ms
476480

‎src/mistralai/client/sdk.py‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def __init__(
8181
async_client: Optional[AsyncHttpClient] = None,
8282
retry_config: OptionalNullable[RetryConfig] = UNSET,
8383
timeout_ms: Optional[int] = None,
84+
stream_timeout_ms: Optional[int] = None,
8485
debug_logger: Optional[Logger] = None,
8586
) -> None:
8687
r"""Instantiates the SDK configuring it with the provided parameters.
@@ -93,6 +94,7 @@ def __init__(
9394
:param async_client: The Async HTTP client to use for all asynchronous methods
9495
:param retry_config: The retry configuration to use for all supported methods
9596
:param timeout_ms: Optional request timeout applied to each operation in milliseconds
97+
:param stream_timeout_ms: Optional idle-read timeout for SSE streaming operations in milliseconds (default 20 000 ms). Overrides timeout_ms for streaming calls only.
9698
"""
9799
client_supplied = True
98100
if client is None:
@@ -140,6 +142,7 @@ def __init__(
140142
server=server,
141143
retry_config=retry_config,
142144
timeout_ms=timeout_ms,
145+
stream_timeout_ms=stream_timeout_ms,
143146
debug_logger=debug_logger,
144147
),
145148
parent_ref=self,

‎src/mistralai/client/sdkconfiguration.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class SDKConfiguration:
4747
user_agent: str = __user_agent__
4848
retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET)
4949
timeout_ms: Optional[int] = None
50+
stream_timeout_ms: Optional[int] = None
5051

5152
def get_server_details(self) -> Tuple[str, Dict[str, str]]:
5253
if self.server_url is not None and self.server_url:

0 commit comments

Comments
 (0)