
    "jQ                     <   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	d
 eD             e          Zdedz  dedz  fdZ ed          Ze                    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                    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                    d*d+g          ej        dfd,ee ej         d-          f         d!ed"eddfd.            Z"e                    d/d0g          	 d2d,ee ej         d-          f         d"eddfd1            Z#dS )3a  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PaperSortEnumc                     i | ]}||S  r   ).0ss     d/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/huggingface_hub/cli/papers.py
<dictcomp>r   B   s    +H+H+HQAq+H+H+H    )typevaluereturnc                     | dS |                                  dk    r0t          j                                                                        S | S )z6Parse date option, converting 'today' to current date.Ntoday)lowerdatetimedater   	isoformat)r   s    r   _parse_dater"   E   sD    }t{{}}}""$$..000Lr   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)examples2   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                    t          |          }|r|j        nd}	g }
|                    | ||||	|          D ]l}t          |          }|                    d          pi }|                    d          p|                    d          pd|d<   |
                    |           mt          j        |
g d	d
d
d           dS )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_atr4   right)r7   r8   headers
alignments)r   r   list_daily_papersr   getappendr   table)r    r'   r(   r)   r*   r+   r,   r-   apisort_keyresults
paper_infoitemr0   s                 r   	papers_lsrG   Q   s   P 5
!
!
!C!+tzztHG++ ,    
 "*--xx//52$0$4$4Z$@$@$fLDTDTU_D`D`$fdf !t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          |          }d |                    | |          D             }t          j        |g dddi           dS )	zSearch papers on the Hub.r/   c                 ,    g | ]}t          |          S r   )r   )r   rE   s     r   
<listcomp>z!papers_search.<locals>.<listcomp>   s!    jjj*!*--jjjr   )rJ   r+   )r5   r6   summaryr7   r9   r7   r:   r;   N)r   list_papersr   rA   )rJ   r+   r,   r-   rB   rD   s         r   papers_searchrP      sd     5
!
!
!CjjV[ch@i@ijjjGIgTTTbkmtauvvvvvvr   infozhf papers info 2601.15621paper_idz'The arXiv paper ID (e.g. '2502.08025').c                     t          |          }	 |                    |           }n7# t          $ r*}|j        j        dk    rt          d|  d          | d}~ww xY wt          j        |           dS )z"Get info about a paper on the Hub.r/   r5     Paper '' not found on the Hub.N)r   rE   r   responsestatus_coder   r   dict)rR   r,   r-   rB   rQ   es         r   papers_infor\      s     5
!
!
!C~~~**   :!S((FXFFFGGQN HTNNNNN   ) 
A%AAreadzhf papers read 2601.15621c                     t          |          }	 |                    |           }n7# t          $ r*}|j        j        dk    rt          d|  d          | d}~ww xY wt          j        |           dS )zRead a paper as markdown.r/   rT   rU   rV   rW   N)r   
read_paperr   rX   rY   r   r   text)rR   r-   rB   contentr[   s        r   papers_readrc      s     5
!
!
!C..H.--   :!S((FXFFFGGQN HWr]   )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OptionrG   ArgumentrP   r\   rc   r   r   r   <module>rt      s   >   & & & & & & & &  ; ; ; ; ; ; ; ; 4 4 4 4 4 4                / . . . . . . . *++	/+H+H-+H+H+HsSSSsTz cDj     ] BCCC
     
 
$ 	 	 	 	 	 4 950 0
d
> 	
 	
 	
	0 d
CDDD	F0 d
WXXX	Z0  d
@AAA	C!0( /***	,)00 102 304 506 
70 0 0
 
0f        4 9		w 	wS.%..DEEEEF	w	w 	w 		w
 
	w 	w 	w 	w 
#    !5 9 ^U^1Z[[[[\  
	     
#     ^U^1Z[[[[\ 
     r   