Ë
    ÂÓ^j)  ã                   ó6  — d Z ddlZddlmZmZ ddlZddlm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  ddl!m"Z"m#Z#  e$ ee«      «      Z% ee«      Z& ejN                  de&D � ci c]  } | | “Œ c} e(¬«      Z)ee(dz   e ddjU                  e%«      › d� ee%«      ¬«      f   Z+ ed¬«      Z,e,j[                  dg d¢¬«      dddddeddddddfdee(dz   ed¬«      f   dedededee)dz   e d¬«      f   d ed!e+d"ee. e d#d$d%¬«      f   d&ee. e d'd(¬«      f   d)ee. e d*d+d,¬«      f   d-ed.ed/dfd0„«       Z/e,j[                  d1g d2¢¬«      	 	 dQd3ee( ed4¬«      f   d ed.ed/dfd5„«       Z0e,j[                  d6d7d8g¬«      	 	 	 dRd3ee( ed9¬«      f   d-ed!e+d.ed/df
d:„«       Z1e,j[                  d;g d<¢¬«      	 	 	 dRd3ee( ed9¬«      f   d=ee(dz   e d>d?¬«      f   d@ee(dz   e dA¬«      f   d.ed/df
dB„«       Z2e,j[                  dCdDdEg¬«      	 dSdCee( edF¬«      f   d.ed/dfdG„«       Z3e,j[                  dHg dI¢¬«      	 	 	 dTd3ee( ed9¬«      f   dJee. e dKdL¬«      f   dMee. e dNdO¬«      f   d.ed/df
dP„«       Z4yc c} w )UzDContains commands to interact with datasets on the Hugging Face Hub.é    N)Ú	AnnotatedÚget_args)Úexecute_raw_sql_query)ÚCLIErrorÚRepositoryNotFoundErrorÚRevisionNotFoundError)ÚDatasetSort_TÚExpandDatasetProperty_T)ÚDatasetCardé   )
ÚREPO_LIST_DEFAULT_LIMITÚ	AuthorOptÚ	FilterOptÚLimitOptÚRevisionOptÚ	SearchOptÚTokenOptÚ
get_hf_apiÚmake_expand_properties_parserÚtyper_factory)Úlist_repo_files_cmd)ÚArgumentÚOption)Ú_dataclass_to_dictÚoutÚDatasetSortEnum)Útypez”Comma-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 datasets on the Hub.)r   z	list | ls)zhf datasets lsz*hf datasets ls --sort downloads --limit 10zhf datasets ls --search "code"z*hf datasets ls --filter benchmark:officialz$hf datasets ls HuggingFaceFW/finewebz'hf datasets ls HuggingFaceFW/fineweb -Rz.hf datasets ls HuggingFaceFW/fineweb --tree -h)ÚexamplesFÚrepo_idzVDataset ID (e.g. `username/repo-name`) to list files from. If omitted, lists datasets.ÚsearchÚauthorÚfilterÚ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        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 )z½List datasets on the Hub, or files in a dataset repo.

    When called with no argument, lists datasets on the Hub.
    When called with a dataset ID, lists files in that dataset 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 --sort when listing files.z&Cannot use --limit when listing files.z'Cannot use --expand when listing files.Údataset)r"   Ú	repo_typer)   r*   r+   r,   r-   z(Cannot use --tree when listing datasets.z-Cannot use --recursive when listing datasets.z2Cannot use --human-readable when listing datasets.z,Cannot use --revision when listing datasets.©r-   )r%   r$   r#   r&   r'   r(   )
ÚclickÚBadParameterr   r   r   ÚvalueÚlist_datasetsr   r   Útable)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   ÚapiÚsort_keyÚdataset_infoÚresultss                   úg/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/huggingface_hub/cli/datasets.pyÚdatasets_lsr=   <   s‰  € ð\ ÐØÐÜ×$Ñ$Ð%NÓOÐOØÐÜ×$Ñ$Ð%NÓOÐOØÐÜ×$Ñ$Ð%NÓOÐOØÐÜ×$Ñ$Ð%LÓMÐMØÔ+Ò+Ü×$Ñ$Ð%MÓNÐNØÐÜ×$Ñ$Ð%NÓOÐOÜ"ØØØ)ØØØØô
ð 	
ñ Ü× Ñ Ð!KÓLÐLÙÜ× Ñ Ð!PÓQÐQÙÜ× Ñ Ð!UÓVÐVØÐÜ× Ñ Ð!OÓPÐPä
˜5Ô
!€CÙ!ˆt�zŠz t€Hð  ×-Ñ-ØØØØØØð .ó 
ö
àô 	˜<Õ(ð
€Gð 
ô ‡I�IˆgÕùò
s   Ä7E!Úleaderboard)z4hf datasets leaderboard SWE-bench/SWE-bench_VerifiedzLhf datasets leaderboard SWE-bench/SWE-bench_Verified --limit 5 --format jsonzIhf datasets ls --filter benchmark:official  # list available leaderboardsÚ
dataset_idz?The benchmark dataset ID (e.g. `SWE-bench/SWE-bench_Verified`).c                 ó0  — t        |¬«      }|j                  | ¬«      }|d| D �cg c]  }t        |«      ‘Œ }}t        j                  |g d¢d¬«       t        j
                  d«       |r't        j
                  d|d	   j                  › d
�«       yyc c}w )zØList model scores from a dataset leaderboard. This command helps find the best models for a task or compare models by benchmark scores. Use 'hf datasets ls --filter benchmark:official' to list available leaderboards.r2   )r"   N)ÚrankÚmodel_idr5   ÚsourcerB   ©ÚheadersÚid_keyzPUse 'hf datasets ls --filter benchmark:official' to list available leaderboards.zUse 'hf models info r   z' to get details about a model.)r   Úget_dataset_leaderboardr   r   r7   ÚhintrB   )r?   r'   r-   r8   r>   Úentryr;   s          r<   Údatasets_leaderboardrJ   š   s•   € ô ˜5Ô
!€CØ×-Ñ-°jÐ-ÓA€KØ6AÀ&À5Ð6IÖJ¨UÔ! %Õ(ÐJ€GÐJÜ‡I�IØÚ7Øõô
 ‡H�HÐ_Ô`ÙÜ�‰Ð'¨°A©×(?Ñ(?Ð'@Ð@_Ð`Õað ùò Ks   ¦BÚinfoz&hf datasets info HuggingFaceFW/finewebz9hf datasets info my-dataset --expand downloads,likes,tagsz+The dataset 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 dataset on the Hub.r2   )r"   r,   r(   z	Dataset 'z' not found.Nz
Revision 'z' not found on 'z'.)r   r:   r   r   r   r   Údict)r?   r,   r(   r-   r8   rK   Úes          r<   Údatasets_inforO   µ   sŠ   € ô ˜5Ô
!€CðUØ×Ñ¨
¸XÈfÐÓUˆô
 ‡H�HˆT…Nøô	 #ò DÜ˜ : ,¨lÐ;Ó<À!ÐCûÜ ò UÜ˜ H :Ð-=¸j¸\ÈÐLÓMÐSTÐTûðUús!   Ž8 ¸	A5ÁAÁA5ÁA0Á0A5Úparquet)z(hf datasets parquet cfahlgren1/hub-statsz8hf datasets parquet cfahlgren1/hub-stats --subset modelsz6hf datasets parquet cfahlgren1/hub-stats --split trainz6hf datasets parquet cfahlgren1/hub-stats --format jsonÚsubsetz--subsetz(Filter parquet entries by subset/config.Úsplitz Filter parquet entries by split.c                 óD  — t        |¬«      }|j                  | |¬«      }|D �cg c]  }|�|j                  |k(  sŒ|‘Œ }}|D �cg c]1  }|j                  |j                  |j                  |j
                  dœ‘Œ3 }}t        j                  |g d¢d¬«       yc c}w c c}w )z/List parquet file URLs available for a dataset.r2   )r"   ÚconfigN)rQ   rR   ÚurlÚsizerU   rD   )r   Úlist_dataset_parquet_filesrR   rT   rU   rV   r   r7   )	r?   rQ   rR   r-   r8   ÚentriesrI   Úfilteredr;   s	            r<   Údatasets_parquetrZ   Í   s™   € ô  ˜5Ô
!€CØ×,Ñ,°ZÈÐ,ÓO€GØ#*ÖT˜%¨e¨m¸u¿{¹{ÈeÓ?S’ÐT€HÐTàjröØaf�5—<‘<¨%¯+©+¸e¿i¹iÐQV×Q[ÑQ[Ó\ð€Gð ô ‡I�IˆgÒAÈ%ÖPùò	 Uùòs   ¤B»BÁ6BÚsqlz–hf datasets sql "SELECT COUNT(*) AS rows FROM read_parquet('https://huggingface.co/api/datasets/cfahlgren1/hub-stats/parquet/models/train/0.parquet')"z�hf datasets sql "SELECT * FROM read_parquet('https://huggingface.co/api/datasets/cfahlgren1/hub-stats/parquet/models/train/0.parquet') LIMIT 5" --format jsonzRaw SQL query to execute.c                 ó–   — 	 t        | |¬«      }t	        j
                  |«       y# t        $ r}t        t        |«      «      |‚d}~ww xY w)zAExecute a raw SQL query with DuckDB against dataset parquet URLs.)Ú	sql_queryr-   N)r   ÚImportErrorr   Ústrr   r7   )r[   r-   ÚresultrN   s       r<   Údatasets_sqlra   æ   sD   € ð&Ü&°¸EÔBˆô ‡I�IˆfÕøô ò &Ü”s˜1“vÓ AÐ%ûð&ús   ‚% ¥	A®AÁAÚcard)z&hf datasets card HuggingFaceFW/finewebz1hf datasets card HuggingFaceFW/fineweb --metadataz?hf datasets card HuggingFaceFW/fineweb --metadata --format jsonz-hf datasets card HuggingFaceFW/fineweb --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)z7Get the dataset card (README) for a dataset on the Hub.z---metadata and --text are mutually exclusive.r2   zUse `hf datasets card z/ --metadata` to extract only the card metadata.N)
r   r   Úloadr   rM   ÚdataÚto_dictrd   ÚcontentrH   )r?   rc   rd   r-   rb   s        r<   Údatasets_cardrj   ù   s}   € ñ  ‘DÜÐFÓGÐGÜ×Ñ˜J¨eÔ4€DÙÜ�‰�—‘×"Ñ"Ó$Õ%Ù	Ü�‰�—‘Õä�‰�—‘ÔÜ�‰Ð)¨*¨Ð5dÐeÕfó    )é   N)NNN)N)FFN)5Ú__doc__ÚenumÚtypingr   r   r3   Úhuggingface_hub._dataset_viewerr   Ú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   Ú
_frameworkr   r   Ú_outputr   r   ÚsortedÚ_EXPAND_PROPERTIESÚ_SORT_OPTIONSÚEnumr_   r   ÚjoinÚ	ExpandOptÚdatasets_cliÚcommandÚboolr=   rJ   rO   rZ   ra   rj   )Úss   0r<   ú<module>r‚      s  ðñ Kã ß &ã å Aß [Ñ [ß IÝ 0÷÷ ÷ õ /ß (ß ,ñ ™HÐ%<Ó=Ó>Ð Ù˜Ó'€Ø�$—)‘)Ð-¸mÖ/L¸°°1±Ò/LÐSVÔW€ð Øˆ$�JÙ
ð dð  ei÷  enñ  enð  oAó  eBð  dCð  CDð  EÙ.Ð/AÓBôðñ€	ñ Ð"FÔG€ð ×ÑØòð ó ð  	ØØØð 	Ø-Øð 	ð 	ð 	Ø Øñ7OØØˆd‰
ÙÐnÔoð	qñðOð
 ðOð ðOð ðOð Ø˜$ÑÙ�OÔ$ð	&ñðOð ðOð ðOð ØÙÐ! 4Ð.mÔnð	pñðOð$ ØÙˆxÐSÔTð	Vñð%Oð, ØÙˆ}˜dÐ)[Ô\ð	^ñð-Oð4 ð5Oð6 ð7Oð8 
ò9OóðOðd ×ÑØòð ó ð ØñbØ˜#™xÐ-nÔoÐoÑpðbàðbð ðbð 
ò	bóðbð& ×ÑØ
à0ØCðð ó ð !ØØñ	Ø˜#™xÐ-ZÔ[Ð[Ñ\ðàðð ðð ð	ð
 
òóðð" ×ÑØòð ó ð jnØTXØñ	QØ˜#™xÐ-ZÔ[Ð[Ñ\ðQà�c˜D‘j¡&¨Ð:dÔ"eÐeÑfðQð �S˜4‘Z¡Ð-OÔ!PÐPÑQðQð ð	Qð
 
òQóðQð  ×ÑØ	ð 	cð 	jðð ó ð ñ	Ø	�3™Ð&AÔBÐBÑ	Cð	àð	ð 
ò	óð	ð ×ÑØ
òð ó ð glØ_dØñ	gØ˜#™xÐ-ZÔ[Ð[Ñ\ðgà˜™f \Ð8aÔbÐbÑcðgð �D™& Ð0ZÔ[Ð[Ñ
\ðgð ð	gð
 
ògóñgùòk 0Ms   Â
J
