+
    QV-j+  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	 ^RI
Ht ^RIHt ]'       d   ^ RIt]! RR7       ! R R	4      4       tR
R/R R lltR R ltR R lt] ! R R4      4       t] ! R R4      4       tR R ltR# )é    N)Ú	dataclass)ÚTYPE_CHECKINGÚAnyÚUnion)Ú	constants)Ú	get_tokenT)Úfrozenc                   ó0   a € ] tR t^t o RtV 3R ltRtV tR# )ÚDatasetParquetEntryzDRepresents a single parquet file available for a dataset on the Hub.c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   # )é   ÚconfigÚsplitÚurlÚsize)ÚstrÚint)ÚformatÚ__classdict__s   "€Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/huggingface_hub/_dataset_viewer.pyÚ__annotate__Ú DatasetParquetEntry.__annotate__   s5   ø‡ ‚ ñ �Kñ	 ñ
 �Jñ ñ 
�Hñ ñ �Iò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ € áN÷ ƒ r   r   Útokenc          	      ó˜   € V ^8„  d   QhR\         R\         \        ,          R,          R\        \        \         \        3,          ,          /# )r   Ú	sql_queryr$   NÚreturn)r   ÚboolÚlistÚdictr   )r   s   "r   r   r   '   s=   € ÷ ñ ¤Sð ´C¼$µJÀÕ4Eð ÔQUÔVZÔ[^Ô`cÐ[cÕVdÕQeñ r   c          	      ó  € V P                  4       P                  R 4      P                  4       p\        V4       Rp \        VR7      pVP	                  V4      pVf   \        R4      h\        V\        4      '       d&   VP                  4       Ve   VP                  4        # # \        ;QJ d    . R VP                   4       F  NK  	  5M! R VP                   4       4      p\        ;QJ d"    . R VP                  4        4       F  NK  	  5M! R VP                  4        4       4      pV Uu. uF  p\        \        WW4      4      NK  	  upVe   VP                  4        # # u upi   Te   TP                  4        i i ; i)Ú;N)r$   zSQL query must return rows.c              3   ó2   "  € T F  q^ ,          x € K  	  R# 5i)r   Nr   )Ú.0Úcolumns   & r   Ú	<genexpr>Ú(execute_raw_sql_query.<locals>.<genexpr>7   s   é € ÐIÑ4H¨& 1ŸIšIÓ4Hùs   ‚c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)Útuple)r.   Úrows   & r   r0   r1   8   s   é € ÐCÑ/B¨œ˜sŸ˜Ó/Bùs   ‚)ÚstripÚrstripÚ_raise_on_forbidden_queryÚ_get_duckdb_connectionÚsqlÚ
ValueErrorÚ
isinstanceÚ_DuckDBCliRelationÚexecuteÚcloser4   ÚdescriptionÚfetchallr*   Úzip)r&   r$   Únormalized_queryÚ
connectionÚrelationÚcolumnsÚrowsr5   s   &$      r   Úexecute_raw_sql_queryrH   '   sA  € Ø —‘Ó(×/Ñ/°Ó4×:Ñ:Ó<ÐÜÐ.Ô/à€JðÜ+°%Ô8ˆ
Ø—>‘>Ð"2Ó3ˆØÒÜÐ:Ó;Ð;ä�hÔ 2×3Ò3à×#Ñ#Ó%ð Ò!Ø×ÑÕð "÷	 ”eÑI°H×4HÒ4HÓI—e‘eÑI°H×4HÒ4HÓIÓIˆGß”5ÑC¨x×/@Ñ/@Ô/BÓC—5‘5ÑC¨x×/@Ñ/@Ô/BÓCÓCˆDÙ7;Ó<±t°”Dœ˜WÓ*Ö+±tÑ<àÒ!Ø×ÑÕð "ùò =øàÒ!Ø×ÑÕð "ús1   ¼AE) Â#
E) Â.?E) Ã.AE) Ä/E$ÅE) Å$E) Å)F c                ó(   € V ^8„  d   QhR\         RR/# )r   Úqueryr'   N©r   )r   s   "r   r   r   ?   s   € ÷ 	Yñ 	Y¤Sð 	Y¨Tñ 	Yr   c                 ó  € \        V 4      ^ 8X  d   \        R4      hV P                  4        FT  pVP                  4       pVP	                  R4      '       g   K,  VR,          P                  4       '       g   KK  \        R4      h	  R# )r   zSQL query cannot be empty.Ú.:é   r   Nz8DuckDB CLI meta-commands are not allowed in SQL queries.N)Úlenr;   Ú
splitlinesÚlstripÚ
startswithÚisalpha)rJ   ÚlineÚstrippeds   &  r   r8   r8   ?   sh   € Ü
ˆ5ƒz�Q„ÜÐ5Ó6Ð6ð × Ñ Ö"ˆØ—;‘;“=ˆØ×Ñ˜s×#Ô#¨°­×(=Ñ(=×(?Ô(?ÜÐWÓXÐXó #r   c                ób   € V ^8„  d   QhR\         \        ,          R,          R\        R,          /# )r   r$   Nr'   )zduckdb.DuckDBPyConnectionÚ_DuckDBCliConnection)r   r(   r   )r   s   "r   r   r   K   s+   € ÷ ñ Ü”�:˜Õðä
Ð>Õ?ñr   c                 óN  €  ^ RI pTP
                  ! 4       p \        T 4       F  pTP                  T4       K  	  T#   \         d=   p\        P                  ! R4      pTf   \        R4      Th\	        Y0R7      u Rp?# Rp?ii ; i  \         d    TP                  4        h i ; i)r   NÚduckdbz¤DuckDB is required for `hf datasets sql`. Install the Python package with `pip install duckdb` or install the DuckDB CLI binary (for example `brew install duckdb`).)Úbinary_pathr$   )
rY   ÚImportErrorÚshutilÚwhichrW   ÚconnectÚ_build_duckdb_secret_statementsr>   Ú	Exceptionr?   )r$   rY   ÚerrorÚduckdb_binaryrD   Ú	statements   &     r   r9   r9   K   s®   € ðLãð —’Ó!€JðÜ8¸Ö?ˆIØ×Ñ˜yÖ)ñ @àÐøô ô LäŸš XÓ.ˆØÒ ÜðUóð ðô $°ÔKÕKûðLûô  ô Ø×ÑÔØðús&   ‚= ˜$B ½BÁ1A?Á9BÁ?BÂB$c                   óf   a € ] tR t^ft o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltR	t	V t
R
# )rW   zbDuckDB connection.

Mimics the DuckDB Python API, but runs the queries via the DuckDB CLI binary.
c                ó   <€ V ^8„  d   QhRR/# ©r   r'   Nr   )r   r   s   "€r   r   Ú!_DuckDBCliConnection.__annotate__p   s   ø€ ÷ Mñ M˜tñ Mr   c                ó:   € \        V P                  4      V n        R # r3   )r_   r$   Ú_setup_statements©Úselfs   &r   Ú__post_init__Ú"_DuckDBCliConnection.__post_init__p   s   € Ü!@ÀÇÁÓ!LˆÖr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rJ   r'   r=   rK   )r   r   s   "€r   r   rg   s   s    ø€ ÷ vñ v™ð vÐ!5ñ vr   c                óF   € \        V P                  V P                  VR 7      # ))rZ   Úsetup_statementsrJ   )r=   rZ   ri   )rk   rJ   s   &&r   r:   Ú_DuckDBCliConnection.sqls   s   € Ü!¨d×.>Ñ.>ÐQU×QgÑQgÐotÔuÐur   c                ó   <€ V ^8„  d   QhRR/# rf   r   )r   r   s   "€r   r   rg   v   s   ø€ ÷ ñ �tñ r   c                ó   € R # r3   r   rj   s   &r   r?   Ú_DuckDBCliConnection.closev   s   € Ùr   c                óP   <€ V ^8„  d   Qh/ S[ ;R&   S[ S[,          R,          ;R&   # )r   rZ   Nr$   )r   r(   )r   r   s   "€r   r   rg   f   s(   ø‡ ‚ ñ Ññ ñ ‘�:˜ÕÑò r   )ri   N)r   r   r   r   r   rl   r:   r?   r    r!   r"   r#   s   @r   rW   rW   f   s3   ø‡ € ñ÷Mð M÷vð v÷ð ÷! ƒ r   rW   c                   óB   a € ] tR t^zt o RtV 3R lR ltV 3R ltRtV tR# )r=   z`DuckDB relation.

Mimics the DuckDB Python API, but runs the queries via the DuckDB CLI binary.
c                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# )r   r'   )r)   r*   r   r   )r   r   s   "€r   r   Ú_DuckDBCliRelation.__annotate__…   s!   ø€ ÷ 1ñ 1™™d¡3© 8�nÕ-ñ 1r   c                ó<  € . pV P                   '       d*   R \        P                   2.R V P                    4       ORNpRP                  WP                  R,           .,           4      p\
        P                  ! V P                  R.VRRRR7      pVP                  ^ 8w  dR   VP                  P                  4       ;'       g%    VP                  P                  4       ;'       g    R	p\        V4      h\        P                  ! VP                  P                  4       4      # )
z.output c              3   ó*   "  € T F	  q R 2x € K  	  R# 5i)r,   Nr   )r.   Ústmts   & r   r0   Ú-_DuckDBCliRelation.execute.<locals>.<genexpr>‹   s   é € Ð?Ñ)> �F˜!•*Ó)>ùs   ‚z.outputÚ
r,   z-jsonTF)ÚinputÚcapture_outputÚtextÚcheckzDuckDB CLI command failed.)rp   ÚosÚdevnullÚjoinrJ   Ú
subprocessÚrunrZ   Ú
returncodeÚstderrr6   ÚstdoutÚRuntimeErrorÚjsonÚloads)rk   ÚsetupÚ
full_queryÚresultÚerror_messages   &    r   r>   Ú_DuckDBCliRelation.execute…   s÷   € àˆØ× × Ð àœ2Ÿ:™:˜,Ð'ðá?¨×)>Ò)>Ó?ðð ðˆEð
 —Y‘Y˜u¯
©
°SÕ(8Ð'9Õ9Ó:ˆ
ô —’Ø×Ñ˜wÐ'ØØØØô
ˆð ×Ñ Ô!Ø"ŸM™M×/Ñ/Ó1×jÐj°V·]±]×5HÑ5HÓ5J×jÐjÐNjˆMÜ˜}Ó-Ð-ô �zŠz˜&Ÿ-™-×-Ñ-Ó/Ó0Ð0r   c                óN   <€ V ^8„  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[ ;R&   # )r   rZ   rp   rJ   )r   r)   )r   r   s   "€r   r   rx   z   s/   ø‡ ‚ ñ Ññ ñ ™3•iÑñ ñ �Jò r   r   N)	r   r   r   r   r   r>   r    r!   r"   r#   s   @r   r=   r=   z   s   ø‡ € ñ÷1ð 1÷ ƒ r   r=   c                ój   € V ^8„  d   QhR\         \        ,          R,          R\        \         ,          /# )r   r$   Nr'   )r   r(   r)   )r   s   "r   r   r       s'   € ÷ ñ ¬3´­:¸Õ+<ð ÄÄcÅñ r   c                 óÀ   € V e   V RJ d   \        4       p V '       g   . # V P                  RR4      p\        P                  P                  RR4      pRV RV R2RV R2.# )NTÚ'z''z@CREATE OR REPLACE SECRET hf_hub_token (TYPE HTTP, BEARER_TOKEN 'z
', SCOPE 'z')z<CREATE OR REPLACE SECRET hf_token (TYPE HUGGINGFACE, TOKEN ')r   Úreplacer   ÚENDPOINT)r$   Úescaped_tokenÚescaped_endpoints   &  r   r_   r_       sr   € Ø‚}˜ ›Ü“ˆçØˆ	à—M‘M # tÓ,€MÜ ×)Ñ)×1Ñ1°#°tÓ<Ðà
JÈ=È/ÐYcÐdtÐcuÐuwÐxØ
FÀ}ÀoÐUWÐXðð r   )r‹   r‚   r\   r…   Údataclassesr   Útypingr   r   r   Ú r   Úutilsr   rY   r   rH   r8   r9   rW   r=   r_   r   r   r   Ú<module>rž      s—   ðó Û 	Û Û Ý !ß ,Ñ ,å Ý ÷ Ûñ �$Ô÷ð ó ððÈ÷ õ0	Yõð6 ÷ð ó ðð& ÷"1ð "1ó ð"1÷Jr   