Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -164,21 +164,38 @@ class VisualizationRequest(BaseModel):
|
|
164 |
title: Optional[str] = None
|
165 |
x_label: Optional[str] = None
|
166 |
y_label: Optional[str] = None
|
167 |
-
style: str = "seaborn"
|
168 |
filters: Optional[dict] = None
|
169 |
|
170 |
class NaturalLanguageRequest(BaseModel):
|
171 |
prompt: str
|
172 |
-
style: str = "seaborn"
|
173 |
|
174 |
def validate_matplotlib_style(style: str) -> str:
|
175 |
"""Validate and return a valid matplotlib style"""
|
176 |
available_styles = plt.style.available
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
if style in available_styles:
|
178 |
return style
|
|
|
179 |
logger.warning(f"Invalid style '{style}'. Available styles: {available_styles}")
|
180 |
-
return "seaborn" # Default fallback
|
181 |
|
|
|
|
|
|
|
182 |
def generate_visualization_code(df: pd.DataFrame, request: VisualizationRequest) -> str:
|
183 |
"""Generate Python code for visualization based on request parameters"""
|
184 |
# Validate style
|
@@ -307,7 +324,7 @@ def interpret_natural_language(prompt: str, df_columns: list) -> VisualizationRe
|
|
307 |
y_column=y_col,
|
308 |
hue_column=hue_col,
|
309 |
title="Generated from: " + prompt[:50] + ("..." if len(prompt) > 50 else ""),
|
310 |
-
style="seaborn"
|
311 |
)
|
312 |
|
313 |
@app.post("/summarize")
|
@@ -416,7 +433,7 @@ async def visualize_with_code(
|
|
416 |
title: Optional[str] = Form(None),
|
417 |
x_label: Optional[str] = Form(None),
|
418 |
y_label: Optional[str] = Form(None),
|
419 |
-
style: str = Form("seaborn"),
|
420 |
filters: Optional[str] = Form(None)
|
421 |
):
|
422 |
try:
|
@@ -467,7 +484,7 @@ async def visualize_with_natural_language(
|
|
467 |
request: Request,
|
468 |
file: UploadFile = File(...),
|
469 |
prompt: str = Form(...),
|
470 |
-
style: str = Form("seaborn")
|
471 |
):
|
472 |
try:
|
473 |
# Validate file
|
|
|
164 |
title: Optional[str] = None
|
165 |
x_label: Optional[str] = None
|
166 |
y_label: Optional[str] = None
|
167 |
+
style: str = "seaborn-v0_8" # Updated default
|
168 |
filters: Optional[dict] = None
|
169 |
|
170 |
class NaturalLanguageRequest(BaseModel):
|
171 |
prompt: str
|
172 |
+
style: str = "seaborn-v0_8"
|
173 |
|
174 |
def validate_matplotlib_style(style: str) -> str:
|
175 |
"""Validate and return a valid matplotlib style"""
|
176 |
available_styles = plt.style.available
|
177 |
+
# Map legacy style names to current ones
|
178 |
+
style_mapping = {
|
179 |
+
'seaborn': 'seaborn-v0_8',
|
180 |
+
'seaborn-white': 'seaborn-v0_8-white',
|
181 |
+
'seaborn-dark': 'seaborn-v0_8-dark',
|
182 |
+
# Add other legacy mappings if needed
|
183 |
+
}
|
184 |
+
|
185 |
+
# Check if it's a legacy name we can map
|
186 |
+
if style in style_mapping:
|
187 |
+
return style_mapping[style]
|
188 |
+
|
189 |
+
# Check if it's a valid current style
|
190 |
if style in available_styles:
|
191 |
return style
|
192 |
+
|
193 |
logger.warning(f"Invalid style '{style}'. Available styles: {available_styles}")
|
194 |
+
return "seaborn-v0_8" # Default fallback to current seaborn style
|
195 |
|
196 |
+
|
197 |
+
|
198 |
+
|
199 |
def generate_visualization_code(df: pd.DataFrame, request: VisualizationRequest) -> str:
|
200 |
"""Generate Python code for visualization based on request parameters"""
|
201 |
# Validate style
|
|
|
324 |
y_column=y_col,
|
325 |
hue_column=hue_col,
|
326 |
title="Generated from: " + prompt[:50] + ("..." if len(prompt) > 50 else ""),
|
327 |
+
style="seaborn-v0_8" # Updated default
|
328 |
)
|
329 |
|
330 |
@app.post("/summarize")
|
|
|
433 |
title: Optional[str] = Form(None),
|
434 |
x_label: Optional[str] = Form(None),
|
435 |
y_label: Optional[str] = Form(None),
|
436 |
+
style: str = Form("seaborn-v0_8"), # Updated default
|
437 |
filters: Optional[str] = Form(None)
|
438 |
):
|
439 |
try:
|
|
|
484 |
request: Request,
|
485 |
file: UploadFile = File(...),
|
486 |
prompt: str = Form(...),
|
487 |
+
style: str = Form("seaborn-v0_8")
|
488 |
):
|
489 |
try:
|
490 |
# Validate file
|