
    !IiK                       S SK Jr  S SKrS SKJrJrJr  S SKJrJ	r	  S SK
r
SSKJrJr  SSKJr  SSKJrJrJrJrJrJrJrJr  SS	KJrJr  SS
KJr  SSKJrJ r   SSK!J"r"J#r#  SSKJ$r$  SSK%J&r&J'r'J(r(  SSK)J*r*  SSK+J,r,  / SQr- " S S\'5      r. " S S\(5      r/ " S S5      r0 " S S5      r1 " S S5      r2 " S S5      r3\.r4\/r5g)    )annotationsN)AnyUnionMapping)Selfoverride   )
_constants_exceptionsQuerystring)	NOT_GIVENOmitHeadersTimeoutNotGiven	TransportProxiesTypesRequestOptions)is_givenget_async_library)__version__)modelscompletions)StreamAsyncStream)APIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)beta)messages)r   r   r   r   	AnthropicAsyncAnthropicClientAsyncClientc                    ^  \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   \R                  r\R                  rSSS\\	SSSSS.	                   SU 4S jjjr
\\S S j5       5       r\\S!S j5       5       r\S!S j5       r\S!S j5       r\\S"U 4S jj5       5       r\S#S j5       rSSS\S\SSSS0 S.                       S$S jjr\r\        S%S j5       rSrU =r$ )&r#   3   zcompletions.Completionsr   zmessages.Messagesr"   zmodels.Modelsr   z	beta.Betar!   AnthropicWithRawResponsewith_raw_responseAnthropicWithStreamedResponsewith_streaming_response
str | Noneapi_key
auth_tokenNF	r.   r/   base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationc       	        R  > Uc  [         R                  R                  S5      nXl        Uc  [         R                  R                  S5      nX l        Uc  [         R                  R                  S5      nUc  Sn[
        T
U ]  [        UUUUUUU	S9  [        U l	        [        R                  " U 5      U l
        [        R                  " U 5      U l        [        R                  " U 5      U l        [         R"                  " U 5      U l        [%        U 5      U l        [)        U 5      U l        g)a  Construct a new synchronous anthropic client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `ANTHROPIC_API_KEY`
- `auth_token` from `ANTHROPIC_AUTH_TOKEN`
NANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URLhttps://api.anthropic.comversionr1   r3   r2   r6   custom_headerscustom_queryr7   )osenvirongetr.   r/   super__init__r   r   _default_stream_clsr   Completionsr"   Messagesr   Modelsr!   Betar)   r*   r+   r,   selfr.   r/   r1   r2   r3   r4   r5   r6   r7   	__class__s             7/venv/lib/python3.13/site-packages/anthropic/_client.pyrE   Anthropic.__init__C   s    < ?jjnn%89G(>?J$zz~~&:;H2H##*&(C 	 		
 $* &2248 ))$/mmD)IIdO	!9$!?'DT'J$    c                    [        SS9$ Ncomma)array_formatr   rL   s    rN   qsAnthropic.qs        00rP   c                z    U R                   (       a  U R                   $ U R                  (       a  U R                  $ 0 $ N_api_key_auth_bearer_authrU   s    rN   auth_headersAnthropic.auth_headers   3     %%%$$$	rP   c                ,    U R                   nUc  0 $ SU0$ N	X-Api-Keyr.   rL   r.   s     rN   r\   Anthropic._api_key_auth        ,,?IW%%rP   c                2    U R                   nUc  0 $ SSU 30$ NAuthorizationzBearer r/   rL   r/   s     rN   r]   Anthropic._bearer_auth   (    __
I7:,!788rP   c                >   > 0 [         TU ]  ESSS.EU R                  E$ )Nfalse
2023-06-01zX-Stainless-Asynczanthropic-version)rD   r4   _custom_headersrL   rM   s    rN   r4   Anthropic.default_headers   s5    
g%
!(!-
 ""	
 	
rP   c                L   U R                   (       a  UR                  S5      (       a  g [        UR                  S5      [        5      (       a  g U R                  (       a  UR                  S5      (       a  g [        UR                  S5      [        5      (       a  g [        S5      eNrc   rj   z"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"r.   rC   
isinstancer   r/   	TypeErrorrL   headersr?   s      rN   _validate_headersAnthropic._validate_headers   {    <<GKK44n((5t<<??w{{?;;n((94@@ |
 	
rP   r.   r/   r1   r2   r6   r3   r4   set_default_headersr5   set_default_query_extra_kwargsc                  Ub  Ub  [        S5      eU	b  U
b  [        S5      eU R                  nUb  0 UEUEnOUb  UnU R                  nU	b  0 UEU	EnOU
b  U
nU=(       d    U R                  nU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  UUS.UD6$ zn
Create a new client instance re-using the same options given to the current client with optional overriding.
zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)r.   r/   r1   r2   r6   r3   r4   r5    
ValueErrorrs   _custom_query_clientrM   r.   r/   r1   ry   r   r2   r   r3   rL   r.   r/   r1   r2   r6   r3   r4   r   r5   r   r   r|   paramss                 rN   copyAnthropic.copy      $ &+>+Jopp$):)Fkll&&&44O4G ,)G##$00-0F*&F!1T\\~~ 

+t||!4T__.$.w$A$ADLLw#'/'<'<$BRBR# 

 

 
	
rP   c               f   UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R
                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S	:  a  [        R                  " XUS9$ [        XUS9$ 
Ni  )responsebodyi  i  i  i  i  i  i  status_coder   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorInternalServerErrorr   rL   err_msgr   r   s       rN   _make_status_errorAnthropic._make_status_error       3&..wPTUU3&227TXYY3&44WVZ[[3&,,WdSS3&,,WdSS3&77Y]^^3&--gtTT3&227TXYYgtDDrP   	rF   r.   r/   r!   r   r"   r   r*   r,   )r.   r-   r/   r-   r1   str | httpx.URL | Noner2   %Union[float, Timeout, None, NotGiven]r3   intr4   Mapping[str, str] | Noner5   Mapping[str, object] | Noner6   httpx.Client | Noner7   boolreturnNoner   r   r   zdict[str, str]r   zdict[str, str | Omit]r|   r   r?   r   r   r   )r.   r-   r/   r-   r1   r   r2   !float | Timeout | None | NotGivenr6   r   r3   int | NotGivenr4   r   r   r   r5   r   r   r   r   Mapping[str, Any]r   r   r   strr   objectr   zhttpx.Responser   r   __name__
__module____qualname____firstlineno____annotations__r
   HUMAN_PROMPT	AI_PROMPTr   r   rE   propertyr   rV   r^   r\   r]   r4   r}   r   with_optionsr   __static_attributes____classcell__rM   s   @rN   r#   r#   3   s^   ((
O//::  **L$$I
 #!%+/9B.4859 ,0 -2-=K =K 	=K
 )=K 7=K =K 2=K 3=K )=K, &*-=K. 
/=K =K~ 1  1    & & 9 9 
  
 
 
$ #!%+/5>+/&/488<599=+-/
 /
 	/

 )/
 3/
 )/
 $/
 2/
 6/
 3/
 7/
 )/
 
/
f LEE 	E
 !E 
E ErP   r#   c                    ^  \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   \R                  r\R                  rSSS\\	SSSSS.	                   SU 4S jjjr
\\S S j5       5       r\\S!S j5       5       r\S!S j5       r\S!S j5       r\\S"U 4S jj5       5       r\S#S j5       rSSS\S\SSSS0 S.                       S$S jjr\r\        S%S j5       rSrU =r$ )&r$   i  zcompletions.AsyncCompletionsr   zmessages.AsyncMessagesr"   zmodels.AsyncModelsr   zbeta.AsyncBetar!   AsyncAnthropicWithRawResponser*   "AsyncAnthropicWithStreamedResponser,   r-   r.   r/   NFr0   c       	        R  > Uc  [         R                  R                  S5      nXl        Uc  [         R                  R                  S5      nX l        Uc  [         R                  R                  S5      nUc  Sn[
        T
U ]  [        UUUUUUU	S9  [        U l	        [        R                  " U 5      U l
        [        R                  " U 5      U l        [        R                  " U 5      U l        [         R"                  " U 5      U l        [%        U 5      U l        [)        U 5      U l        g)zConstruct a new async anthropic client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `ANTHROPIC_API_KEY`
- `auth_token` from `ANTHROPIC_AUTH_TOKEN`
Nr9   r:   r;   r<   r=   )rA   rB   rC   r.   r/   rD   rE   r   r   rF   r   AsyncCompletionsr"   AsyncMessagesr   AsyncModelsr!   	AsyncBetar   r*   r   r,   rK   s             rN   rE   AsyncAnthropic.__init__  s    < ?jjnn%89G(>?J$zz~~&:;H2H##*&(C 	 		
 $/ &77= ..t4((.NN4(	!>t!D'I$'O$rP   c                    [        SS9$ rR   r   rU   s    rN   rV   AsyncAnthropic.qs^  rX   rP   c                z    U R                   (       a  U R                   $ U R                  (       a  U R                  $ 0 $ rZ   r[   rU   s    rN   r^   AsyncAnthropic.auth_headersc  r`   rP   c                ,    U R                   nUc  0 $ SU0$ rb   rd   re   s     rN   r\   AsyncAnthropic._api_key_authl  rg   rP   c                2    U R                   nUc  0 $ SSU 30$ ri   rk   rl   s     rN   r]   AsyncAnthropic._bearer_auths  rn   rP   c                T   > 0 [         TU ]  ES[        5        3SS.EU R                  E$ )Nzasync:rq   rr   )rD   r4   r   rs   rt   s    rN   r4   AsyncAnthropic.default_headersz  sA    
g%
#)*;*=)>!?!-
 ""	
 	
rP   c                L   U R                   (       a  UR                  S5      (       a  g [        UR                  S5      [        5      (       a  g U R                  (       a  UR                  S5      (       a  g [        UR                  S5      [        5      (       a  g [        S5      erw   rx   r{   s      rN   r}    AsyncAnthropic._validate_headers  r   rP   r   c                  Ub  Ub  [        S5      eU	b  U
b  [        S5      eU R                  nUb  0 UEUEnOUb  UnU R                  nU	b  0 UEU	EnOU
b  U
nU=(       d    U R                  nU R                  " SU=(       d    U R
                  U=(       d    U R                  U=(       d    U R                  [        U[        5      (       a  U R                  OUU[        U5      (       a  UOU R                  UUS.UD6$ r   r   r   s                 rN   r   AsyncAnthropic.copy  r   rP   c               f   UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R
                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S:X  a  [        R                  " XUS9$ UR                   S	:  a  [        R                  " XUS9$ [        XUS9$ r   r   r   s       rN   r   !AsyncAnthropic._make_status_error  r   rP   r   )r.   r-   r/   r-   r1   r   r2   r   r3   r   r4   r   r5   r   r6   httpx.AsyncClient | Noner7   r   r   r   r   r   r   r   )r.   r-   r/   r-   r1   r   r2   r   r6   r   r3   r   r4   r   r   r   r5   r   r   r   r   r   r   r   r   r   r   s   @rN   r$   r$     s_   --$$
44??  **L$$I
 #!%+/9B.4859 15 -2-=P =P 	=P
 )=P 7=P =P 2=P 3=P .=P, &*-=P. 
/=P =P~ 1  1    & & 9 9 
  
 
 
$ #!%+/5>04&/488<599=+-/
 /
 	/

 )/
 3/
 ./
 $/
 2/
 6/
 3/
 7/
 )/
 
/
f LEE 	E
 !E 
E ErP   r$   c                      \ rS rSrSS jrSrg)r)   i  c                ,   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        g rZ   )r   CompletionsWithRawResponser"   MessagesWithRawResponser   ModelsWithRawResponser!   BetaWithRawResponserL   clients     rN   rE   !AnthropicWithRawResponse.__init__  s]    &AA&BTBTU 88I226==A,,V[[9	rP   r!   r   r"   r   Nr   r#   r   r   r   r   r   r   rE   r   r   rP   rN   r)   r)     s    :rP   r)   c                      \ rS rSrSS jrSrg)r   i  c                ,   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        g rZ   )r   AsyncCompletionsWithRawResponser"   AsyncMessagesWithRawResponser   AsyncModelsWithRawResponser!   AsyncBetaWithRawResponser   s     rN   rE   &AsyncAnthropicWithRawResponse.__init__  s]    &FFvGYGYZ ==fooN77F11&++>	rP   r   Nr   r$   r   r   r   r   rP   rN   r   r     s    ?rP   r   c                      \ rS rSrSS jrSrg)r+   i  c                ,   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        g rZ   )r    CompletionsWithStreamingResponser"   MessagesWithStreamingResponser   ModelsWithStreamingResponser!   BetaWithStreamingResponser   s     rN   rE   &AnthropicWithStreamedResponse.__init__  s]    &GGHZHZ[ >>vO88G226;;?	rP   r   Nr   r   r   rP   rN   r+   r+     s    @rP   r+   c                      \ rS rSrSS jrSrg)r   i  c                ,   [         R                  " UR                   5      U l         [        R                  " UR                  5      U l        [        R
                  " UR                  5      U l        [        R                  " UR                  5      U l        g rZ   )r   %AsyncCompletionsWithStreamingResponser"   "AsyncMessagesWithStreamingResponser    AsyncModelsWithStreamingResponser!   AsyncBetaWithStreamingResponser   s     rN   rE   +AsyncAnthropicWithStreamedResponse.__init__  s]    &LLVM_M_` CCFOOT==fmmL77D	rP   r   Nr   r   r   rP   rN   r   r     s    ErP   r   )6
__future__r   rA   typingr   r   r   typing_extensionsr   r   httpx r
   r   _qsr   _typesr   r   r   r   r   r   r   r   _utilsr   r   _versionr   	resourcesr   r   
_streamingr   r   r   _base_clientr   r   r    resources.betar!   resources.messagesr"   __all__r#   r$   r)   r   r+   r   r%   r&   r   rP   rN   <module>r     s    # 	 & & ,  % 	 	 	 " * D ' 
 ! (	YE YExYE^ YEx: :? ?@ @E E 
rP   