@@ -116,15 +116,13 @@ def __init__( # noqa: PLR0913
116116 server : str ,
117117 base_url : str ,
118118 api_key : str ,
119- timeout_seconds : int ,
120119 retries : int ,
121120 retry_policy : RetryPolicy ,
122121 cache : HTTPCache | None = None ,
123122 ) -> None :
124123 self .server = server
125124 self .base_url = base_url
126125 self .api_key = api_key
127- self .timeout_seconds = timeout_seconds
128126 self .retries = retries
129127 self .retry_policy = retry_policy
130128 self .cache = cache
@@ -238,6 +236,8 @@ def _validate_response(
238236 raise OpenMLServerError (f"URI too long! ({ url } )" )
239237
240238 retry_raise_e : Exception | None = None
239+ code : int | None = None
240+ message : str = ""
241241
242242 try :
243243 code , message = self ._parse_exception_response (response )
@@ -276,26 +276,25 @@ def _validate_response(
276276
277277 def _request ( # noqa: PLR0913
278278 self ,
279+ session : requests .Session ,
279280 method : str ,
280281 url : str ,
281282 params : Mapping [str , Any ],
282283 data : Mapping [str , Any ],
283284 headers : Mapping [str , str ],
284- timeout : float | int ,
285285 files : Mapping [str , Any ] | None ,
286286 ** request_kwargs : Any ,
287287 ) -> tuple [Response | None , Exception | None ]:
288288 retry_raise_e : Exception | None = None
289289 response : Response | None = None
290290
291291 try :
292- response = requests .request (
292+ response = session .request (
293293 method = method ,
294294 url = url ,
295295 params = params ,
296296 data = data ,
297297 headers = headers ,
298- timeout = timeout ,
299298 files = files ,
300299 ** request_kwargs ,
301300 )
@@ -343,7 +342,6 @@ def request(
343342 headers = request_kwargs .pop ("headers" , {}).copy ()
344343 headers .update (self .headers )
345344
346- timeout = request_kwargs .pop ("timeout" , self .timeout_seconds )
347345 files = request_kwargs .pop ("files" , None )
348346
349347 if use_cache and not reset_cache and self .cache is not None :
@@ -355,14 +353,15 @@ def request(
355353 except Exception :
356354 raise # propagate unexpected cache errors
357355
356+ session = requests .Session ()
358357 for retry_counter in range (1 , retries + 1 ):
359358 response , retry_raise_e = self ._request (
359+ session = session ,
360360 method = method ,
361361 url = url ,
362362 params = params ,
363363 data = data ,
364364 headers = headers ,
365- timeout = timeout ,
366365 files = files ,
367366 ** request_kwargs ,
368367 )
@@ -377,6 +376,8 @@ def request(
377376 delay = self .retry_func (retry_counter )
378377 time .sleep (delay )
379378
379+ session .close ()
380+
380381 assert response is not None
381382
382383 if use_cache and self .cache is not None :
0 commit comments