evijit HF Staff commited on
Commit
8d43079
·
verified ·
1 Parent(s): 34c8618

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -9
app.py CHANGED
@@ -5,6 +5,7 @@ import time
5
  from datasets import load_dataset
6
  # Using the stable, community-built RangeSlider component
7
  from gradio_rangeslider import RangeSlider
 
8
 
9
  # --- Constants ---
10
  PARAM_CHOICES = ['< 1B', '1B', '5B', '12B', '32B', '64B', '128B', '256B', '> 500B']
@@ -45,7 +46,7 @@ def get_param_range_values(param_range_labels):
45
  max_val = float('inf') if '>' in max_label else float(max_label.replace('B', ''))
46
  return min_val, max_val
47
 
48
- def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=None, param_range=None, skip_orgs=None, include_unknown_param_size=True, created_after_date=None):
49
  if df is None or df.empty: return pd.DataFrame()
50
  filtered_df = df.copy()
51
 
@@ -64,13 +65,13 @@ def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=N
64
  if min_params is not None: filtered_df = filtered_df[filtered_df['params'] >= min_params]
65
  if max_params is not None and max_params != float('inf'): filtered_df = filtered_df[filtered_df['params'] < max_params]
66
 
67
- # Filter by creation date
68
  if created_after_date is not None and 'createdAt' in filtered_df.columns:
69
- # Filter out rows where createdAt is NaT (Not a Time) before comparison
70
  filtered_df = filtered_df.dropna(subset=['createdAt'])
71
- # The 'createdAt' column is already datetime from the loading function
72
- filtered_df = filtered_df[filtered_df['createdAt'].dt.date > created_after_date]
73
-
74
 
75
  if skip_orgs and len(skip_orgs) > 0 and "organization" in filtered_df.columns:
76
  filtered_df = filtered_df[~filtered_df["organization"].isin(skip_orgs)]
@@ -130,8 +131,8 @@ with gr.Blocks(title="🤗 ModelVerse Explorer", fill_width=True, css=custom_css
130
  param_range_display = gr.Markdown(f"Range: `{PARAM_CHOICES[0]}` to `{PARAM_CHOICES[-1]}`")
131
  include_unknown_params_checkbox = gr.Checkbox(label="Include models with unknown parameter size", value=True)
132
 
133
- # --- CORRECTED LINE ---
134
- created_after_datepicker = gr.Date(label="Created After", value=None)
135
 
136
  top_k_dropdown = gr.Dropdown(label="Number of Top Organizations", choices=TOP_K_CHOICES, value=25)
137
  skip_orgs_textbox = gr.Textbox(label="Organizations to Skip (comma-separated)", value="TheBloke,MaziyarPanahi,unsloth,modularai,Gensyn,bartowski")
@@ -150,7 +151,10 @@ with gr.Blocks(title="🤗 ModelVerse Explorer", fill_width=True, css=custom_css
150
  def _toggle_unknown_params_checkbox(param_range_indices):
151
  min_idx, max_idx = int(param_range_indices[0]), int(param_range_indices[1])
152
  is_default_range = (min_idx == PARAM_CHOICES_DEFAULT_INDICES[0] and max_idx == PARAM_CHOICES_DEFAULT_INDICES[1])
153
- return gr.update(interactive=is_default_range, value=True if is_default_range else False)
 
 
 
154
 
155
  param_range_slider.change(update_param_display, param_range_slider, param_range_display)
156
  param_range_slider.change(_toggle_unknown_params_checkbox, param_range_slider, include_unknown_params_checkbox)
 
5
  from datasets import load_dataset
6
  # Using the stable, community-built RangeSlider component
7
  from gradio_rangeslider import RangeSlider
8
+ import datetime # Import the datetime module
9
 
10
  # --- Constants ---
11
  PARAM_CHOICES = ['< 1B', '1B', '5B', '12B', '32B', '64B', '128B', '256B', '> 500B']
 
46
  max_val = float('inf') if '>' in max_label else float(max_label.replace('B', ''))
47
  return min_val, max_val
48
 
49
+ def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=None, param_range=None, skip_orgs=None, include_unknown_param_size=True, created_after_date: datetime.datetime = None):
50
  if df is None or df.empty: return pd.DataFrame()
51
  filtered_df = df.copy()
52
 
 
65
  if min_params is not None: filtered_df = filtered_df[filtered_df['params'] >= min_params]
66
  if max_params is not None and max_params != float('inf'): filtered_df = filtered_df[filtered_df['params'] < max_params]
67
 
68
+ # --- CORRECTED DATE FILTER LOGIC FOR datetime OBJECT ---
69
  if created_after_date is not None and 'createdAt' in filtered_df.columns:
70
+ # Drop rows where 'createdAt' could not be parsed
71
  filtered_df = filtered_df.dropna(subset=['createdAt'])
72
+ # The 'created_after_date' is a datetime object from gr.DateTime.
73
+ # Compare its date part with the date part of the 'createdAt' column.
74
+ filtered_df = filtered_df[filtered_df['createdAt'].dt.date > created_after_date.date()]
75
 
76
  if skip_orgs and len(skip_orgs) > 0 and "organization" in filtered_df.columns:
77
  filtered_df = filtered_df[~filtered_df["organization"].isin(skip_orgs)]
 
131
  param_range_display = gr.Markdown(f"Range: `{PARAM_CHOICES[0]}` to `{PARAM_CHOICES[-1]}`")
132
  include_unknown_params_checkbox = gr.Checkbox(label="Include models with unknown parameter size", value=True)
133
 
134
+ # --- CORRECTED COMPONENT BASED ON DOCUMENTATION ---
135
+ created_after_datepicker = gr.DateTime(label="Created After")
136
 
137
  top_k_dropdown = gr.Dropdown(label="Number of Top Organizations", choices=TOP_K_CHOICES, value=25)
138
  skip_orgs_textbox = gr.Textbox(label="Organizations to Skip (comma-separated)", value="TheBloke,MaziyarPanahi,unsloth,modularai,Gensyn,bartowski")
 
151
  def _toggle_unknown_params_checkbox(param_range_indices):
152
  min_idx, max_idx = int(param_range_indices[0]), int(param_range_indices[1])
153
  is_default_range = (min_idx == PARAM_CHOICES_DEFAULT_INDICES[0] and max_idx == PARAM_CHOICES_DEFAULT_INDICES[1])
154
+ if not is_default_range:
155
+ return gr.update(interactive=False, value=False)
156
+ else:
157
+ return gr.update(interactive=True)
158
 
159
  param_range_slider.change(update_param_display, param_range_slider, param_range_display)
160
  param_range_slider.change(_toggle_unknown_params_checkbox, param_range_slider, include_unknown_params_checkbox)