
    Y js                        S r SSKrSSKrSSKJrJr  SSKrSSKJrJ	r	  SSK
Jr  SSKJrJrJrJrJr  SSKJr  \" \5      r\R*                  " S	\ V s0 s H  o U _M     sn \S
9rS\S-  S\S-  4S jr\" SS9r\R5                  S/ SQS9       S.S\\S-  \R6                  " S\S94   S\\S-  \R6                  " SS94   S\\S-  \R6                  " SS94   S\\S-  \R6                  " SS94   S\\S-  \R6                  " SS94   S\S\SS4S  jj5       r\R5                  S!/ S"QS9  S/S#\\\R:                  " S$S94   S\S\SS4S% jj5       r\R5                  S&S'/S9 S0S(\\\R:                  " S)S94   S\SS4S* jj5       r\R5                  S+S,/S9 S0S(\\\R:                  " S)S94   S\SS4S- jj5       r gs  sn f )1a  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   )LimitOptTokenOptapi_object_to_dict
get_hf_apityper_factory)outPaperSortEnum)typevaluereturnc                     U c  gU R                  5       S:X  a,  [        R                  R                  5       R	                  5       $ U $ )z6Parse date option, converting 'today' to current date.Ntoday)lowerdatetimedater   	isoformat)r   s    k/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/huggingface_hub/cli/papers.py_parse_dater   D   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)examplesr   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tokenc           	         [        US9nU(       a  UR                  OSn/ n	UR                  U UUUUUS9 Hn  n
[        U
5      nUR	                  S5      =(       d    0 nUR	                  S5      =(       d    UR	                  S5      =(       d    SUS'   U	R                  U5        Mp     [        R                  " U	/ S	QS
S
S.S9  g)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)r.   r/   headers
alignments)r   r   list_daily_papersr   getappendr   table)r   r   r    r!   r"   r#   r$   apisort_keyresults
paper_infoitemr'   s                r   	papers_lsr>   P   s    N 5
!C!tzztHG++ , 
 "*-xx/52$0$4$4Z$@$fLDTDTU_D`$fdf !t II[&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                     [        US9nUR                  XS9 Vs/ s H  n[        U5      PM     nn[        R                  " U/ SQSS0S9  gs  snf )zSearch papers on the Hub.r&   )r@   r#   )r,   r-   summaryr.   r0   r.   r1   r2   N)r   list_papersr   r   r8   )r@   r#   r$   r9   r<   r;   s         r   papers_searchrD      sT     5
!C@CV[@ij@i*!*-@iGjIIgTbkmtauv ks   Ainfozhf papers info 2601.15621paper_idz'The arXiv paper ID (e.g. '2502.08025').c                     [        US9n UR                  U S9n[        R                  " U5        g! [         a0  nUR                  R                  S:X  a  [        SU  S35      Uee SnAff = f)z"Get info about a paper on the Hub.r&   r,     Paper '' not found on the Hub.N)r   r<   r   responsestatus_coder   r   dict)rF   r$   r9   rE   es        r   papers_inforP      sn     5
!C~~~*
 HHTN	  ::!!S(WXJ.EFGQN   1 
A++A&&A+readzhf papers read 2601.15621c                     [        US9n UR                  U S9n[        R                  " U5        g! [         a0  nUR                  R                  S:X  a  [        SU  S35      Uee SnAff = f)zRead a paper as markdown.r&   rH   rI   rJ   rK   N)r   
read_paperr   rL   rM   r   r   text)rF   r$   r9   contentrO   s        r   papers_readrW      so     5
!C..H.-
 HHW	  ::!!S(WXJ.EFGQNrQ   )NNNNN2   N)   N)N)!__doc__r   enumtypingr   r   typerhuggingface_hub.errorsr   r   huggingface_hub.hf_apir   
_cli_utilsr	   r
   r   r   r   _outputr   _SORT_OPTIONSEnumstrr   r   
papers_clicommandOptionr>   ArgumentrD   rP   rW   )ss   0r   <module>rj      s  >   &  ; 4   *+		/-+H-QqD-+HsSsTz cDj   BC
   
$ 	 	 	 	 	3/
d
> 	
	/ d
CD	F/ d
WX	Z/  d
@A	C!/( /*	,)/0 1/2 3/4 
5/
/d    wS%...DEEFww w 
	ww 
#   U^^1Z[[\ 
 
#   U^^1Z[[\ 
u ,Is   F?
