
    ZiV
                        d Z ddlZddlZddlZddlmZmZmZ ddlZddl	m
Z
 ddlmZmZmZmZmZ  ee
          Z ej        dd eD             e	          Zd
ee         dee         fdZ ed          Ze                    dg d          	 	 	 	 ddeee          ej        de          f         deee          ej        d          f         dededdf
d            ZdS )aw  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
    N)	AnnotatedOptionalget_args)DailyPapersSort_T   )LimitOptTokenOptapi_object_to_dict
get_hf_apityper_factoryPaperSortEnumc                     i | ]}||S  r   ).0ss     U/root/projects/butler/venv/lib/python3.11/site-packages/huggingface_hub/cli/papers.py
<dictcomp>r   1   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   4   sD    }t{{}}}""$$..000Lr   z Interact with papers on the Hub.)helpls)zhf papers lszhf papers ls --sort trendingzhf papers ls --date 2025-01-23)examples2   r   z+Date in ISO format (YYYY-MM-DD) or 'today'.)r   callbacksortzSort results.limittokenc                     t          |          }|r|j        nd}d |                    | ||          D             }t          t	          j        |d                     dS )zList daily papers on the Hub.)r&   Nc                 ,    g | ]}t          |          S r   )r
   )r   
paper_infos     r   
<listcomp>zpapers_ls.<locals>.<listcomp>Z   s0        	:&&  r   )r   r$   r%      )indent)r   r   list_daily_papersprintjsondumps)r   r$   r%   r&   apisort_keyresultss          r   	papers_lsr4   @   s    0 5
!
!
!C!+tzztH // 0 
 
  G 
$*WQ
'
'
'(((((r   )NNr"   N)__doc__r   enumr/   typingr   r   r   typerhuggingface_hub.hf_apir   
_cli_utilsr   r	   r
   r   r   _SORT_OPTIONSEnumstrr   r   
papers_clicommandOptionr4   r   r   r   <module>rA      s        0 0 0 0 0 0 0 0 0 0  4 4 4 4 4 4              *++	/+H+H-+H+H+HsSSSx} #     ] BCCC
       	 	) )
> 	
 	
 	
	) /***	,) ) ) 
) ) ) ) ) )r   