#!/usr/bin/env python from __future__ import annotations import gradio as gr from paper_list import PaperList DESCRIPTION = '# ICML 2023 Papers' paper_list = PaperList() with gr.Blocks(css='style.css') as demo: gr.Markdown(DESCRIPTION) search_box = gr.Textbox( label='Search Title', placeholder= 'You can search for titles with regular expressions. e.g. (?<!sur)face' ) case_sensitive = gr.Checkbox(label='Case Sensitive') filter_names = gr.CheckboxGroup(choices=[ 'arXiv', 'GitHub', 'Space', 'Model', 'Dataset', ], label='Filter') search_button = gr.Button('Search') number_of_papers = gr.Textbox(label='Number of Papers Found') table = gr.HTML(show_label=False) demo.load( fn=paper_list.render, inputs=[ search_box, case_sensitive, filter_names, ], outputs=[ number_of_papers, table, ], ) search_box.submit( fn=paper_list.render, inputs=[ search_box, case_sensitive, filter_names, ], outputs=[ number_of_papers, table, ], ) search_button.click( fn=paper_list.render, inputs=[ search_box, case_sensitive, filter_names, ], outputs=[ number_of_papers, table, ], ) demo.queue().launch()