Spaces:
Running
on
Zero
Running
on
Zero
Update
Browse files- app.py +25 -0
- pyproject.toml +1 -0
- requirements.txt +3 -0
- uv.lock +14 -0
app.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
import gradio as gr
|
4 |
import polars as pl
|
|
|
5 |
|
6 |
from app_mcp import demo as demo_mcp
|
7 |
from search import search
|
@@ -111,6 +112,25 @@ def update_df(
|
|
111 |
)
|
112 |
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
with gr.Blocks(css_paths="style.css") as demo:
|
115 |
gr.Markdown(DESCRIPTION)
|
116 |
search_query = gr.Textbox(label="Search", submit_btn=True, show_label=False, placeholder="Search...")
|
@@ -138,6 +158,11 @@ with gr.Blocks(css_paths="style.css") as demo:
|
|
138 |
elem_id="table",
|
139 |
column_widths=[COLUMN_INFO[col][1] for col in COLUMN_INFO],
|
140 |
)
|
|
|
|
|
|
|
|
|
|
|
141 |
|
142 |
inputs = [
|
143 |
search_query,
|
|
|
2 |
|
3 |
import gradio as gr
|
4 |
import polars as pl
|
5 |
+
from gradio_modal import Modal
|
6 |
|
7 |
from app_mcp import demo as demo_mcp
|
8 |
from search import search
|
|
|
112 |
)
|
113 |
|
114 |
|
115 |
+
def df_row_selected(
|
116 |
+
evt: gr.SelectData,
|
117 |
+
) -> tuple[
|
118 |
+
Modal,
|
119 |
+
gr.Textbox, # title
|
120 |
+
gr.Textbox, # abstract
|
121 |
+
]:
|
122 |
+
if evt.index[1] != 0:
|
123 |
+
return Modal(), gr.Textbox(), gr.Textbox()
|
124 |
+
|
125 |
+
title = evt.row_value[0]
|
126 |
+
row = df_main.filter(pl.col("Title") == title)
|
127 |
+
return (
|
128 |
+
Modal(visible=True),
|
129 |
+
gr.Textbox(value=row["Title"].item()), # title
|
130 |
+
gr.Textbox(value=row["abstract"].item()), # abstract
|
131 |
+
)
|
132 |
+
|
133 |
+
|
134 |
with gr.Blocks(css_paths="style.css") as demo:
|
135 |
gr.Markdown(DESCRIPTION)
|
136 |
search_query = gr.Textbox(label="Search", submit_btn=True, show_label=False, placeholder="Search...")
|
|
|
158 |
elem_id="table",
|
159 |
column_widths=[COLUMN_INFO[col][1] for col in COLUMN_INFO],
|
160 |
)
|
161 |
+
with Modal(visible=False, elem_id="abstract-modal") as abstract_modal:
|
162 |
+
title = gr.Textbox(label="Title")
|
163 |
+
abstract = gr.Textbox(label="Abstract")
|
164 |
+
|
165 |
+
df.select(fn=df_row_selected, outputs=[abstract_modal, title, abstract])
|
166 |
|
167 |
inputs = [
|
168 |
search_query,
|
pyproject.toml
CHANGED
@@ -7,6 +7,7 @@ requires-python = ">=3.10"
|
|
7 |
dependencies = [
|
8 |
"datasets>=4.0.0",
|
9 |
"faiss-cpu>=1.11.0.post1",
|
|
|
10 |
"gradio[mcp]>=5.38.2",
|
11 |
"hf-transfer>=0.1.9",
|
12 |
"loguru>=0.7.3",
|
|
|
7 |
dependencies = [
|
8 |
"datasets>=4.0.0",
|
9 |
"faiss-cpu>=1.11.0.post1",
|
10 |
+
"gradio-modal>=0.0.4",
|
11 |
"gradio[mcp]>=5.38.2",
|
12 |
"hf-transfer>=0.1.9",
|
13 |
"loguru>=0.7.3",
|
requirements.txt
CHANGED
@@ -71,9 +71,12 @@ fsspec==2025.3.0
|
|
71 |
gradio==5.38.2
|
72 |
# via
|
73 |
# cvpr2025 (pyproject.toml)
|
|
|
74 |
# spaces
|
75 |
gradio-client==1.11.0
|
76 |
# via gradio
|
|
|
|
|
77 |
groovy==0.1.2
|
78 |
# via gradio
|
79 |
h11==0.16.0
|
|
|
71 |
gradio==5.38.2
|
72 |
# via
|
73 |
# cvpr2025 (pyproject.toml)
|
74 |
+
# gradio-modal
|
75 |
# spaces
|
76 |
gradio-client==1.11.0
|
77 |
# via gradio
|
78 |
+
gradio-modal==0.0.4
|
79 |
+
# via cvpr2025 (pyproject.toml)
|
80 |
groovy==0.1.2
|
81 |
# via gradio
|
82 |
h11==0.16.0
|
uv.lock
CHANGED
@@ -376,6 +376,7 @@ dependencies = [
|
|
376 |
{ name = "datasets" },
|
377 |
{ name = "faiss-cpu" },
|
378 |
{ name = "gradio", extra = ["mcp"] },
|
|
|
379 |
{ name = "hf-transfer" },
|
380 |
{ name = "loguru" },
|
381 |
{ name = "polars" },
|
@@ -389,6 +390,7 @@ requires-dist = [
|
|
389 |
{ name = "datasets", specifier = ">=4.0.0" },
|
390 |
{ name = "faiss-cpu", specifier = ">=1.11.0.post1" },
|
391 |
{ name = "gradio", extras = ["mcp"], specifier = ">=5.38.2" },
|
|
|
392 |
{ name = "hf-transfer", specifier = ">=0.1.9" },
|
393 |
{ name = "loguru", specifier = ">=0.7.3" },
|
394 |
{ name = "polars", specifier = ">=1.31.0" },
|
@@ -692,6 +694,18 @@ wheels = [
|
|
692 |
{ url = "https://files.pythonhosted.org/packages/e0/38/7f50ae95de8fa419276742230f57a34e8c0f47231da0ad54479dd0088972/gradio_client-1.11.0-py3-none-any.whl", hash = "sha256:afb714aea50224f6f04679fe2ce79c1be75011012d0dc3b3ee575610a0dc8eb2", size = 324452, upload-time = "2025-07-17T02:02:44.542Z" },
|
693 |
]
|
694 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
695 |
[[package]]
|
696 |
name = "groovy"
|
697 |
version = "0.1.2"
|
|
|
376 |
{ name = "datasets" },
|
377 |
{ name = "faiss-cpu" },
|
378 |
{ name = "gradio", extra = ["mcp"] },
|
379 |
+
{ name = "gradio-modal" },
|
380 |
{ name = "hf-transfer" },
|
381 |
{ name = "loguru" },
|
382 |
{ name = "polars" },
|
|
|
390 |
{ name = "datasets", specifier = ">=4.0.0" },
|
391 |
{ name = "faiss-cpu", specifier = ">=1.11.0.post1" },
|
392 |
{ name = "gradio", extras = ["mcp"], specifier = ">=5.38.2" },
|
393 |
+
{ name = "gradio-modal", specifier = ">=0.0.4" },
|
394 |
{ name = "hf-transfer", specifier = ">=0.1.9" },
|
395 |
{ name = "loguru", specifier = ">=0.7.3" },
|
396 |
{ name = "polars", specifier = ">=1.31.0" },
|
|
|
694 |
{ url = "https://files.pythonhosted.org/packages/e0/38/7f50ae95de8fa419276742230f57a34e8c0f47231da0ad54479dd0088972/gradio_client-1.11.0-py3-none-any.whl", hash = "sha256:afb714aea50224f6f04679fe2ce79c1be75011012d0dc3b3ee575610a0dc8eb2", size = 324452, upload-time = "2025-07-17T02:02:44.542Z" },
|
695 |
]
|
696 |
|
697 |
+
[[package]]
|
698 |
+
name = "gradio-modal"
|
699 |
+
version = "0.0.4"
|
700 |
+
source = { registry = "https://pypi.org/simple" }
|
701 |
+
dependencies = [
|
702 |
+
{ name = "gradio" },
|
703 |
+
]
|
704 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e2/fd/3b383f9ee8d60625e9e26871ba4adcacbedeab132041b94290758e02e543/gradio_modal-0.0.4.tar.gz", hash = "sha256:717ae699072a171648cfa1b84bc153be84e92d04e9ad58c1bc59af68ef332726", size = 1180812, upload-time = "2024-10-15T23:46:06.134Z" }
|
705 |
+
wheels = [
|
706 |
+
{ url = "https://files.pythonhosted.org/packages/05/3d/76f454de84ae1dccbf2b7023e933afb8dde5fdd89e9476786726ef770737/gradio_modal-0.0.4-py3-none-any.whl", hash = "sha256:d96e817d2e934d9e1b835b06474f45fd349b5ccea499d1536bfb4bd38f62dedb", size = 1106241, upload-time = "2024-10-15T23:46:04.13Z" },
|
707 |
+
]
|
708 |
+
|
709 |
[[package]]
|
710 |
name = "groovy"
|
711 |
version = "0.1.2"
|