
    5pjS                    J	   % S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	  \R                  S:  a  SSKJr  O " S S	\\5      r\" S
S
S9 " S S5      5       r/ rS\S'   SrS\S'    " S S\5      r " S S\	5      r " S S\5      rSrS\S'   SrS\S'   SrS\S'   \" 5       rS \S!'   0 rS"\S#'   SS$ jr  S           SS' jjr  S           SS( jjr  S           SS* jjrS+S,.           SS- jjr\" S.S/S0S15        \" S2\S3S15        \" S4S5S6S15        S4rS\S7'   \" S8S9S:S15        \" S;S<S=S>S?5      r S&\S?'   \" S@SASBS>5      r!S&\SC'   \" SDSESFS>SG5      r"S&\SG'   SHr#S\SI'   \" \#S/SJSK5        SLr$S\SM'   \" \$SNSOS15        SPr%S\SQ'    \" SRSSSTSUSV5      r&S&\SV'   \" SWSXSYSUSZ5      S[-  S[-  r'S&\S\'   \" S]SSS^SUS_5      r(S&\S`'   \" SaSESbSUSc5      r)S&\Sc'   \" SdS<SeSUSf5      r*S&\Sf'   \" SgShSiSUSj5      r+S&\Sj'   Skr,S\Sl'    Smr-S\Sn'    Sor.S\Sp'   \" \.SqSrSUSsS,9  Str/S\Su'   \" \/SqSvSUSwS,9  Sxr0S\Sy'   \" \0SzS{SUS|S,9  S}r1S\S~'   \" \1S%SSU5        \" SS5      r2S&\S'   \" SS5      r3S&\S'   \" SSE5      r4S&\S'   \" SS5      r5S&\S'   \" SS<5      r6S&\S'   \" SS5      r7S&\S'   \" SSSSS5      r8S&\S'   \" SSSSS5      r9S&\S'   \:" \Rv                  Ry                  SS5      R{                  S5      5      r>S\S'   \" SS5      r?S&\S'   \" SS
5      r@S)\S'   \" SS5      rAS&\S'   \" SSE5      rBS&\S'   \" SSSS5      rCS&\S'   \" SSSS5      rDS&\S'   \" SS5      rES&\S'   \" SS
5      rFS)\S'   \" SS5      rGS&\S'   \" SSE5      rHS&\S'   \" SSE5      rIS&\S'   \" SS5      rJS&\S'   \" S\K" S\R                  " 5       =(       d    SS-   5      SSS5      rMS&\S'   \" SS
SSS5      rNS)\S'   SrOS\S'   SrPS\S'   \" SSSSS5      rQS&\S'   \" SSSSS5      rRS&\S'   \" SS5      rSS&\S'   \" SS5      rTS&\S'   / SQrUS\S'   / SQrVS\S'   / SQrWS\S'   SrX\" SSSS5        \" SS/SSSS,9  SrYS\S'   SrZS\S'   Sr[S\S'   Sr\S\S'   Sr]S\S'   Sr^S\S'   Sr_S\S'   / SQr`g)a  Project-wide constants and configuration knobs.

All runtime tunables expose an environment-variable override so that the SDK
can be reconfigured without code changes. This keeps the library friendly for
both production deployments and ad-hoc experimentation.
    )annotationsN)	dataclass)EnumIntEnum)      )StrEnumc                  "    \ rS rSrSrSS jrSrg)r	      z:Minimal backport of :class:`enum.StrEnum` for Python 3.10.c                ,    [        U R                  5      $ )N)strvalueselfs    T/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/modelscope_hub/constants.py__str__StrEnum.__str__   s    tzz?"     Nreturnr   )__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r	   r	      s
    H	#r   r	   T)frozenslotsc                  P    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   SrS	\S
'   Srg)EnvVar"   z3Metadata for one configurable environment variable.r   namedefaultdescriptioncategoryr   tuple[str, ...]deprecated_namesN)r   r   r   r   r   __annotations__r(   r   r   r   r   r!   r!   "   s%    =
ILM(*o*r   r!   zlist[EnvVar]ENV_REGISTRY)CoreNetworkDownloadUploadLogging
Deprecatedr'   CATEGORY_ORDERc                  ,    \ rS rSrSrSrSrSrSrSr	Sr
g	)
RepoType<   z/Kinds of repositories hosted on ModelScope Hub.modeldatasetstudioskillmcpr   N)r   r   r   r   r   MODELDATASETSTUDIOSKILLMCPr   r   r   r   r3   r3   <   s    9EGFE
Cr   r3   c                  L    \ rS rSrSrSrSrSr\S
S j5       r	\
SS j5       rSrg	)
VisibilityF   zRepository visibility levels.

The integer values mirror the encoding used by the ModelScope Hub API
(1 = private, 3 = internal, 5 = public).
   r      c                6    U R                   R                  5       $ )zHuman readable label.)r#   lowerr   s    r   labelVisibility.labelQ   s     yy  r   c                .   [        U[        5      (       aL  UR                  5       (       a7  [        U5      nU  H  nUR                  U:X  d  M  Us  $    [        SU< 35      e XR                  5          $ ! [         a  n[        SU< 35      UeSnAff = f)zResolve a visibility from its lowercase label or numeric string.

Supports both label strings ('private', 'internal', 'public') and
numeric strings ('1', '3', '5') for backward compatibility.
zUnknown visibility label: N)
isinstancer   isdigitintr   
ValueErrorupperKeyError)clsrF   numericmemberexcs        r   
from_labelVisibility.from_labelV   s     eS!!emmoo%jG<<7*!M  9%CDD	N{{}%% 	N9%CD#M	Ns   #A5 5
B?BBr   Nr   )rF   r   r   r@   )r   r   r   r   r   PRIVATEINTERNALPUBLICpropertyrF   classmethodrS   r   r   r   r   r@   r@   F   s@     GHF! ! N Nr   r@   c                  T    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrSrg)Licensek   z3Common open-source licenses used on ModelScope Hub.z
Apache-2.0MITzBSD-2-ClausezBSD-3-ClausezGPL-2.0zGPL-3.0zLGPL-2.1zLGPL-3.0zMPL-2.0z	CC-BY-4.0zCC-BY-SA-4.0zCC-BY-NC-4.0zCC0-1.0	UnlicenseOtherr   N)r   r   r   r   r   
APACHE_2_0r]   BSD_2_CLAUSEBSD_3_CLAUSEGPL_2_0GPL_3_0LGPL_2_1LGPL_3_0MPL_2_0	CC_BY_4_0CC_BY_SA_4_0CC_BY_NC_4_0CC0_1_0	UNLICENSEOTHERr   r   r   r   r[   r[   k   sP    =J
C!L!LGGHHGI!L!LGIEr   r[   zhttps://modelscope.cnr   DEFAULT_ENDPOINTz/openapi/v1OPENAPI_PREFIXz/api/v1LEGACY_API_PREFIXzset[str]_REGISTERED_NAMESzdict[str, tuple[str, ...]]_DEPRECATED_LOOKUPc                    [         R                  R                  U 5      nUb  U$ U HK  n[         R                  R                  U5      nUc  M'  SSKnUR	                  SU< SU < S3[
        SS9  Us  $    g)zARead an env var, falling back to deprecated names with a warning.Nr   Environment variable  is deprecated, use z	 instead.   
stacklevel)osenvirongetwarningswarnFutureWarning)r#   r(   r   oldr|   s        r   _envr      sz    JJNN4 E

s#MM'w.B4()T  
 L   r    rK   c                    U=(       d    [         R                  U S5      nU(       a  U(       a  [        U [        U5      X#US9  [	        U /UQ76 nUb  UR                  5       S:X  a  U$  [        U5      nUS:  a  U$ U$ ! [         a    Us $ f = f)z=Read a positive integer from the environment and register it.r   r(   r   r   )rr   r{   _env_registerr   r   striprK   rL   )r#   r$   r%   r&   r(   all_deprecatedrawr   s           r   _env_intr      s     &I);)?)?b)INxdCL+R`a
t
%n
%C
{ciikR'C AI5*7*  s   )A> >BBc           
        U=(       d    [         R                  U S5      nU(       a  U(       a  [        U [        U5      X#US9  [        R
                  R                  U 5      nUb7  UR                  5       (       a"   [        U5      nUS:  a  US-  S-  $ US-  S-  $ U H  n[        R
                  R                  U5      nUc  M'  UR                  5       (       d  M>  SSK	n	U	R                  SU< SU < SU < S	3[        S
S9   [        U5      nUS:  a  Us  $ US-  S-  s  $    US-  S-  $ ! [         a    US-  S-  s $ f = f! [         a    US-  S-  s s  $ f = f)a=  Read a size env var (new name in MB, deprecated names in bytes). Returns bytes.

Handles migration from byte-based deprecated env vars to MB-based new names.
If a deprecated byte-based name is set, the value is used directly (already bytes).
If the new name is set, the value is treated as MB and converted to bytes.
r   r   N   r   rt   ru   z instead. Note: z expects a value in MB.   rw   )rr   r{   r   r   ry   rz   r   rK   rL   r|   r}   r~   )
r#   
default_mbr%   r&   deprecated_byte_namesr   r   r   r   r|   s
             r   _env_int_mbr      sm    +N.@.D.DT2.NNxdC
O[Ucd
**..
C
399;;	,HE ',aiut|d"MZ$5F5MMjjnnS!?syy{{MM'w /h.th6MO	  0C "AI5C:+<t+CC   t##)  	,$t++	,"  0!D(4//0s$   ;D, E,E EEEboolc                .   U(       a*  U(       a#  [        U [        U5      R                  5       X#US9  U=(       d    [        R	                  U S5      n[        U /UQ76 nUb  UR                  5       S:X  a  U$ UR                  5       R                  5       S;   $ )z4Read a boolean from the environment and register it.r   r   r   )1trueyeson)r   r   rE   rr   r{   r   r   )r#   r$   r%   r&   r(   r   r   s          r   	_env_boolr      s~     xdCL..0+Zjk%I);)?)?b)IN
t
%n
%C
{ciikR'99;"<<<r   r   r   c          	         U[         ;  a  [        SU< S[          35      eU [        ;   a  g[        R                  U 5        U(       a	  U[        U '   [
        R                  [        XX#U5      5        g)zBRegister an env var for display only (read logic lives elsewhere).zUnknown env var category z, must be one of N)r1   rL   rq   addrr   r*   appendr!   )r#   r$   r%   r&   r(   s        r   r   r      sh     ~%4XL@QR`Qabcc  $#34 tkEUVWr   MODELSCOPE_API_TOKEN-zAPI authentication tokenr+   MODELSCOPE_ENDPOINTzAPI endpoint URLMODELSCOPE_CACHEz~/.cache/modelscopezLocal cache directory	ENV_CACHEMODELSCOPE_HOMEz~/.modelscopezSDK config directoryMODELSCOPE_API_TIMEOUTr4   zHTTP request timeout (seconds)r,   API_TIMEOUTMODELSCOPE_API_CONNECT_TIMEOUT
   zHTTP connect timeout (seconds)API_CONNECT_TIMEOUTMODELSCOPE_API_MAX_RETRIESrC   z)Max retry attempts for transient failuresAPI_MAX_RETRIESMODELSCOPE_DOMAINENV_MODELSCOPE_DOMAINz#Deprecated: use MODELSCOPE_ENDPOINTr0   MODELSCOPE_PREFER_AI_SITEENV_PREFER_AI_SITEfalsez'Prefer modelscope.ai over modelscope.cnzhttps://www.modelscope.aiDEFAULT_INTL_ENDPOINT!MODELSCOPE_DOWNLOAD_CHUNK_SIZE_MBrB   zStreaming chunk size (MB)r-   DOWNLOAD_CHUNK_SIZE)MODELSCOPE_DOWNLOAD_PARALLEL_THRESHOLD_MBi  z Parallel download threshold (MB))MODELSCOPE_PARALLEL_DOWNLOAD_THRESHOLD_MBr   DOWNLOAD_PARALLEL_THRESHOLD$MODELSCOPE_DOWNLOAD_PARALLEL_WORKERSzParallel range-download streamsMODELSCOPE_DOWNLOAD_PARALLELSDOWNLOAD_PARALLELSMODELSCOPE_DOWNLOAD_MAX_RETRIESzPer-file download retry countDOWNLOAD_RETRY_TIMESMODELSCOPE_DOWNLOAD_TIMEOUTz#Per-file download timeout (seconds)DOWNLOAD_TIMEOUT MODELSCOPE_DOWNLOAD_PART_SIZE_MB   zParallel range chunk size (MB)DOWNLOAD_PART_SIZEz
._____tempTEMPORARY_FOLDER_NAMESha256FILE_HASH_FIELDMODELSCOPE_DOWNLOAD_FILE_LOCKENV_FILE_LOCKr   z*File lock for multiprocess download safety)MODELSCOPE_HUB_FILE_LOCKMODELSCOPE_DOWNLOAD_INTRA_CLOUDENV_INTRA_CLOUD_ACCELERATIONz&Alibaba cloud intra-cloud acceleration)INTRA_CLOUD_ACCELERATION&MODELSCOPE_DOWNLOAD_INTRA_CLOUD_REGIONENV_INTRA_CLOUD_REGIONz(auto)zOverride intra-cloud region ID)INTRA_CLOUD_ACCELERATION_REGION'MODELSCOPE_DOWNLOAD_INTER_CLOUD_REGIONSENV_INTER_CLOUD_REGIONSzCComma-separated peer regions for cross-region internal accelerationUPLOAD_LFS_THRESHOLDi  P UPLOAD_LFS_ENFORCE_THRESHOLDi   UPLOAD_BLOB_MAX_RETRIESUPLOAD_BLOB_RETRY_BACKOFFr   UPLOAD_BLOB_RETRY_MAX_WAIT"UPLOAD_BLOB_TQDM_DISABLE_THRESHOLD!MODELSCOPE_UPLOAD_CONNECT_TIMEOUT   z Upload connect timeout (seconds)r.   UPLOAD_BLOB_CONNECT_TIMEOUTMODELSCOPE_UPLOAD_READ_TIMEOUTi  zUpload read timeout (seconds)UPLOAD_BLOB_READ_TIMEOUTUPLOAD_RETRY_ALLOWED_METHODSzGET,HEAD,DELETE,OPTIONS,TRACE,zfrozenset[str]UPLOAD_COMMIT_BATCH_SIZE   UPLOAD_ADAPTIVE_BATCH_SIZEUPLOAD_VALIDATE_BLOB_BATCH_SIZE@   UPLOAD_COMMIT_MAX_RETRIES'MODELSCOPE_UPLOAD_COMMIT_MAX_TOTAL_WAITi,  zJMaximum total wait time (seconds) for commit retries in _commit_with_retryUPLOAD_COMMIT_MAX_TOTAL_WAIT1MODELSCOPE_UPLOAD_BATCH_CONSECUTIVE_FAILURE_LIMITr   zGMaximum consecutive batch commit failures before aborting upload_folder&UPLOAD_BATCH_CONSECUTIVE_FAILURE_LIMITUPLOAD_FAILED_FILE_MAX_RETRIESUPLOAD_REACT_ENABLEDUPLOAD_REACT_ROUND2_BASE_DELAYUPLOAD_REACT_ROUND3_FILE_DELAY!UPLOAD_REACT_BACKOFF_MAX_EXPONENTUPLOAD_REACT_MAX_DELAYx   MODELSCOPE_UPLOAD_MAX_WORKERS   rv   z/Default parallel worker threads (min(8, cpu+4))DEFAULT_MAX_WORKERSMODELSCOPE_UPLOAD_CACHEzEnable resumable upload cacheUPLOAD_USE_CACHEz.ms_upload_cacheUPLOAD_CACHE_FILEz.ms_upload_progressUPLOAD_LEGACY_PROGRESS_FILE"MODELSCOPE_UPLOAD_MAX_FILE_SIZE_MBi  z)Max single file size (MB, default 100 GB)UPLOAD_MAX_FILE_SIZE MODELSCOPE_UPLOAD_MAX_FILE_COUNTi zMax total files per uploadUPLOAD_MAX_FILE_COUNTUPLOAD_MAX_FILE_COUNT_IN_DIRiP  #UPLOAD_NORMAL_FILE_SIZE_TOTAL_LIMITi  @).7z.arrow.bin.bz2z.ckpt.ftz.gz.h5.joblibz.mlmodelz.model.msgpack.npy.npzz.onnx.ot.parquet.pb.pickle.pklz.ptz.pth.rarz.safetensors.tarz.tflite.tgz.wasmz.xz.zip.zstz	list[str]MODEL_LFS_SUFFIX)+r   z.aacr   z.audioz.bmpr   r   z.flacr   z.gifr   r   z.jackz.jpegz.jpgz.pngz.jsonlr   z.lz4r   r   r   r   r   r  r  z.pcmr  z.rawr  z.samr  r  r  z.wavz.webmz.webpr  r	  z.tiffz.mp3z.mp4z.oggDATASET_LFS_SUFFIX)z.gitz.git/*z*/.gitz
**/.git/**z.cachez.cache/*z*/.cachez**/.cache/**DEFAULT_IGNORE_PATTERNSa  
 _   .-')                _ .-') _     ('-.             .-')                              _ (`-.    ('-.
( '.( OO )_             ( (  OO) )  _(  OO)           ( OO ).                           ( (OO  ) _(  OO)
 ,--.   ,--.).-'),-----. \     .'_ (,------.,--.     (_)---\_)   .-----.  .-'),-----.  _.`     \(,------.
 |   `.'   |( OO'  .-.  ',`'--..._) |  .---'|  |.-') /    _ |   '  .--./ ( OO'  .-.  '(__...--'' |  .---'
 |         |/   |  | |  ||  |  \  ' |  |    |  | OO )\  :` `.   |  |('-. /   |  | |  | |  /  | | |  |
 |  |'.'|  |\_) |  |\|  ||  |   ' |(|  '--. |  |`-' | '..`''.) /_) |OO  )\_) |  |\|  | |  |_.' |(|  '--.
 |  |   |  |  \ |  | |  ||  |   / : |  .--'(|  '---.'.-._)   \ ||  |`-'|   \ |  | |  | |  .___.' |  .--'
 |  |   |  |   `'  '-'  '|  '--'  / |  `---.|      | \       /(_'  '--'\    `'  '-'  ' |  |      |  `---.
 `--'   `--'     `-----' `-------'  `------'`------'  `-----'    `-----'      `-----'  `--'      `------'
MODELSCOPE_LOG_LEVELINFOz(SDK log level (DEBUG/INFO/WARNING/ERROR)r/   "MODELSCOPE_NO_DEPRECATION_WARNINGSzSuppress deprecation warnings)&MODELSCOPE_HUB_NO_DEPRECATION_WARNINGS
modelscopeDEFAULT_CACHE_DIR_NAMEsessionSESSION_FILE_NAMEz.modelscopeCONFIG_DIR_NAMEcredentialsCREDENTIALS_DIR_NAMEcookiesCOOKIES_FILE_NAME	git_tokenGIT_TOKEN_FILE_NAMEuserUSER_INFO_FILE_NAME)@r   r   r   r1   r  r  r  rn   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r!   r   rp   r[   r
  ro   r3   r	   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r@   )r#   r   r(   r   r   z
str | None)r   r   )r#   r   r$   rK   r%   r   r&   r   r(   r   r   rK   )r#   r   r   rK   r%   r   r&   r   r   r   r   rK   )r#   r   r$   r   r%   r   r&   r   r(   r   r   r   )r#   r   r$   r   r%   r   r&   r   r(   r'   r   None)ar   
__future__r   ry   sysdataclassesr   enumr   r   version_infor	   r   r!   r*   r)   r1   r3   r@   r[   rn   ro   rp   setrq   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetrz   r{   splitr   r   r   r   r   r   r   r   r   r   r   r   r   min	cpu_countr   r   r   r   r   r   r   r   r
  r  r  MODELSCOPE_ASCIIr  r  r  r  r  r  r  __all__r   r   r   <module>r+     s   # 	 
 !  w##t # $d#+ + $+  l # w "N "NJg . 0 # /# #" 3 " "e 8 #13 . 3, 	+
++ + 	+
 + 	+0 	)$
)$)$ )$ 	)$
  )$ 	)$^ 	=
== = 	=
 = 
=. )+X
XX X 	X &X 
X, $c+Ev N #%57I6 R  "79PRX Y#	3 # 2H& Q $S  $$$	 S    /  1 s 0 #S*OQ] ^5 C 5  '+TV\ ]8 s 8 "
 '' S  3*3   S 
 #*%# C  %%# c  !!) #  &&$ C  * s ) 2  ,4s 4 
02 %F c E  
,2 G  F $9  I  H R!fhr %%;_M c M$,-K_$] c ]  ((A1E  E!)*Eq!I 3 I"*+G"L C L*23WYh*i "C i $,'&!$ S  !)$#! #  09JJNN13RSYYZ]^0 n 
 !))CS I # I#,-I4#P D P'/0QSU'V  V "**Eq!I 3 I$,-P	% c  /77M	/ &  '//OQR&S  S&'=tD d D&./OQR&S  S&./OQR&S  S)12UWX)Y !3 Y&'?E  E $#BLLNa1$%5 S  ## $  , 3 +#8 S 8 ((/ c  &&  s  %--KV$T c T+34Y[l+m #S m  )  B,! I ,^	&  	
   $f.XZc d (#@ +  *" 3 "$ $) c )" 3 "& S &! S !Ar   