from __future__ import annotations from dataclasses import dataclass, field from pathlib import Path from typing import Any import pandas as pd @dataclass class SessionState: session_id: str workdir: Path uploaded_file_path: str | None = None uploaded_filename: str | None = None available_sheets: list[str] = field(default_factory=list) df_original: pd.DataFrame | None = None df_filtrado: pd.DataFrame | None = None df_geo_origem: pd.DataFrame | None = None coluna_y: str | None = None colunas_x: list[str] = field(default_factory=list) dicotomicas: list[str] = field(default_factory=list) codigo_alocado: list[str] = field(default_factory=list) percentuais: list[str] = field(default_factory=list) transformacao_y: str = "(x)" transformacoes_x: dict[str, str] = field(default_factory=dict) resultados_busca: list[dict[str, Any]] = field(default_factory=list) resultado_modelo: dict[str, Any] | None = None tabela_estatisticas: pd.DataFrame | None = None tabela_metricas_estado: pd.DataFrame | None = None outliers_anteriores: list[int] = field(default_factory=list) iteracao: int = 1 avaliacoes_elaboracao: list[dict[str, Any]] = field(default_factory=list) geo_falhas_df: pd.DataFrame | None = None geo_col_cdlog: str | None = None geo_col_num: str | None = None mapa_habilitado: bool = False coluna_data_mercado: str | None = None periodo_dados_mercado_inicio: str | None = None periodo_dados_mercado_fim: str | None = None pacote_visualizacao: dict[str, Any] | None = None dados_visualizacao: pd.DataFrame | None = None avaliacoes_visualizacao: list[dict[str, Any]] = field(default_factory=list) graficos_dispersao_cache: dict[str, dict[str, Any]] = field(default_factory=dict) elaborador: dict[str, Any] | None = None def reset_modelo(self) -> None: self.resultados_busca = [] self.resultado_modelo = None self.tabela_estatisticas = None self.tabela_metricas_estado = None self.avaliacoes_elaboracao = [] self.transformacao_y = "(x)" self.transformacoes_x = {} self.graficos_dispersao_cache = {} def reset_visualizacao(self) -> None: self.pacote_visualizacao = None self.dados_visualizacao = None self.avaliacoes_visualizacao = []