
    Zi                         d Z ddlZddlZddlmZ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mZmZmZmZmZmZmZmZmZmZmZmZmZ  e ee                    Z ee          Z  ej!        dd	 e D             e"
          Z#eee"          ej$        dd%                    e           d ee                    f         Z& ed          Z'e'(                    dddg          ddddddej)        ddf	dedededeee#          ej$        d          f         dede&deded ed!dfd"            Z*e'(                    d#d$d%g          	 	 	 d*d&ee" ej+        d'          f         d(ede&d ed!df
d)            Z,dS )+a  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Optionalget_args)CLIErrorRepositoryNotFoundErrorRevisionNotFoundError)ExpandModelProperty_TModelSort_T   )	AuthorOpt	FilterOpt	FormatOptLimitOptOutputFormatQuietOptRevisionOpt	SearchOptTokenOptapi_object_to_dict
get_hf_apimake_expand_properties_parserprint_list_outputtyper_factoryModelSortEnumc                     i | ]}||S  r   ).0ss     U/root/projects/butler/venv/lib/python3.11/site-packages/huggingface_hub/cli/models.py
<dictcomp>r    8   s    +H+H+HQAq+H+H+H    )typezWComma-separated properties to expand. Example: '--expand=downloads,likes,tags'. Valid: z, .)helpcallbackz Interact with models on the Hub.)r$   lsz(hf models ls --sort downloads --limit 10z1hf models ls --search "llama" --author meta-llama)examples
   FsearchauthorfiltersortzSort results.limitexpandformatquiettokenreturnc	           	          t          |          }	|r|j        nd}
d |	                    ||| |
||          D             }t          |||           dS )zList models on the Hub.r1   Nc                 ,    g | ]}t          |          S r   )r   )r   
model_infos     r   
<listcomp>zmodels_ls.<locals>.<listcomp>_   s0        	:&&  r!   )r+   r*   r)   r,   r-   r.   )r/   r0   )r   valuelist_modelsr   )r)   r*   r+   r,   r-   r.   r/   r0   r1   apisort_keyresultss               r   	models_lsr=   G   s    , 5
!
!
!C!+tzztH //&he\b * 
 
  G gfE::::::r!   infoz/hf models info meta-llama/Llama-3.2-1B-Instructz1hf models info gpt2 --expand downloads,likes,tagsmodel_idz)The model ID (e.g. `username/repo-name`).revisionc                 N   t          |          }	 |                    | ||          }nJ# t          $ r}t          d|  d          |d}~wt          $ r}t          d| d|  d          |d}~ww xY wt          t          j        t          |          d	
                     dS )z"Get info about a model on the Hub.r4   )repo_idr@   r.   zModel 'z' not found.Nz
Revision 'z' not found on 'z'.   )indent)	r   r6   r   r   r   printjsondumpsr   )r?   r@   r.   r1   r:   r>   es          r   models_inforI   h   s     5
!
!
!CS~~h&~QQ" @ @ @777788a?  S S SJHJJhJJJKKQRRS	$*'--a
8
8
899999s    + 
A2A		A2A--A2)NNN)-__doc__enumrF   typingr   r   r   typerhuggingface_hub.errorsr   r   r   huggingface_hub.hf_apir	   r
   
_cli_utilsr   r   r   r   r   r   r   r   r   r   r   r   r   r   sorted_EXPAND_PROPERTIES_SORT_OPTIONSEnumstrr   Optionjoin	ExpandOpt
models_clicommandtabler=   ArgumentrI   r   r!   r   <module>r]      s      0 0 0 0 0 0 0 0 0 0  [ [ [ [ [ [ [ [ [ [ E E E E E E E E                               $ VHH%:;;<< %%	/+H+H-+H+H+HsSSS SMEL Hgkgpgp  rD  hE  hE  H  H  H../ABB  	 ] BCCC
 2;     	$*; ;;; ; /***	,	; ; ; ; ; ; 
; ; ; ;4 
9;    !	: :^U^1\]]]]^:: : 	:
 
: : : : : :r!   