
    =pj                        % S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
JrJrJr  SSKJr  SSKJr  \S	   rS
\S'   \" \	\S4   \" \5      5      rS\S'    " S S\
SS9r\4     SS jjr\4     SS jjrg)zPModel file paths and format resolution for inference model directory convention.    )annotations)PathLike)Path)LiteralTuple	TypedDictUnioncastget_args)	TypeAlias   )MODEL_FILE_PREFIX)paddleonnxom
paddle_dynsafetensorsr   LocalModelFormat.zTuple[LocalModelFormat, ...]LOCAL_MODEL_FORMATSc                  L    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S\S	'   S
rg)
ModelPaths(   z7Resolved local model files keyed by `LocalModelFormat`.zTuple[Path, Path]r   r   r   r   r   r    N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       f/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddlex/inference/models/utils/model_paths.pyr   r   (   s!    A
JHr!   r   F)totalc                T   [        U 5      n 0 nS nX S3-  R                  5       (       a  X S3-  nO!X S3-  R                  5       (       a  X S3-  nU(       a&  X S3-  R                  5       (       a  UX S3-  4US'   X S3-  R                  5       (       a
  X S3-  US'   X S3-  R                  5       (       a
  X S3-  US'   U S	-  R                  5       (       a  U S	-  US
'   U S-  R                  5       (       a  U S-  US
'   U S-  R                  5       (       a  U S-  US'   U$ )Nz.jsonz.pdmodelz
.pdiparamsr   z.onnxr   z.omr   zmodel_state.pdparamsr   zinference.pdparamszmodel.safetensorsr   )r   exists)	model_dirmodel_file_prefixmodel_pathspd_model_paths       r"   get_model_pathsr*   2   sy    YI KM)//7799!&9$??
+84
4	<	<	>	>!&9$BB)(;:&FFNNPP-Z88!
H 	)//7799',?u*EEF)--5577%*=S(AAD**2244$-0F$FL!((0022$-0D$DL!''//11%.1D%DM"r!   c                X    [        [        U 5      U5      nSU;   a  gSU;   a  gSU;   a  gg)zResolve paddle_static vs paddle_dynamic from actual model files.

Returns:
    "paddle_static", "paddle_dynamic", or None if no paddle model files found.
r   paddle_staticr   paddle_dynamicr   N)r*   r   )r&   r'   pathss      r"   &resolve_paddle_engine_from_model_filesr/   O   s9     DO->?E5ur!   N)r&   zUnion[str, PathLike]r'   strreturnr   )r&   zUnion[str, PathLike, Path]r'   r0   r1   z
str | None)r   
__future__r   osr   pathlibr   typingr   r   r   r	   r
   r   typing_extensionsr   	constantsr   r   r   r   r   r*   r/   r   r!   r"   <module>r8      s    W "   C C ' +% )  59	
C
 (+;"<5 1 
%  /# > /) r!   