from __future__ import annotations from enum import StrEnum class FieldType(StrEnum): NUMBER = "number" TEXT = "text" DATE = "date" PERCENTAGE = "percentage" GEO = "geo" class ChartType(StrEnum): KPI = "kpi" BAR = "bar" GROUPED_BAR = "grouped-bar" STACKED_BAR = "stacked-bar" HORIZONTAL_BAR = "horizontal-bar" LINE = "line" AREA = "area" PIE = "pie" DONUT = "donut" SCATTER = "scatter" RADAR = "radar" WORDCLOUD = "wordcloud" BOSTON_MATRIX = "boston-matrix" HEATMAP = "heatmap" MAP = "map" COMBO = "combo" DATA_TABLE = "data-table" class DataStructureType(StrEnum): TOTAL = "total" YOY_MOM = "yoy-mom" SINGLE_DIM_SINGLE_METRIC = "single-dim-single-metric" SINGLE_DIM_MULTI_METRIC = "single-dim-multi-metric" DUAL_DIM_SINGLE_METRIC = "dual-dim-single-metric" DUAL_DIM_MULTI_METRIC = "dual-dim-multi-metric" TIME_SERIES = "time-series" GEO = "geo" TEXT_FREQUENCY = "text-frequency" TWO_DIM_EVALUATION = "two-dim-evaluation" class ExportFormat(StrEnum): PNG = "png" JPG = "jpg" SVG = "svg" PDF = "pdf" EXCEL = "excel" PPT = "ppt" HTML = "html" TEMPLATE = "template" class ExportStatus(StrEnum): PENDING = "pending" PROCESSING = "processing" DONE = "done" FAILED = "failed" class TemplateType(StrEnum): BUILTIN = "builtin" CUSTOM = "custom" class AggregationType(StrEnum): SUM = "sum" COUNT = "count" AVG = "avg" MAX = "max" MIN = "min" class FileFormat(StrEnum): XLSX = "xlsx" XLS = "xls" CSV = "csv" JSON = "json"