
    aiM                        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
 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  e ee            Z ee      Z ej<                  d	eD  ci c]  } | |  c} e
      Z eee    ejB                  ddjE                  e       d ee            f   Z# ed      Z$e$jK                  d      	 	 	 	 	 	 	 d!dedededeee     ejB                  d      f   dede#deddfd       Z&e$jK                  d      	 	 	 d"dee ejN                  d      f   dede#deddf
d        Z(yc c} w )#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)RepositoryNotFoundErrorRevisionNotFoundError)ExpandModelProperty_TModelSort_T)ANSI   )
	AuthorOpt	FilterOptLimitOptRevisionOpt	SearchOptTokenOpt
get_hf_apimake_expand_properties_parserrepo_info_to_dicttyper_factoryModelSortEnum)typezWComma-separated properties to expand. Example: '--expand=downloads,likes,tags'. Valid: z, .)helpcallbackz Interact with models on the Hub.)r   lssearchauthorfiltersortzSort results.limitexpandtokenreturnc                     t        |      }|r|j                  nd}|j                  ||| |||      D 	cg c]  }	t        |	       }
}	t	        t        j                  |
d             yc c}	w )zList models on the Hub.r"   N)r   r   r   r   r    r!      indent)r   valuelist_modelsr   printjsondumps)r   r   r   r   r    r!   r"   apisort_key
model_inforesultss              d/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/huggingface_hub/cli/models.py	models_lsr3   D   su     5
!C!tzztH //&he\b * 
 	*%G  
$**WQ
'(s   A+infomodel_idz)The model ID (e.g. `username/repo-name`).revisionc           	         t        |      }	 |j                  | ||      }t        t        j                  t        |      d
             y# t        $ r9 t        dt	        j
                  |        d       t        j                  d      t        $ rX t        dt	        j
                  t        |             dt	        j
                  |        d	       t        j                  d      w xY w)z"Get info about a model on the Hub.r%   )repo_idr6   r!   zModel z not found.r   )codez	Revision z not found on r   r&   r'   N)r   r0   r   r+   r
   boldtyperExitr   strr,   r-   r   )r5   r6   r!   r"   r.   r4   s         r2   models_infor>   ]   s     5
!C!~~h&~Q 
$**&t,Q
78 # !tyy*+;78jja    !	$))CM23>$))HBUAVVWXYjja  !s   A B!C-)NNNN
   NN)NNN))__doc__enumr,   typingr   r   r   r;   huggingface_hub.errorsr   r   huggingface_hub.hf_apir   r	   huggingface_hub.utilsr
   
_cli_utilsr   r   r   r   r   r   r   r   r   r   sorted_EXPAND_PROPERTIES_SORT_OPTIONSEnumr=   r   Optionjoin	ExpandOpt
models_clicommandr3   Argumentr>   )ss   0r2   <module>rR      s     0 0  Q E &   H%:;< %		/-+HQAqD+HsS SMELLfgkgpgp  rD  hE  gF  FG  H./AB	  BC
 D 	))) ) /*	,	) ) ) ) 
) )0 F !	9^U^^1\]]^99 9 	9
 
9 9S ,Is   .
E
