
    MiI                         S SK r S SKJrJrJr  S SKrS SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr   " S S	\5      r\" 5       rg)
    N)CallableDictOptional)find_dotenv)computed_field)BaseSettings)Path)user_cache_dirc                      \ rS rSr% Sr\\   \S'   Sr\	\S'   Sr
\	\S'   Sr\\S	'   S
r\\S'   Sr\\S'   Sr\\S'   Sr\	\S'   \" \" \" S5      5      S-  5      r\\S'   Sr\\S'   Sr\\S'   Sr\\S'   \R0                  R3                  \R0                  R3                  \R0                  R5                  \5      5      5      r\\S'   \R0                  R;                  \SS5      r\\S'   \S\4S j5       r Sr!\\	   \S '   S!r"\\S"'   S#r#\\S$'   S%r$\	\S&'   S'r%\&\S('   S)r'\&\S*'   \(" S+\RR                  " 5       5      r*\	\S,'   S-r+\	\S.'   S/r,\&\S0'   Sr-\\S1'   S2r.\\S3'   Sr/\\S4'   Sr0\\	   \S5'   Sr1\\	   \S6'   S7r2\	\S8'   Sr3\\S9'   S:r4\&\S;'   S2r5\\S<'   Sr6\\	   \S='   \R0                  R;                  \S>5      \R0                  R;                  \S?5      \R0                  R;                  \S?5      \R0                  R;                  \S?5      S@.r7\8\\4   \SA'   SBr9\\SC'   SDr:\\SE'   SFr;\	\SG'   SHr<\\SI'   SJSJSK.r=\8\SL'   SMSMSK.r>\8\SN'   SOSOSK.r?\8\SP'   Sr@\\	   \SQ'   SRrA\\SS'   STrB\	\SU'   SrC\\SV'   SRrA\\SS'   SWrD\\SX'   SYrE\\SZ'   SJSJSK.rF\8\S['   S\rG\	\S]'   SrH\\	   \S^'   S_rI\\S`'   SrJ\\Sa'   SbrK\\Sc'   SdrL\\Se'   SrM\\	   \Sf'   SrN\\Sg'   SrO\\   \Sh'   SrP\\Si'   \S\4Sj j5       rQ\S\4Sk j5       rR\S\4Sl j5       rS\S\4Sm j5       rT\S\4Sn j5       rU\S\4So j5       rV\S\WR                  4Sp j5       rY\S\WR                  4Sq j5       rZ\S\[4Sr j5       r\ " Ss St5      r]Sur^g)vSettings   NTORCH_DEVICE`   	IMAGE_DPI   IMAGE_DPI_HIGHRESFIN_STREAMLITTFLATTEN_PDFDISABLE_TQDMzhttps://models.datalab.toS3_BASE_URL
   PARALLEL_DOWNLOAD_WORKERSdatalabmodelsMODEL_CACHE_DIRINFOLOGLEVELdataDATA_DIRresults
RESULT_DIRBASE_DIRstaticfontsFONT_DIRreturnc                 B   U R                   b  U R                   $ [        R                  R                  5       (       a  g[        R                  R
                  R                  5       (       a  g SS Kn[        UR                  5       5      S:  a  g g! [         a     gf = f)Ncudampsr   xlacpu)
r   torchr(   is_availablebackendsr)   	torch_xlalendevices	Exception)selfr/   s     h/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/surya/settings.pyTORCH_DEVICE_MODELSettings.TORCH_DEVICE_MODEL!   s    ($$$::""$$>>**,,	9$$&'!+ ,
   		s   -!B 
BBDETECTOR_BATCH_SIZEzs3://text_detection/2025_05_07DETECTOR_MODEL_CHECKPOINTzvikp/doclaynet_benchDETECTOR_BENCH_DATASET_NAMEix  DETECTOR_IMAGE_CHUNK_HEIGHTg333333?DETECTOR_TEXT_THRESHOLDgffffff?DETECTOR_BLANK_THRESHOLD   #DETECTOR_POSTPROCESSING_CPU_WORKERS   DETECTOR_MIN_PARALLEL_THRESHg?DETECTOR_BOX_Y_EXPAND_MARGINCOMPILE_DETECTORz s3://text_recognition/2025_09_23FOUNDATION_MODEL_CHECKPOINTFOUNDATION_MODEL_QUANTIZEFOUNDATION_MAX_TOKENSFOUNDATION_CHUNK_SIZE   FOUNDATION_PAD_TO_NEARESTCOMPILE_FOUNDATIONg?%FOUNDATION_MULTI_TOKEN_MIN_CONFIDENCERECOGNITION_MODEL_CHECKPOINTRECOGNITION_BATCH_SIZEzGoNotoCurrent-Regular.ttfzGoNotoCJKCore.ttf)allzhjakoRECOGNITION_RENDER_FONTSzBhttps://github.com/satbyy/go-noto-universal/releases/download/v7.0RECOGNITION_FONT_DL_BASEzvikp/rec_benchRECOGNITION_BENCH_DATASET_NAME   RECOGNITION_PAD_VALUEzs3://layout/2025_09_23LAYOUT_MODEL_CHECKPOINTi   )heightwidthLAYOUT_IMAGE_SIZEi  LAYOUT_SLICE_MINi  LAYOUT_SLICE_SIZELAYOUT_BATCH_SIZEzvikp/publaynet_benchLAYOUT_BENCH_DATASET_NAMEd   LAYOUT_MAX_BOXESCOMPILE_LAYOUTzvikp/order_benchORDER_BENCH_DATASET_NAMEz!s3://table_recognition/2025_02_18TABLE_REC_MODEL_CHECKPOINTTABLE_REC_IMAGE_SIZE   TABLE_REC_MAX_BOXESTABLE_REC_BATCH_SIZEzdatalab-to/fintabnet_benchTABLE_REC_BENCH_DATASET_NAMECOMPILE_TABLE_RECzdatalab-to/texify_benchTEXIFY_BENCHMARK_DATASETz#s3://ocr_error_detection/2025_02_18OCR_ERROR_MODEL_CHECKPOINTOCR_ERROR_BATCH_SIZECOMPILE_OCR_ERRORTESSDATA_PREFIXCOMPILE_ALLc                 l    U R                   =(       d"    U R                  =(       d    U R                  S:H  $ Nr*   )rn   rB   r5   r3   s    r4   DETECTOR_STATIC_CACHESettings.DETECTOR_STATIC_CACHE   s3      0$$0&&%/	
    c                 l    U R                   =(       d"    U R                  =(       d    U R                  S:H  $ rp   )rn   r`   r5   rq   s    r4   LAYOUT_STATIC_CACHESettings.LAYOUT_STATIC_CACHE   s.     W 3 3Wt7N7NRW7W	
rt   c                      U R                   S:H  $ rp   )r5   rq   s    r4   FOUNDATION_XLASettings.FOUNDATION_XLA   s     ##u,	
rt   c                 l    U R                   =(       d"    U R                  =(       d    U R                  S:H  $ rp   )rn   rI   r5   rq   s    r4   FOUNDATION_STATIC_CACHE Settings.FOUNDATION_STATIC_CACHE   s3      0&&0&&%/	
rt   c                 l    U R                   =(       d"    U R                  =(       d    U R                  S:H  $ rp   )rn   rh   r5   rq   s    r4   TABLE_REC_STATIC_CACHESettings.TABLE_REC_STATIC_CACHE   3      0%%0&&%/	
rt   c                 l    U R                   =(       d"    U R                  =(       d    U R                  S:H  $ rp   )rn   rl   r5   rq   s    r4   OCR_ERROR_STATIC_CACHESettings.OCR_ERROR_STATIC_CACHE   r   rt   c                     U R                   S:X  a  [        R                  $ U R                   S:X  a  [        R                  $ [        R                  $ )Nr+   r*   )r5   r,   float32bfloat16float16rq   s    r4   MODEL_DTYPESettings.MODEL_DTYPE   s<    ""e+== ""e+>>!}}rt   c                     U R                   S:X  a  [        R                  $ U R                   S:X  a  [        R                  $ [        R                  $ )Nr+   r)   )r5   r,   r   r   rq   s    r4   MODEL_DTYPE_BFLOATSettings.MODEL_DTYPE_BFLOAT   s<    ""e+== ""e+>>!~~rt   c                 b    U R                   S:X  a  [        R                  $ [        R                  $ rp   )r5   r,   no_gradinference_moderq   s    r4   INFERENCE_MODESettings.INFERENCE_MODE   s&    ""e+== ###rt   c                   (    \ rS rSr\" S5      rSrSrg)Settings.Config   z	local.envignore N)__name__
__module____qualname____firstlineno__r   env_fileextra__static_attributes__r   rt   r4   Configr      s    {+rt   r   r   )_r   r   r   r   r   r   str__annotations__r   intr   r   boolr   r   r   r   r	   r
   r   r   r   r!   ospathdirnameabspath__file__r"   joinr%   r   r5   r7   r8   r9   r:   r;   floatr<   min	cpu_countr>   r@   rA   rB   rC   rD   rE   rF   rH   rI   rJ   rK   rL   rQ   r   rR   rS   rU   rV   rY   rZ   r[   r\   r]   r_   r`   ra   rb   rc   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   rr   rv   ry   r|   r   r   r,   dtyper   r   r   r   r   r   r   rt   r4   r   r      s   "&L(3-&Is s L$KL$2K2
 s  tN9$=>IJOSJHc HcJGGOOBGGOOBGGOOH4M$NOHcOGGLL8W=Hc=C  * *.#-%EsE'==    	 U  	 e  03	2<<>0'  	
 !#  	 !%  #d" (JI&+t++/8C=/+/8C=/%(s($$36)56(J #J HSM  ww||H&ABggll8%89ggll8%89ggll8%89	0d38n  	M c  +;"C:!$3$ $<S;),s;t;d  *.=t='+x}+%;s;c ND %;s;$6c6 'JI,/#!>$>""*.(3-.(D #D#t# %>c= 'LK*.(3-.#t# &*OXc])K
t 
 
 
T 
 

 
 
 

 
 
 
 
 
 
 
 
 
 U[[   EKK   $ $ $
 rt   r   )r   typingr   r   r   r,   dotenvr   pydanticr   pydantic_settingsr   pathlibr	   platformdirsr
   r   settingsr   rt   r4   <module>r      s8    	 + +   # *  'C| CL :rt   