
    Wi                        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jB                  de D  ci c]  } | |  c} e"	      Z#eee"    ejH                  d
djK                  e       d ee            f   Z& ed      Z'e'jQ                  dg d      ddddddejR                  ddf	dedededeee#    ejH                  d      f   dede&dedededdfd        Z*e'jQ                  d!d"d#g      	 	 	 d(d$ee" ejV                  d%      f   d&ede&deddf
d'       Z,yc c} w ))a  Contains commands to interact with datasets on the Hugging Face Hub.

Usage:
    # list datasets on the Hub
    hf datasets ls

    # list datasets with a search query
    hf datasets ls --search "code"

    # get info about a dataset
    hf datasets info HuggingFaceFW/fineweb
    N)	AnnotatedOptionalget_args)CLIErrorRepositoryNotFoundErrorRevisionNotFoundError)DatasetSort_TExpandDatasetProperty_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DatasetSortEnum)typezWComma-separated properties to expand. Example: '--expand=downloads,likes,tags'. Valid: z, .)helpcallbackz"Interact with datasets on the Hub.)r   ls)zhf datasets lsz*hf datasets ls --sort downloads --limit 10zhf datasets ls --search "code")examples
   FsearchauthorfiltersortzSort results.limitexpandformatquiettokenreturnc	                     t        |      }	|r|j                  nd}
|	j                  ||| |
||      D cg c]  }t        |       }}t	        |||       yc c}w )zList datasets on the Hub.r*   N)r$   r#   r"   r%   r&   r'   )r(   r)   )r   valuelist_datasetsr   r   )r"   r#   r$   r%   r&   r'   r(   r)   r*   apisort_keydataset_inforesultss                h/home/sietch6/trending-topics-pipeline/venv/lib/python3.12/site-packages/huggingface_hub/cli/datasets.pydatasets_lsr5   G   sp    . 5
!C!tzztH  --&he\b . 
 	<(G  gfE:s   Ainfoz&hf datasets info HuggingFaceFW/finewebz9hf datasets info my-dataset --expand downloads,likes,tags
dataset_idz+The dataset ID (e.g. `username/repo-name`).revisionc                    t        |      }	 |j                  | ||      }t        t        j                  t        |      d	
             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 dataset on the Hub.r-   )repo_idr8   r'   z	Dataset 'z' not found.Nz
Revision 'z' not found on 'z'.   )indent)	r   r2   r   r   r   printjsondumpsr   )r7   r8   r'   r*   r0   r6   es          r4   datasets_inforA   i   s     5
!CU
XfU
 
$**'-a
89	 # D:,l;<!C  UH:-=j\LMSTTUs#   A 	B	A%%B	1BB	)NNN)-__doc__enumr>   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datasets_clicommandtabler5   ArgumentrA   )ss   0r4   <module>rV      s=     0 0  [ [ I   $ H%<=> '$))-m/L1/LSVW SMELLfgkgpgp  rD  hE  gF  FG  H./AB	 "FG     	$**;;; ; !/*	,	; ; ; ; ; ; 
;;4 
0C   !	:#~u~~3`aab:: : 	:
 
::q 0Ms   2
E!
