
    9i)                        S SK rS SKrS SKrS SKrS SKJr  S SKJrJ	r	  S SK
Jr  S SKJr  SSKJr  \R                   " S5      r1 S	kr/ S
Qr " S S\5      rS rS r\" 5       rS+S jr\" 5       r\" SS9rS r\" 5       S+S j5       rSS.S jrS rS r \" 5       S 5       r!SSS.S jr"SS.S jr#S r$S r%S r&S  r'S! r(S" r)S# r*S$ r+S,S% jr,S,S& jr-S' r.S( r/S) r0S* r1g)-    N)defaultdict)	lru_cachewraps)Requirement)Version   )loggingzG(?:;|and)*[ \t]*extra[ \t]*==[ \t]*['\"]([a-z0-9]+(?:-[a-z0-9]+)*)['\"]>   allbaseplugins)zfastdeploy-serverzvllm-serverzsglang-serverc                       \ rS rSrSrg)DependencyError#    N)__name__
__module____qualname____firstlineno____static_attributes__r       R/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddlex/utils/deps.pyr   r   #   s    r   r   c                     [         R                  U 5      nU(       a7  UR                  S5      U S UR                  5        XR	                  5       S  -   4$ S U 4$ )Nr   )_EXTRA_PATTERNsearchgroupstartend)dep_specms     r   '_get_extra_name_and_remove_extra_markerr    '   sO    h'Awwqz8Kaggi08EEGI3FFFFX~r   c                     [         R                  R                  S5      n 0 nU R                  S/ 5       H   nU[        ;  d  M  [	        [
        5      X'   M"     [         R                  R                  S5       Hh  n[        U5      u  pCUc  M  U[        ;  d  M!  UR                  5       n[        U5      nXA;   d   U5       eX   UR                     R                  U5        Mj     U$ )NpaddlexzProvides-Extra)	importlibmetadataget_all_COLLECTIVE_EXTRA_NAMESr   listrequiresr    rstripr   nameappend)r$   extrasr*   r   
extra_namereqs         r   _get_extrasr/   0   s    !!**95HF  !126..&t,FL 7 &&//	:FxP
!j8O&O(Hh'C'33'sxx(//9 ; Mr   c                 6   [        [        5      n[        R                  R	                  S5       Hf  n[        U5      u  p2U (       a  Ub  U (       a  M#  Ub  US:X  d  M.  UR                  5       n[        U5      nXR                     R                  U5        Mh     U$ )Nr"   r   )
r   r'   r#   r$   r(   r    r)   r   r*   r+   )required_only	dep_specsr   r-   r.   s        r   _get_base_dep_specsr3   D   s    D!I&&//	:FxP
j0:#5v9M(Hh'Chh&&x0 ; r   T)r1   c                      [         R                  R                  U 5      $ ! [         R                  R                   a     g f = fN)r#   r$   versionPackageNotFoundError)deps    r   get_dep_versionr9   U   s<    !!))#..22 s   ! AAc                ,   U S;   a  U(       a  [        S5      eU S:X  a!  [        R                  R                  S5      S L$ U S:X  a!  [        R                  R                  S5      S L$ U S:X  a!  [        R                  R                  S5      S L$ U S	:X  a!  [        R                  R                  S	5      S L$ [	        U 5      nUc  g
U(       aJ  U [
        ;  a  [        S5      e[
        U     H'  n[        U5      [        U5      R                  ;   d  M'    g   g g)N)paddlepaddlepaddle-custom-deviceultra-infer
fastdeployzx`check_version` is not allowed to be `True` for `paddlepaddle`, `paddle-custom-device`, `ultra-infer`, and `fastdeploy`.r;   paddler<   paddle_custom_devicer=   ultra_inferr>   FzHCurrently, `check_version=True` is supported only for base dependencies.T)	
ValueErrorr#   util	find_specr9   BASE_DEP_SPECSr   r   	specifier)r8   check_versionr6   r   s       r   is_dep_availablerH   \   s    	TT G
 	
 n~~''1==	&	&~~''(>?tKK		~~''6dBB		~~''5TAAc"Gn$Z  's+Hw;x#8#B#BB , r   )obj_namec                     U Vs/ s H  n[        U5      (       a  M  UPM     nn[        U5      S:  a.  U b  SU  S3nOSnUSSR                  U5      -   -  n[        U5      eg s  snf )Nr   `z#` is not ready for use, because theThez+ following dependencies are not available:

)rH   lenjoinr   )rI   depsr8   unavailable_depsmsgs        r   require_depsrS   }   s    '+It3CC3HtI
q hZBCCC=		A
 
 	
 c"" ! Js
   A#A#c                     ^  U 4S jnU$ )Nc                 R   >^  [        T 5      U 4S j5       n[        T5      T l        U$ )Nc                  R   > [        TR                  STR                  06  T" U 0 UD6$ NrI   rS   _deps_r   )argskwargsfuncs     r   _wrapper7function_requires_deps.<locals>._deco.<locals>._wrapper   s(    $++>>(((r   )r   setrY   )r\   r]   rP   s   ` r   _deco%function_requires_deps.<locals>._deco   s+    	t	) 
	) $ir   r   rP   r`   s   ` r   function_requires_depsrc      s     Lr   c                     ^  U 4S jnU$ )Nc                 r  >^ ^ [        T R                  5      U U4S j5       n[        T5      T l        [        R
                  " T 5      SS  H;  n[        US5      (       d  M  T R                  R                  UR                  5        M=     ST R                  ;   a  T R                  mOU 4S jnUmUT l        T $ )Nc                 Z   > [        TR                  STR                  06  T" U /UQ70 UD6$ rW   rX   )selfrZ   r[   clsold_init_funcs      r   r]   4class_requires_deps.<locals>._deco.<locals>._wrapper   s-    #**<s||< 7777r   r   rY   __init__c                 $   > [         TU ]  " U0 UD6$ r5   )superrl   )rg   rZ   r[   rh   s      r   _forward4class_requires_deps.<locals>._deco.<locals>._forward   s    S$0$A&AAr   )	r   rl   r_   rY   inspectgetmrohasattrupdate__dict__)rh   r]   base_clsro   ri   rP   s   `   @r   r`   "class_requires_deps.<locals>._deco   s    	s||		8 
	8 Y
s+Ab1Hx**

!!(//2 2 %LLMB %M
r   r   rb   s   ` r   class_requires_depsrx      s    * Lr   c           	         [         U     Vs/ s H  n[        U5      PM     nn[        U5      (       a  g[        R                  " S[        [         U    U5       VVs/ s H  u  p4U(       a  M  UPM     snn5        gs  snf s  snnf )NTz(These dependencies are not available: %sF)EXTRASrH   r
   r	   debugzip)extrar8   flagsdfs        r   is_extra_availabler      sm    .4Um<msc"mE<
5zzMM26%=%0:0tq0:  =
 	;s   A;B ,B rI   altc                    [        U 5      (       d  Ub  [        U5      (       a  g Ub  SU S3nOSnUSU  SU  S3-  nUb	  USU S3-  n[        U5      e)	NrK   z#` requires additional dependencies.z%Additional dependencies are required.z, To install them, run `pip install "paddlex[ul   ]==<PADDLEX_VERSION>"` if you’re installing `paddlex` from an index, or `pip install -e "/path/to/PaddleX[u-   ]"` if you’re installing `paddlex` locally.z) Alternatively, you can install `paddlex[z]` instead.)r   r   )r}   rI   r   rR   s       r   require_extrar      s    %  S_9KC9P9P(>?59%  Am  ns  mt  ta  b  bC
:3%{KK
#
r   )r   c                   ^ ^ UU 4S jnU$ )Nc                    >^^ [        U R                  5      UUUU4S j5       nU R                  mU R                  m[        T[        5      (       a  [        T5      S:X  d   T5       eTS   mXl        U $ )Nc                 2   > [        TTTS9  T" U /UQ70 UD6$ )Nr   )r   )rg   rZ   r[   r   r}   ri   pipeline_names      r   r]   8pipeline_requires_extra.<locals>._deco.<locals>._wrapper   s$    %-SA 7777r   r   r   )r   rl   entities
isinstancer'   rN   )pipeline_clsr]   ri   r   r   r}   s     @@r   r`   &pipeline_requires_extra.<locals>._deco   ss    	|$$	%	8 
&	8 %--$--mT**}%*9M9*)!,M (r   r   )r}   r   r`   s   `` r   pipeline_requires_extrar      s     Lr   c                      [        S5      $ )Nr=   rH   r   r   r   is_hpip_availabler          M**r   c                  8    [        5       (       d  [        S5      eg )NzSThe high-performance inference plugin is not available. Please install it properly.)r   r   r   r   r   require_hpipr      s     a
 	
 r   c                      [        S5      $ Nservingr   r   r   r   is_serving_plugin_availabler      s    i((r   c                  8    [        5       (       d  [        S5      eg )Nz@The serving plugin is not available. Please install it properly.)r   r   r   r   r   require_serving_pluginr      s     &((N
 	
 )r   c                  N    / n [         S   R                  5        H  nX-  n M	     U $ r   rz   valuesr2   items     r   get_serving_dep_specsr      s-    Iy!((*	 +r   c                      [        S5      $ Npaddle2onnxr   r   r   r   is_paddle2onnx_plugin_availabler      r   r   c                  8    [        5       (       d  [        S5      eg )NzDThe Paddle2ONNX plugin is not available. Please install it properly.)r   r   r   r   r   require_paddle2onnx_pluginr      s     *,,R
 	
 -r   c                  N    / n [         S   R                  5        H  nX-  n M	     U $ r   r   r   s     r   get_paddle2onnx_dep_specsr     s-    I}%,,.	 /r   c                 4   U S:w  a  U [         ;  a  [        SU  35      eU S:X  a   [          H  n[        U5      (       d  M    g   gSU ;   a  [        S5      $ [	        SU  35      (       a0  SSKJn  U" 5       (       a  [        S	5      =(       a    [        S
5      $ gg)NanyzUnknown backend type: TFr>   genai-r   )is_cuda_availablexformersz
flash-attn) _SUPPORTED_GENAI_ENGINE_BACKENDSrB    is_genai_engine_plugin_availablerH   r   envr   )backendber   s      r   r   r   
  s    %G+KK1';<<%2B/33 3 7"#L11&	 233. ""'
3V8H8VVr   c                 p    [        U 5      (       d&  U S:X  a  SnOS[        U 5       S3n[        U S35      eg )Nr   z$The generative AI engine plugins arezThe generative AI z engine plugin isz+ not available. Please install it properly.)r   reprRuntimeError)r   prefixs     r   require_genai_engine_pluginr     sE    +G44e;F)$w-8IJFfX%PQRR 5r   c                      [        S5      $ )Nzgenai-clientr   r   r   r    is_genai_client_plugin_availabler   '  s    n--r   c                  8    [        5       (       d  [        S5      eg )NzMThe generative AI client plugin is not available. Please install it properly.)r   r   r   r   r   require_genai_client_pluginr   +  s     +--[
 	
 .r   c                 F    SnX;  a  [        SU  35      eU S:X  a  g[        e)N)gpuzUnsupported device type: r   zfastdeploy-gpu == 2.3.0)rB   AssertionError)device_typeSUPPORTED_DEVICE_TYPESs     r   get_genai_fastdeploy_specr   2  s2    %04[MBCCe(r   c                     U S:w  a  U [         ;  a  [        SU  35      eSU ;   a  [        [        U 5       S35      e/ n[        SU  3   R	                  5        H  nX-  nM	     U$ )NclientzInvalid type: r>   z is not supportedr   )r   rB   r   rz   r   )typer2   r   s      r   get_genai_dep_specsr   <  st    xD(HH>$011tDJ<'89::Iv'..0	 1r   )F)r   )2importlib.metadatar#   importlib.utilrq   recollectionsr   	functoolsr   r   packaging.requirementsr   packaging.versionr    r	   compiler   r&   r   	Exceptionr   r    r/   rz   r3   rE   REQUIRED_DEP_SPECSr9   rH   rS   rc   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s      	 # & . % N 5 #X  	i 	" 

 %&(t<   @ "& 
#
2   &*t 
 +/ $+
)
+
(S.
	r   