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
|