@@ -78,7 +78,7 @@ class BaseCohere:
7878
7979 - token: typing.Optional[typing.Union[str, typing.Callable[[], str]]].
8080
81- - timeout: typing.Optional[float]. The timeout to be used, in seconds, for requests by default the timeout is 60 seconds.
81+ - timeout: typing.Optional[float]. The timeout to be used, in seconds, for requests by default the timeout is 60 seconds, unless a custom httpx client is used, in which case a default is not set .
8282
8383 - httpx_client: typing.Optional[httpx.Client]. The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
8484 ---
@@ -97,16 +97,18 @@ def __init__(
9797 environment : ClientEnvironment = ClientEnvironment .PRODUCTION ,
9898 client_name : typing .Optional [str ] = None ,
9999 token : typing .Optional [typing .Union [str , typing .Callable [[], str ]]] = os .getenv ("CO_API_KEY" ),
100- timeout : typing .Optional [float ] = 300 ,
100+ timeout : typing .Optional [float ] = None ,
101101 httpx_client : typing .Optional [httpx .Client ] = None ,
102102 ):
103+ _defaulted_timeout = timeout if timeout is not None else 300 if httpx_client is None else None
103104 if token is None :
104105 raise ApiError (body = "The client must be instantiated be either passing in token or setting CO_API_KEY" )
105106 self ._client_wrapper = SyncClientWrapper (
106107 base_url = _get_base_url (base_url = base_url , environment = environment ),
107108 client_name = client_name ,
108109 token = token ,
109- httpx_client = httpx .Client (timeout = timeout ) if httpx_client is None else httpx_client ,
110+ httpx_client = httpx .Client (timeout = _defaulted_timeout ) if httpx_client is None else httpx_client ,
111+ timeout = _defaulted_timeout ,
110112 )
111113 self .embed_jobs = EmbedJobsClient (client_wrapper = self ._client_wrapper )
112114 self .datasets = DatasetsClient (client_wrapper = self ._client_wrapper )
@@ -398,7 +400,7 @@ def chat_stream(
398400 ),
399401 timeout = request_options .get ("timeout_in_seconds" )
400402 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
401- else 300 ,
403+ else self . _client_wrapper . get_timeout () ,
402404 retries = 0 ,
403405 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
404406 ) as _response :
@@ -643,7 +645,7 @@ def chat(
643645 ),
644646 timeout = request_options .get ("timeout_in_seconds" )
645647 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
646- else 300 ,
648+ else self . _client_wrapper . get_timeout () ,
647649 retries = 0 ,
648650 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
649651 )
@@ -819,7 +821,7 @@ def generate_stream(
819821 ),
820822 timeout = request_options .get ("timeout_in_seconds" )
821823 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
822- else 300 ,
824+ else self . _client_wrapper . get_timeout () ,
823825 retries = 0 ,
824826 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
825827 ) as _response :
@@ -990,7 +992,7 @@ def generate(
990992 ),
991993 timeout = request_options .get ("timeout_in_seconds" )
992994 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
993- else 300 ,
995+ else self . _client_wrapper . get_timeout () ,
994996 retries = 0 ,
995997 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
996998 )
@@ -1103,7 +1105,7 @@ def embed(
11031105 ),
11041106 timeout = request_options .get ("timeout_in_seconds" )
11051107 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1106- else 300 ,
1108+ else self . _client_wrapper . get_timeout () ,
11071109 retries = 0 ,
11081110 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
11091111 )
@@ -1202,7 +1204,7 @@ def rerank(
12021204 ),
12031205 timeout = request_options .get ("timeout_in_seconds" )
12041206 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1205- else 300 ,
1207+ else self . _client_wrapper . get_timeout () ,
12061208 retries = 0 ,
12071209 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
12081210 )
@@ -1328,7 +1330,7 @@ def classify(
13281330 ),
13291331 timeout = request_options .get ("timeout_in_seconds" )
13301332 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1331- else 300 ,
1333+ else self . _client_wrapper . get_timeout () ,
13321334 retries = 0 ,
13331335 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
13341336 )
@@ -1427,7 +1429,7 @@ def summarize(
14271429 ),
14281430 timeout = request_options .get ("timeout_in_seconds" )
14291431 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1430- else 300 ,
1432+ else self . _client_wrapper . get_timeout () ,
14311433 retries = 0 ,
14321434 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
14331435 )
@@ -1490,7 +1492,7 @@ def tokenize(
14901492 ),
14911493 timeout = request_options .get ("timeout_in_seconds" )
14921494 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1493- else 300 ,
1495+ else self . _client_wrapper . get_timeout () ,
14941496 retries = 0 ,
14951497 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
14961498 )
@@ -1560,7 +1562,7 @@ def detokenize(
15601562 ),
15611563 timeout = request_options .get ("timeout_in_seconds" )
15621564 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1563- else 300 ,
1565+ else self . _client_wrapper . get_timeout () ,
15641566 retries = 0 ,
15651567 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
15661568 )
@@ -1590,7 +1592,7 @@ class AsyncBaseCohere:
15901592
15911593 - token: typing.Optional[typing.Union[str, typing.Callable[[], str]]].
15921594
1593- - timeout: typing.Optional[float]. The timeout to be used, in seconds, for requests by default the timeout is 60 seconds.
1595+ - timeout: typing.Optional[float]. The timeout to be used, in seconds, for requests by default the timeout is 60 seconds, unless a custom httpx client is used, in which case a default is not set .
15941596
15951597 - httpx_client: typing.Optional[httpx.AsyncClient]. The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
15961598 ---
@@ -1609,16 +1611,18 @@ def __init__(
16091611 environment : ClientEnvironment = ClientEnvironment .PRODUCTION ,
16101612 client_name : typing .Optional [str ] = None ,
16111613 token : typing .Optional [typing .Union [str , typing .Callable [[], str ]]] = os .getenv ("CO_API_KEY" ),
1612- timeout : typing .Optional [float ] = 300 ,
1614+ timeout : typing .Optional [float ] = None ,
16131615 httpx_client : typing .Optional [httpx .AsyncClient ] = None ,
16141616 ):
1617+ _defaulted_timeout = timeout if timeout is not None else 300 if httpx_client is None else None
16151618 if token is None :
16161619 raise ApiError (body = "The client must be instantiated be either passing in token or setting CO_API_KEY" )
16171620 self ._client_wrapper = AsyncClientWrapper (
16181621 base_url = _get_base_url (base_url = base_url , environment = environment ),
16191622 client_name = client_name ,
16201623 token = token ,
1621- httpx_client = httpx .AsyncClient (timeout = timeout ) if httpx_client is None else httpx_client ,
1624+ httpx_client = httpx .AsyncClient (timeout = _defaulted_timeout ) if httpx_client is None else httpx_client ,
1625+ timeout = _defaulted_timeout ,
16221626 )
16231627 self .embed_jobs = AsyncEmbedJobsClient (client_wrapper = self ._client_wrapper )
16241628 self .datasets = AsyncDatasetsClient (client_wrapper = self ._client_wrapper )
@@ -1910,7 +1914,7 @@ async def chat_stream(
19101914 ),
19111915 timeout = request_options .get ("timeout_in_seconds" )
19121916 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
1913- else 300 ,
1917+ else self . _client_wrapper . get_timeout () ,
19141918 retries = 0 ,
19151919 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
19161920 ) as _response :
@@ -2155,7 +2159,7 @@ async def chat(
21552159 ),
21562160 timeout = request_options .get ("timeout_in_seconds" )
21572161 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2158- else 300 ,
2162+ else self . _client_wrapper . get_timeout () ,
21592163 retries = 0 ,
21602164 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
21612165 )
@@ -2331,7 +2335,7 @@ async def generate_stream(
23312335 ),
23322336 timeout = request_options .get ("timeout_in_seconds" )
23332337 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2334- else 300 ,
2338+ else self . _client_wrapper . get_timeout () ,
23352339 retries = 0 ,
23362340 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
23372341 ) as _response :
@@ -2502,7 +2506,7 @@ async def generate(
25022506 ),
25032507 timeout = request_options .get ("timeout_in_seconds" )
25042508 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2505- else 300 ,
2509+ else self . _client_wrapper . get_timeout () ,
25062510 retries = 0 ,
25072511 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
25082512 )
@@ -2615,7 +2619,7 @@ async def embed(
26152619 ),
26162620 timeout = request_options .get ("timeout_in_seconds" )
26172621 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2618- else 300 ,
2622+ else self . _client_wrapper . get_timeout () ,
26192623 retries = 0 ,
26202624 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
26212625 )
@@ -2714,7 +2718,7 @@ async def rerank(
27142718 ),
27152719 timeout = request_options .get ("timeout_in_seconds" )
27162720 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2717- else 300 ,
2721+ else self . _client_wrapper . get_timeout () ,
27182722 retries = 0 ,
27192723 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
27202724 )
@@ -2840,7 +2844,7 @@ async def classify(
28402844 ),
28412845 timeout = request_options .get ("timeout_in_seconds" )
28422846 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2843- else 300 ,
2847+ else self . _client_wrapper . get_timeout () ,
28442848 retries = 0 ,
28452849 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
28462850 )
@@ -2939,7 +2943,7 @@ async def summarize(
29392943 ),
29402944 timeout = request_options .get ("timeout_in_seconds" )
29412945 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
2942- else 300 ,
2946+ else self . _client_wrapper . get_timeout () ,
29432947 retries = 0 ,
29442948 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
29452949 )
@@ -3002,7 +3006,7 @@ async def tokenize(
30023006 ),
30033007 timeout = request_options .get ("timeout_in_seconds" )
30043008 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
3005- else 300 ,
3009+ else self . _client_wrapper . get_timeout () ,
30063010 retries = 0 ,
30073011 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
30083012 )
@@ -3072,7 +3076,7 @@ async def detokenize(
30723076 ),
30733077 timeout = request_options .get ("timeout_in_seconds" )
30743078 if request_options is not None and request_options .get ("timeout_in_seconds" ) is not None
3075- else 300 ,
3079+ else self . _client_wrapper . get_timeout () ,
30763080 retries = 0 ,
30773081 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
30783082 )
0 commit comments