
    qiV
                        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eD  ci c]  } | |  c} e      Zd	ee   d
ee   fdZ ed      Zej/                  dg d      	 	 	 	 ddeee    ej0                  de      f   deee    ej0                  d      f   deded
df
d       Zyc c} w )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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    L/opt/pipecat/venv/lib/python3.12/site-packages/huggingface_hub/cli/papers.py_parse_dater   4   s9    }{{}}}""$..00L    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)examplesr   z+Date in ISO format (YYYY-MM-DD) or 'today'.)r   callbacksortzSort results.limittokenc                     t        |      }|r|j                  nd}|j                  | ||      D cg c]  }t        |       }}t	        t        j                  |d             yc c}w )zList daily papers on the Hub.)r    N)r   r   r      )indent)r   r   list_daily_papersr
   printjsondumps)r   r   r   r    apisort_key
paper_inforesultss           r   	papers_lsr,   @   sr    0 5
!C!tzztH // 0 
 	:&G  
$**WQ
'(s   A()NN2   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Optionr,   )ss   0r   <module>r;      s:       0 0  4  *+		/-+HQAqD+HsSx} #   BC
    	 	)
> 	
	) /*	,) ) ) 
))/ ,Is   

C
