
    -:j?                        d Z ddlZddlmZmZ ddlZddlmZmZm	Z	 ddl
mZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZ dd	lmZ dd
lmZmZ  e ee            Z  ee      Z! ejD                  de!D  ci c]  } | |  c} e#      Z$ee#dz   ejJ                  ddjM                  e        d ee             f   Z' ed      Z(e(jS                  dg d      ddddddeddddddfdee#dz   ejT                  d      f   dedededee#dz   ejJ                  d      f   dee$dz   ejJ                  d      f   d ed!e'd"ee+ ejJ                  d#d$d%      f   d&ee+ ejJ                  d'd(      f   d)ee+ ejJ                  d*d+d,      f   d-ed.ed/dfd0       Z,e(jS                  d1d2d3g      	 	 	 d@d4ee# ejT                  d5      f   d-ed!e'd.ed/df
d6       Z-e(jS                  d7g d8      	 	 	 dAd4ee# ejT                  d5      f   d9ee+ ejJ                  d:d;      f   d<ee+ ejJ                  d=d>      f   d.ed/df
d?       Z.yc c} w )Ba  Contains commands to interact with models on the Hugging Face Hub.

Usage:
    # list models on the Hub
    hf models ls

    # list models with a search query
    hf models ls --search "llama"

    # get info about a model
    hf models info Lightricks/LTX-2
    N)	Annotatedget_args)CLIErrorRepositoryNotFoundErrorRevisionNotFoundError)ExpandModelProperty_TModelSort_T)	ModelCard   )
REPO_LIST_DEFAULT_LIMIT	AuthorOpt	FilterOptLimitOptRevisionOpt	SearchOptTokenOpt
get_hf_apimake_expand_properties_parsertyper_factory)list_repo_files_cmd)_dataclass_to_dictoutModelSortEnum)typezComma-separated properties to return. When used, only the listed properties (and id) are returned. Example: '--expand=downloads,likes,tags'. Valid: z, .)helpcallbackz Interact with models on the Hub.)r   z	list | ls)z(hf models ls --sort downloads --limit 10z1hf models ls --search "llama" --author meta-llamaz:hf models ls --num-parameters min:6B,max:128B --sort likesz-hf models ls meta-llama/Llama-3.2-1B-Instructz0hf models ls meta-llama/Llama-3.2-1B-Instruct -Rz7hf models ls meta-llama/Llama-3.2-1B-Instruct --tree -h)examplesFrepo_idzRModel ID (e.g. `username/repo-name`) to list files from. If omitted, lists models.searchauthorfilternum_parametersz2Filter by parameter count, e.g. 'min:6B,max:128B'.sortzSort results.limitexpandhuman_readablez--human-readablez-hz=Show sizes in human readable format (only for listing files).as_treez--treez3List files in tree format (only for listing files).	recursivez--recursivez-Rz0List files recursively (only for listing files).revisiontokenreturnc           	         | |t        j                  d      |t        j                  d      |t        j                  d      |t        j                  d      |t        j                  d      |t        k7  rt        j                  d      |t        j                  d      t        | d	||	|
||
      S |	rt        j                  d      |
rt        j                  d      |rt        j                  d      |t        j                  d      t	        |      }|r|j
                  nd}|j                  |||||||      D cg c]  }t        |       }}t        j                  |       yc c}w )zList models on the Hub, or files in a model repo.

    When called with no argument, lists models on the Hub.
    When called with a model ID, lists files in that model repo.
    Nz'Cannot use --search when listing files.z'Cannot use --author when listing files.z'Cannot use --filter when listing files.z/Cannot use --num-parameters when listing files.z%Cannot use --sort when listing files.z&Cannot use --limit when listing files.z'Cannot use --expand when listing files.model)r   	repo_typer'   r(   r)   r*   r+   z&Cannot use --tree when listing models.z+Cannot use --recursive when listing models.z0Cannot use --human-readable when listing models.z*Cannot use --revision when listing models.r+   )r"   r!   r    r#   r$   r%   r&   )
typerBadParameterr   r   r   valuelist_modelsr   r   table)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   apisort_key
model_inforesultss                    \/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/huggingface_hub/cli/models.py	models_lsr;   E   s   b $$%NOO$$%NOO$$%NOO%$$%VWW$$%LMM++$$%MNN$$%NOO")
 	
   !IJJ  !NOO  !STT  !MNN
5
!C!tzztH //) * 
 	:&G  IIgs   E9infoz/hf models info meta-llama/Llama-3.2-1B-Instructz<hf models info Qwen/Qwen3.5-9B --expand downloads,likes,tagsmodel_idz)The model ID (e.g. `username/repo-name`).c                     t        |      }	 |j                  | ||      }t        j                  |       y# t        $ r}t        d|  d      |d}~wt        $ r}t        d| d|  d      |d}~ww xY w)	z"Get info about a model on the Hub.r0   )r   r*   r&   zModel 'z' not found.Nz
Revision 'z' not found on 'z'.)r   r8   r   r   r   r   dict)r=   r*   r&   r+   r6   r<   es          r:   models_inforA      s     5
!CS~~h&~Q
 HHTN	 # @
,78a?  SH:-=hZrJKQRRSs!   8 	A5AA5A00A5card)z$hf models card google/gemma-4-31B-itz/hf models card google/gemma-4-31B-it --metadataz=hf models card google/gemma-4-31B-it --metadata --format jsonz+hf models card google/gemma-4-31B-it --textmetadataz
--metadataz'Output only the metadata from the card.textz--textz(Output only the text body (no metadata).c                 d   |r|rt        d      t        j                  | |      }|r.t        j                  |j
                  j                                y|r t        j                  |j                         yt        j                  |j                         t        j                  d|  d       y)z3Get the model card (README) for a model on the Hub.z---metadata and --text are mutually exclusive.r0   zUse `hf models card z/ --metadata` to extract only the card metadata.N)
r   r
   loadr   r?   datato_dictrD   contenthint)r=   rC   rD   r+   rB   s        r:   models_cardrK      s{      DFGG>>(%0D""$%	'z1`ab    )NNN)FFN)/__doc__enumtypingr   r   r1   huggingface_hub.errorsr   r   r   huggingface_hub.hf_apir   r	   huggingface_hub.repocardr
   
_cli_utilsr   r   r   r   r   r   r   r   r   r   _file_listingr   _outputr   r   sorted_EXPAND_PROPERTIES_SORT_OPTIONSEnumstrr   Optionjoin	ExpandOpt
models_clicommandArgumentboolr;   rA   rK   )ss   0r:   <module>rc      s    &  [ [ E .   / , H%:;< %		/-+HQAqD+HsS $JELL d  ei  en  en  oA  eB  dC  CD  E./AB	  BC
   
 	 	 	- 	 	 	 ?Ud
pq	sU
 U U U d
NO	QU /*	,U  !U" #U$ '4st	v%U, X$YZ	\-U4 ]D/ab	d5U< =U> ?U@ 
AU
Up 
9F   !	^U^^1\]]^  	
 
" 
   mrej	c^U^^1\]]^clell<>ghhic D,%,,x6`aa
bc 	c
 
ccg ,Is   8
I
