from dataclasses import dataclass @dataclass class ColumnContent: name: str type: str displayed_by_default: bool hidden: bool = False def fields(raw_class): return [ v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__" ] @dataclass(frozen=True) class AutoEvalColumn: # Auto evals column model = ColumnContent("model", "markdown", True) base_average = ColumnContent("BaseAverage", "number", True) struct_average = ColumnContent("📝StructAverage", "number", True) base_mmlu = ColumnContent("BaseMMLU", "number", True) struct_mmlu = ColumnContent("📝StructMMLU", "number", True) base_arc = ColumnContent("BaseARC", "number", True) struct_arc = ColumnContent("📝StructARC", "number", True) base_openbook = ColumnContent("BaseOpenbook", "number", True) struct_openbook = ColumnContent("📝StructOpenbook", "number", True)