@@ -54,7 +54,7 @@ class BaseClient:
5454 def _configure (
5555 self ,
5656 * ,
57- access_token : str | None ,
57+ pat : str | None ,
5858 base_url : str | httpx .URL | None ,
5959 timeout : float | httpx .Timeout | None ,
6060 max_retries : int ,
@@ -64,7 +64,7 @@ def _configure(
6464 ) -> None :
6565 if not isinstance (max_retries , int ) or isinstance (max_retries , bool ) or max_retries < 0 :
6666 raise ValueError ("max_retries must be a non-negative integer" )
67- self .access_token = access_token if access_token is not None else os .environ .get ("QODER_PAT" )
67+ self .pat = pat if pat is not None else os .environ .get ("QODER_PAT" )
6868 self .credential = credential
6969 self .base_url = httpx .URL (base_url or os .environ .get (self ._base_url_env ) or self ._default_base_url )
7070 if self .base_url .scheme not in ("http" , "https" ) or not self .base_url .host or self .base_url .userinfo :
@@ -80,7 +80,7 @@ def _configure(
8080
8181 def _copy (self , * , raw : bool = False , streaming : bool = False , ** overrides : Any ) -> Self :
8282 options = dict (
83- access_token = self .access_token ,
83+ pat = self .pat ,
8484 base_url = self .base_url ,
8585 timeout = self .timeout ,
8686 max_retries = self .max_retries ,
@@ -98,16 +98,14 @@ def _copy(self, *, raw: bool = False, streaming: bool = False, **overrides: Any)
9898 def with_options (
9999 self ,
100100 * ,
101- access_token : str | NotGiven = NOT_GIVEN ,
101+ pat : str | NotGiven = NOT_GIVEN ,
102102 base_url : str | httpx .URL | NotGiven = NOT_GIVEN ,
103103 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
104104 max_retries : int | NotGiven = NOT_GIVEN ,
105105 default_headers : Mapping [str , str ] | NotGiven = NOT_GIVEN ,
106106 default_query : Mapping [str , Any ] | NotGiven = NOT_GIVEN ,
107107 ) -> Self :
108- values : dict [str , Any ] = dict (
109- access_token = access_token , base_url = base_url , timeout = timeout , max_retries = max_retries
110- )
108+ values : dict [str , Any ] = dict (pat = pat , base_url = base_url , timeout = timeout , max_retries = max_retries )
111109 if not isinstance (default_headers , NotGiven ):
112110 values ["default_headers" ] = {** self .default_headers , ** default_headers }
113111 if not isinstance (default_query , NotGiven ):
@@ -243,7 +241,7 @@ class SyncAPIClient(BaseClient):
243241 def __init__ (
244242 self ,
245243 * ,
246- access_token : str | None = None ,
244+ pat : str | None = None ,
247245 base_url : str | httpx .URL | None = None ,
248246 timeout : float | httpx .Timeout | None = DEFAULT_TIMEOUT ,
249247 max_retries : int = 2 ,
@@ -253,7 +251,7 @@ def __init__(
253251 credential : Credential | None = None ,
254252 ) -> None :
255253 self ._configure (
256- access_token = access_token ,
254+ pat = pat ,
257255 base_url = base_url ,
258256 timeout = timeout ,
259257 max_retries = max_retries ,
@@ -270,12 +268,7 @@ def _send(self, request: httpx.Request, *, storage: bool = False) -> httpx.Respo
270268 for attempt in range (self .max_retries + 1 ):
271269 if track_retries and attempt :
272270 request .headers ["X-Qoder-Retry-Count" ] = str (attempt )
273- if (
274- not storage
275- and self .credential
276- and not self .access_token
277- and "Authorization" not in self .default_headers
278- ):
271+ if not storage and self .credential and not self .pat and "Authorization" not in self .default_headers :
279272 # Dynamic credentials can rotate between retries. Explicit request
280273 # headers still take priority and are marked by request().
281274 if not request .extensions .get ("qca_explicit_auth" ):
@@ -315,7 +308,7 @@ def request(
315308 download_link : bool = False ,
316309 file_fields : list [str ] | None = None ,
317310 ) -> Any :
318- args = self ._request_args (method , path , options , self .access_token , file_fields )
311+ args = self ._request_args (method , path , options , self .pat , file_fields )
319312 if stream :
320313 args ["headers" ]["Accept" ] = "text/event-stream"
321314 request = self ._client .build_request (** args )
@@ -361,7 +354,7 @@ class AsyncAPIClient(BaseClient):
361354 def __init__ (
362355 self ,
363356 * ,
364- access_token : str | None = None ,
357+ pat : str | None = None ,
365358 base_url : str | httpx .URL | None = None ,
366359 timeout : float | httpx .Timeout | None = DEFAULT_TIMEOUT ,
367360 max_retries : int = 2 ,
@@ -371,7 +364,7 @@ def __init__(
371364 credential : Credential | AsyncCredential | None = None ,
372365 ) -> None :
373366 self ._configure (
374- access_token = access_token ,
367+ pat = pat ,
375368 base_url = base_url ,
376369 timeout = timeout ,
377370 max_retries = max_retries ,
@@ -388,12 +381,7 @@ async def _send(self, request: httpx.Request, *, storage: bool = False) -> httpx
388381 for attempt in range (self .max_retries + 1 ):
389382 if track_retries and attempt :
390383 request .headers ["X-Qoder-Retry-Count" ] = str (attempt )
391- if (
392- not storage
393- and self .credential
394- and not self .access_token
395- and not request .extensions .get ("qca_explicit_auth" )
396- ):
384+ if not storage and self .credential and not self .pat and not request .extensions .get ("qca_explicit_auth" ):
397385 token = self .credential .get_token ()
398386 if inspect .isawaitable (token ):
399387 token = await token
@@ -436,10 +424,10 @@ async def request(
436424 if file_fields :
437425 # Reading local file objects should not block the event loop.
438426 args = await anyio .to_thread .run_sync (
439- lambda : self ._request_args (method , path , options , self .access_token , file_fields )
427+ lambda : self ._request_args (method , path , options , self .pat , file_fields )
440428 )
441429 else :
442- args = self ._request_args (method , path , options , self .access_token , None )
430+ args = self ._request_args (method , path , options , self .pat , None )
443431 if stream :
444432 args ["headers" ]["Accept" ] = "text/event-stream"
445433 request = self ._client .build_request (** args )
0 commit comments