wL i!dZddlZddlmZmZddlmZddlmZm Z m Z ddl m Z dd l mZmZmZGd d e Zdd d e dedefdZy)zContains command to scan the HF cache directory. Usage: huggingface-cli scan-cache huggingface-cli scan-cache -v huggingface-cli scan-cache -vvv huggingface-cli scan-cache --dir ~/.cache/huggingface/hub N) Namespace_SubParsersAction)Optional) CacheNotFound HFCacheInfoscan_cache_dir)BaseHuggingfaceCLICommand)ANSIshow_deprecation_warningtabulatecHeZdZedefdZdeddfdZdZde ddfd Z y) ScanCacheCommandparserc|jdd}|jdtdd|jddd d d |jt y)Nz scan-cachezScan cache directory.)helpz--dirzMcache directory to scan (optional). Default to the default HuggingFace cache.)typedefaultrz-vz --verbosecountrzshow a more verbose output)actionrr)func) add_parser add_argumentstr set_defaultsr)rscan_cache_parsers i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/huggingface_hub/commands/scan_cache.pyregister_subcommandz$ScanCacheCommand.register_subcommand"sp"--lAX-Y&& ` ' &&  - '  &&,<&=argsreturnNcH|j|_|j|_yN)verbose verbositydir cache_dir)selfr!s r__init__zScanCacheCommand.__init__5s"ll(,r c 0tdd tj}t|j}tj}|j |t dt||z ddt|jdtj|jdt|jd kDrd t|jd }|jd k\rWt tj||jD])}t tjt!|+yt tj|d zyy#t$r$}|j}t d|Yd}~yd}~wwxYw)Nzhuggingface-cli scan-cachez hf cache scanzCache directory not found: z Done in r z s. Scanned z repo(s) for a total of .rzGot z warning(s) while scanning.z Use -vvv to print details.)r timer r(rprint_print_hf_cache_info_as_tableroundlenreposr redsize_on_disk_strwarningsr&grayr)r)t0 hf_cache_infot1excr(messagewarnings rrunzScanCacheCommand.run9sY !=O B*4>>:MB **=9 rBw*+;s=;N;N7O6PQ#xx (F(FGH K  }%% & *S!7!7899TUG~~"dii(),553G$))CL123dii*G GHI +  I / {; <  s=E(( F1FFr9cDtt||jy)Nr&)r/ get_tabler&)r)r9s rr0z.ScanCacheCommand._print_hf_cache_info_as_tableTs i @Ar ) __name__ __module__ __qualname__ staticmethodrrrr*r>rr0r rrr!sK>$5>>$1Y141J6B;B4Br rr@r9r&r"cL|dk(rtt|jdDcgc]}|j|jdj |j |j|j|jdjt|jt|jgc}gdStt|jdDcgc]}t|jd D]}|j|j|jdj |j |j|jdjt|jt|j gc}}gd Scc}wcc}}w) a:Generate a table from the [`HFCacheInfo`] object. Pass `verbosity=0` to get a table with a single row per repo, with columns "repo_id", "repo_type", "size_on_disk", "nb_files", "last_accessed", "last_modified", "refs", "local_path". Pass `verbosity=1` to get a table with a row per repo and revision (thus multiple rows can appear for a single repo), with columns "repo_id", "repo_type", "revision", "size_on_disk", "nb_files", "last_modified", "refs", "local_path". Example: ```py >>> from huggingface_hub.utils import scan_cache_dir >>> from huggingface_hub.commands.scan_cache import get_table >>> hf_cache_info = scan_cache_dir() HFCacheInfo(...) >>> print(get_table(hf_cache_info, verbosity=0)) REPO ID REPO TYPE SIZE ON DISK NB FILES LAST_ACCESSED LAST_MODIFIED REFS LOCAL PATH --------------------------------------------------- --------- ------------ -------- ------------- ------------- ---- -------------------------------------------------------------------------------------------------- roberta-base model 2.7M 5 1 day ago 1 week ago main C:\Users\admin\.cache\huggingface\hub\models--roberta-base suno/bark model 8.8K 1 1 week ago 1 week ago main C:\Users\admin\.cache\huggingface\hub\models--suno--bark t5-base model 893.8M 4 4 days ago 7 months ago main C:\Users\admin\.cache\huggingface\hub\models--t5-base t5-large model 3.0G 4 5 weeks ago 5 months ago main C:\Users\admin\.cache\huggingface\hub\models--t5-large >>> print(get_table(hf_cache_info, verbosity=1)) REPO ID REPO TYPE REVISION SIZE ON DISK NB FILES LAST_MODIFIED REFS LOCAL PATH --------------------------------------------------- --------- ---------------------------------------- ------------ -------- ------------- ---- ----------------------------------------------------------------------------------------------------------------------------------------------------- roberta-base model e2da8e2f811d1448a5b465c236feacd80ffbac7b 2.7M 5 1 week ago main C:\Users\admin\.cache\huggingface\hub\models--roberta-base\snapshots\e2da8e2f811d1448a5b465c236feacd80ffbac7b suno/bark model 70a8a7d34168586dc5d028fa9666aceade177992 8.8K 1 1 week ago main C:\Users\admin\.cache\huggingface\hub\models--suno--bark\snapshots\70a8a7d34168586dc5d028fa9666aceade177992 t5-base model a9723ea7f1b39c1eae772870f3b547bf6ef7e6c1 893.8M 4 7 months ago main C:\Users\admin\.cache\huggingface\hub\models--t5-base\snapshots\a9723ea7f1b39c1eae772870f3b547bf6ef7e6c1 t5-large model 150ebc2c4b72291e770f58e6057481c8d2ed331a 3.0G 4 5 months ago main C:\Users\admin\.cache\huggingface\hub\models--t5-large\snapshots\150ebc2c4b72291e770f58e6057481c8d2ed331a ``` ``` Args: hf_cache_info ([`HFCacheInfo`]): The HFCacheInfo object to print. verbosity (`int`, *optional*): The verbosity level. Defaults to 0. Returns: `str`: The table as a string. rc|jSr$ repo_pathrepos rzget_table.. r )keyz{:>12}z, )REPO ID REPO TYPE SIZE ON DISKNB FILES LAST_ACCESSED LAST_MODIFIEDREFS LOCAL PATH)rowsheadersc|jSr$rIrKs rrMzget_table..rNr c|jSr$) commit_hash)revisions rrMzget_table..s HL`L`r )rPrQREVISIONrRrSrUrVrW)rsortedr3repo_id repo_typeformatr5nb_fileslast_accessed_strlast_modified_strjoinrefsrrJ revisionsr\ snapshot_path)r9r&rLr]s rrArAXskVA~#=#6#6%%..IIfX]]34../       3 4 s BF!B.F )__doc__r.argparserrtypingrutilsrrr r _cli_utilsr r rrintrrArFr rrqsX 1>>'@@4B04Bn?@_ [_ _ C_ r