Ë
    ëÿæiQ  ã                   ó  — d Z ddlZddlZddlmZmZ ddl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 ddlmZmZ  ee«      Z ej.                  d	eD � ci c]  } | | “Œ c} e¬
«      Zdedz  dedz  fd„Z ed¬«      Zej9                  dg d¢¬«      ddddddej:                  dfdeedz   ej<                  de¬«      f   deedz   ej<                  d¬«      f   deedz   ej<                  d¬«      f   deedz   ej<                  d¬«      f   deedz   ej<                  d¬«      f   ded ed!eddfd"„«       Zej9                  d#g d$¢¬«      d%ej:                  dfd&ee ej@                  d'¬«      f   ded ed!eddf
d(„«       Z!ej9                  d)d*g¬«      ej:                  dfd+ee ej@                  d,¬«      f   d ed!eddfd-„«       Z"ej9                  d.d/g¬«      	 d1d+ee ej@                  d,¬«      f   d!eddfd0„«       Z#yc c} w )2aÇ  Contains commands to interact with papers on the Hugging Face Hub.

Usage:
    # list daily papers (most recently submitted)
    hf papers ls

    # list trending papers
    hf papers ls --sort=trending

    # list papers from a specific date, ordered by upvotes
    hf papers ls --date=2025-01-23

    # list today's papers, ordered by upvotes
    hf papers ls --date=today

    # list papers from a specific week
    hf papers ls --week=2025-W09

    # list papers by a specific submitter
    hf papers ls --submitter=someuser

    # search papers
    hf papers search "vision language"

    # get info about a paper
    hf papers info 2502.08025

    # read a paper as markdown
    hf papers read 2502.08025
é    N)Ú	AnnotatedÚget_args)ÚCLIErrorÚHfHubHTTPError)ÚDailyPapersSort_Té   )ÚFormatWithAutoOptÚLimitOptÚTokenOptÚapi_object_to_dictÚ
get_hf_apiÚtyper_factory)ÚOutputFormatWithAutoÚoutÚPaperSortEnum)ÚtypeÚvalueÚreturnc                 óŠ   — | €y| j                  «       dk(  r,t        j                  j                  «       j	                  «       S | S )z6Parse date option, converting 'today' to current date.NÚtoday)ÚlowerÚdatetimeÚdater   Ú	isoformat)r   s    úo/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/huggingface_hub/cli/papers.pyÚ_parse_dater   E   s9   € à€}ØØ‡{�{ƒ}˜ÒÜ�}‰}×"Ñ"Ó$×.Ñ.Ó0Ð0Ø€Ló    z Interact with papers on the Hub.)Úhelpz	list | ls)zhf papers lszhf papers ls --sort trendingzhf papers ls --date 2025-01-23zhf papers ls --week 2025-W09z hf papers ls --submitter akhaliqzhf papers ls --format json)Úexamplesé2   r   z+Date in ISO format (YYYY-MM-DD) or 'today'.)r   ÚcallbackÚweekz'ISO week to filter by, e.g. '2025-W09'.Úmonthz;Month to filter by in ISO format (YYYY-MM), e.g. '2025-02'.Ú	submitterz$Filter by username of the submitter.ÚsortzSort results.ÚlimitÚformatÚtokenc                 ój  — t        |¬«      }|r|j                  nd}	g }
|j                  | ||||	|¬«      D ]^  }t        |«      }|j	                  d«      xs i }|j	                  d«      xs |j	                  d«      xs d|d<   |
j                  |«       Œ` t        j                  |
g d	¢d
d
dœ¬«       y)zList daily papers on the Hub.©r(   N)r   r"   r#   r$   r%   r&   Úsubmitted_byÚfullnameÚusernameÚ Úsubmitted_by_name)ÚidÚtitleÚupvotesÚcommentsÚpublished_atr/   Úright)r2   r3   ©ÚheadersÚ
alignments)r   r   Úlist_daily_papersr   ÚgetÚappendr   Útable)r   r"   r#   r$   r%   r&   r'   r(   ÚapiÚsort_keyÚresultsÚ
paper_infoÚitemr+   s                 r   Ú	papers_lsrB   Q   sÁ   € ôP ˜5Ô
!€CÙ!ˆt�zŠz t€HØ€GØ×+Ñ+ØØØØØØð ,ö ˆ
ô " *Ó-ˆØ—x‘x Ó/Ò5°2ˆØ$0×$4Ñ$4°ZÓ$@Ò$fÀL×DTÑDTÐU_ÓD`Ò$fÐdfˆÐ Ñ!Ø�‰�tÕðô ‡I�IØÚ[Ø&°GÑ<ör   Úsearch)z"hf papers search "vision language"z1hf papers search "attention mechanism" --limit 10z*hf papers search "diffusion" --format jsoné   ÚqueryzSearch query string.c                 ó°   — t        |¬«      }|j                  | |¬«      D �cg c]  }t        |«      ‘Œ }}t        j                  |g d¢ddi¬«       yc c}w )zSearch papers on the Hub.r*   )rE   r&   )r0   r1   Úsummaryr2   r4   r2   r5   r6   N)r   Úlist_papersr   r   r<   )rE   r&   r'   r(   r=   r@   r?   s          r   Úpapers_searchrI   �   sW   € ô ˜5Ô
!€CØ@CÇÁÐV[ÐchÀÔ@iÓjÑ@i°*Ô! *Õ-Ð@i€GÐjÜ‡I�IˆgÒTÐbkÐmtÐauÖvùò ks   ¢AÚinfozhf papers info 2601.15621Úpaper_idz'The arXiv paper ID (e.g. '2502.08025').c                 óâ   — t        |¬«      }	 |j                  | ¬«      }t        j                  |«       y# t        $ r/}|j                  j                  dk(  rt        d| › d�«      |‚‚ d}~ww xY w)z"Get info about a paper on the Hub.r*   ©r0   é”  úPaper 'ú' not found on the Hub.N)r   r@   r   ÚresponseÚstatus_coder   r   Údict)rK   r'   r(   r=   rJ   Úes         r   Úpapers_inforU   £   sn   € ô ˜5Ô
!€CðØ�~‰~ ˆ~Ó*ˆô
 ‡H�HˆT…Nøô	 ò Ø�:‰:×!Ñ! SÒ(Ü˜W X JÐ.EÐFÓGÈQÐNØûðúó   Ž6 ¶	A.¿*A)Á)A.Úreadzhf papers read 2601.15621c                 óâ   — t        |¬«      }	 |j                  | ¬«      }t        j                  |«       y# t        $ r/}|j                  j                  dk(  rt        d| › d�«      |‚‚ d}~ww xY w)zRead a paper as markdown.r*   rM   rN   rO   rP   N)r   Ú
read_paperr   rQ   rR   r   r   Útext)rK   r(   r=   ÚcontentrT   s        r   Úpapers_readr\   ¹   so   € ô ˜5Ô
!€CðØ—.‘. H�.Ó-ˆô
 ‡H�HˆWÕøô	 ò Ø�:‰:×!Ñ! SÒ(Ü˜W X JÐ.EÐFÓGÈQÐNØûðúrV   )N)$Ú__doc__r   ÚenumÚtypingr   r   ÚtyperÚhuggingface_hub.errorsr   r   Úhuggingface_hub.hf_apir   Ú
_cli_utilsr	   r
   r   r   r   r   Ú_outputr   r   Ú_SORT_OPTIONSÚEnumÚstrr   r   Ú
papers_cliÚcommandÚautoÚOptionrB   ÚArgumentrI   rU   r\   )Úss   0r   Ú<module>rn      sH  ðñó> Û ß &ã ç ;Ý 4÷÷ ÷ /ñ Ð*Ó+€Ø�—	‘	˜/¹-Ó+H¹-°Q¨A¨q©D¸-Ñ+HÈsÔS€ð�s˜T‘zð  c¨D¡jó ñ Ð BÔC€
ð ×ÑØòð ó 
ð$ 	ð 	ð 	ð 	ð 	ØØ 4× 9Ñ 9Øñ50Ø
Øˆd‰
Øˆ�‰Ø>Ø ô	
ð	ñð0ð Øˆd‰
Øˆ�‰ÐCÔDð	Fñð0ð Øˆd‰
Øˆ�‰ÐWÔXð	Zñð0ð  Øˆd‰
Øˆ�‰Ð@ÔAð	Cñð!0ð( Ø˜ÑØˆ�‰˜/Ô*ð	,ñð)0ð0 ð10ð2 ð30ð4 ð50ð6 
ò70ó
ð0ðf ×ÑØòð ó ð Ø 4× 9Ñ 9Øñ		wØ�S˜.˜%Ÿ.™.Ð.DÔEÐEÑFð	wàð	wð ð	wð ð		wð
 
ò	wóð	wð ×ÑØ
à#ðð ó ð !5× 9Ñ 9ØñØ˜˜^˜UŸ^™^Ð1ZÔ[Ð[Ñ\ðàðð ðð 
ò	óðð  ×ÑØ
à#ðð ó ð ñØ˜˜^˜UŸ^™^Ð1ZÔ[Ð[Ñ\ðàðð 
òóñùò{ ,Is   Á
H	
