Spaces:
Running
Running
Commit
·
32f75dc
1
Parent(s):
d944488
Update app.py: Fix missing environment variables and improve dataframe filtering
Browse files
app.py
CHANGED
@@ -26,9 +26,12 @@ REMOVE_ORGS = {
|
|
26 |
HF_TOKEN = os.getenv("HF_TOKEN")
|
27 |
USER_AGENT = os.getenv("USER_AGENT")
|
28 |
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
headers = {"authorization": f"Bearer
|
31 |
-
|
32 |
|
33 |
client = Client(
|
34 |
headers=headers,
|
@@ -99,9 +102,7 @@ def render_model_hub_link(hub_id):
|
|
99 |
def get_datasets():
|
100 |
return list(
|
101 |
tqdm(
|
102 |
-
iter(
|
103 |
-
list_datasets(limit=LIMIT, full=True, sort="createdAt", direction=-1)
|
104 |
-
)
|
105 |
)
|
106 |
)
|
107 |
|
@@ -130,7 +131,7 @@ columns_to_drop = [
|
|
130 |
"_id",
|
131 |
"private",
|
132 |
"author",
|
133 |
-
|
134 |
"lastModified",
|
135 |
]
|
136 |
|
@@ -165,15 +166,22 @@ def filter_by_readme_len(df, min_len=None):
|
|
165 |
|
166 |
|
167 |
def filter_df(max_age_days=None, min_len=None, needs_server_preview: bool = False):
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
|
179 |
with gr.Blocks() as demo:
|
@@ -204,21 +212,34 @@ with gr.Blocks() as demo:
|
|
204 |
interactive=True,
|
205 |
)
|
206 |
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
filter_df,
|
220 |
-
|
221 |
-
|
|
|
|
|
222 |
)
|
223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
demo.launch()
|
|
|
26 |
HF_TOKEN = os.getenv("HF_TOKEN")
|
27 |
USER_AGENT = os.getenv("USER_AGENT")
|
28 |
|
29 |
+
if not HF_TOKEN or not USER_AGENT:
|
30 |
+
raise ValueError(
|
31 |
+
"Missing required environment variables. Please ensure both HF_TOKEN and USER_AGENT are set."
|
32 |
+
)
|
33 |
|
34 |
+
headers = {"authorization": f"Bearer {HF_TOKEN}", "user-agent": USER_AGENT}
|
|
|
35 |
|
36 |
client = Client(
|
37 |
headers=headers,
|
|
|
102 |
def get_datasets():
|
103 |
return list(
|
104 |
tqdm(
|
105 |
+
iter(list_datasets(limit=LIMIT, full=True, sort="createdAt", direction=-1))
|
|
|
|
|
106 |
)
|
107 |
)
|
108 |
|
|
|
131 |
"_id",
|
132 |
"private",
|
133 |
"author",
|
134 |
+
# "citation",
|
135 |
"lastModified",
|
136 |
]
|
137 |
|
|
|
166 |
|
167 |
|
168 |
def filter_df(max_age_days=None, min_len=None, needs_server_preview: bool = False):
|
169 |
+
try:
|
170 |
+
df = prep_dataframe()
|
171 |
+
if needs_server_preview:
|
172 |
+
df = df[df["server_preview"] == True]
|
173 |
+
if max_age_days is not None:
|
174 |
+
df = filter_df_by_max_age(df, max_age_days=max_age_days)
|
175 |
+
if min_len is not None:
|
176 |
+
df = filter_by_readme_len(df, min_len=min_len)
|
177 |
+
df = df.sort_values(by=["likes", "downloads", "len"], ascending=False)
|
178 |
+
return df
|
179 |
+
except Exception as e:
|
180 |
+
print(f"Error filtering dataframe: {str(e)}")
|
181 |
+
# Return empty dataframe with same columns if there's an error
|
182 |
+
return pd.DataFrame(
|
183 |
+
columns=["id", "likes", "downloads", "len", "createdAt", "server_preview"]
|
184 |
+
)
|
185 |
|
186 |
|
187 |
with gr.Blocks() as demo:
|
|
|
212 |
interactive=True,
|
213 |
)
|
214 |
|
215 |
+
# gr.Markdown(
|
216 |
+
# """
|
217 |
+
# <style>
|
218 |
+
# #dataset_table {
|
219 |
+
# height: 1000px;
|
220 |
+
# overflow: auto;
|
221 |
+
# }
|
222 |
+
# </style>
|
223 |
+
# """
|
224 |
+
# )
|
225 |
+
|
226 |
+
output = gr.DataFrame(
|
227 |
+
value=filter_df(7, 300, False), # Set initial values explicitly
|
228 |
+
interactive=False,
|
229 |
+
datatype="markdown",
|
230 |
+
min_width=160 * 2.5,
|
231 |
+
elem_id="dataset_table",
|
232 |
)
|
233 |
|
234 |
+
def update_df(age, length, preview):
|
235 |
+
return filter_df(age, length, preview)
|
236 |
+
|
237 |
+
# Use a single update function for all inputs
|
238 |
+
for component in [max_age_days, min_len, needs_server_preview]:
|
239 |
+
component.change(
|
240 |
+
fn=update_df,
|
241 |
+
inputs=[max_age_days, min_len, needs_server_preview],
|
242 |
+
outputs=[output],
|
243 |
+
)
|
244 |
+
|
245 |
demo.launch()
|