Spaces:
Runtime error
Runtime error
Commit ·
d8ffffa
1
Parent(s): 527f68e
fix: use default_factory for mutable defaults in dataclasses for Python 3.13
Browse filesPython 3.13 disallows mutable default values in dataclasses. Changed
ColumnContent instances to use field(default_factory=...) in both
make_dataclass and EvalQueueColumn.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- src/display/utils.py +20 -20
src/display/utils.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
from dataclasses import dataclass, make_dataclass
|
| 2 |
from enum import Enum
|
| 3 |
|
| 4 |
from src.about import Tasks
|
|
@@ -23,22 +23,22 @@ class ColumnContent:
|
|
| 23 |
## Leaderboard columns
|
| 24 |
auto_eval_column_dict = []
|
| 25 |
# Init
|
| 26 |
-
auto_eval_column_dict.append(["model_type_symbol", ColumnContent, ColumnContent("T", "str", True, never_hidden=True)])
|
| 27 |
-
auto_eval_column_dict.append(["model", ColumnContent, ColumnContent("Model", "markdown", True, never_hidden=True)])
|
| 28 |
# Scores
|
| 29 |
-
auto_eval_column_dict.append(["average", ColumnContent, ColumnContent("Average ⬆️", "number", True)])
|
| 30 |
for task in Tasks:
|
| 31 |
-
auto_eval_column_dict.append([task.name, ColumnContent,
|
| 32 |
# Model information
|
| 33 |
-
auto_eval_column_dict.append(["model_type", ColumnContent, ColumnContent("Type", "str", False)])
|
| 34 |
-
auto_eval_column_dict.append(["architecture", ColumnContent, ColumnContent("Architecture", "str", False)])
|
| 35 |
-
auto_eval_column_dict.append(["weight_type", ColumnContent, ColumnContent("Weight type", "str", False, True)])
|
| 36 |
-
auto_eval_column_dict.append(["precision", ColumnContent, ColumnContent("Precision", "str", False)])
|
| 37 |
-
auto_eval_column_dict.append(["license", ColumnContent, ColumnContent("Hub License", "str", False)])
|
| 38 |
-
auto_eval_column_dict.append(["params", ColumnContent, ColumnContent("#Params (B)", "number", False)])
|
| 39 |
-
auto_eval_column_dict.append(["likes", ColumnContent, ColumnContent("Hub ❤️", "number", False)])
|
| 40 |
-
auto_eval_column_dict.append(["still_on_hub", ColumnContent, ColumnContent("Available on the hub", "bool", False)])
|
| 41 |
-
auto_eval_column_dict.append(["revision", ColumnContent, ColumnContent("Model sha", "str", False, False)])
|
| 42 |
|
| 43 |
# We use make dataclass to dynamically fill the scores from Tasks
|
| 44 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict)
|
|
@@ -47,12 +47,12 @@ AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict)
|
|
| 47 |
## For the queue columns in the submission tab
|
| 48 |
@dataclass
|
| 49 |
class EvalQueueColumn: # Queue column
|
| 50 |
-
model = ColumnContent("model", "markdown", True)
|
| 51 |
-
revision = ColumnContent("revision", "str", True)
|
| 52 |
-
private = ColumnContent("private", "bool", True)
|
| 53 |
-
precision = ColumnContent("precision", "str", True)
|
| 54 |
-
weight_type = ColumnContent("weight_type", "str", "Original")
|
| 55 |
-
status = ColumnContent("status", "str", True)
|
| 56 |
|
| 57 |
|
| 58 |
## All the model information that we might need
|
|
|
|
| 1 |
+
from dataclasses import dataclass, field, make_dataclass
|
| 2 |
from enum import Enum
|
| 3 |
|
| 4 |
from src.about import Tasks
|
|
|
|
| 23 |
## Leaderboard columns
|
| 24 |
auto_eval_column_dict = []
|
| 25 |
# Init
|
| 26 |
+
auto_eval_column_dict.append(["model_type_symbol", ColumnContent, field(default_factory=lambda: ColumnContent("T", "str", True, never_hidden=True))])
|
| 27 |
+
auto_eval_column_dict.append(["model", ColumnContent, field(default_factory=lambda: ColumnContent("Model", "markdown", True, never_hidden=True))])
|
| 28 |
# Scores
|
| 29 |
+
auto_eval_column_dict.append(["average", ColumnContent, field(default_factory=lambda: ColumnContent("Average ⬆️", "number", True))])
|
| 30 |
for task in Tasks:
|
| 31 |
+
auto_eval_column_dict.append([task.name, ColumnContent, field(default_factory=lambda t=task: ColumnContent(t.value.col_name, "number", True))])
|
| 32 |
# Model information
|
| 33 |
+
auto_eval_column_dict.append(["model_type", ColumnContent, field(default_factory=lambda: ColumnContent("Type", "str", False))])
|
| 34 |
+
auto_eval_column_dict.append(["architecture", ColumnContent, field(default_factory=lambda: ColumnContent("Architecture", "str", False))])
|
| 35 |
+
auto_eval_column_dict.append(["weight_type", ColumnContent, field(default_factory=lambda: ColumnContent("Weight type", "str", False, True))])
|
| 36 |
+
auto_eval_column_dict.append(["precision", ColumnContent, field(default_factory=lambda: ColumnContent("Precision", "str", False))])
|
| 37 |
+
auto_eval_column_dict.append(["license", ColumnContent, field(default_factory=lambda: ColumnContent("Hub License", "str", False))])
|
| 38 |
+
auto_eval_column_dict.append(["params", ColumnContent, field(default_factory=lambda: ColumnContent("#Params (B)", "number", False))])
|
| 39 |
+
auto_eval_column_dict.append(["likes", ColumnContent, field(default_factory=lambda: ColumnContent("Hub ❤️", "number", False))])
|
| 40 |
+
auto_eval_column_dict.append(["still_on_hub", ColumnContent, field(default_factory=lambda: ColumnContent("Available on the hub", "bool", False))])
|
| 41 |
+
auto_eval_column_dict.append(["revision", ColumnContent, field(default_factory=lambda: ColumnContent("Model sha", "str", False, False))])
|
| 42 |
|
| 43 |
# We use make dataclass to dynamically fill the scores from Tasks
|
| 44 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict)
|
|
|
|
| 47 |
## For the queue columns in the submission tab
|
| 48 |
@dataclass
|
| 49 |
class EvalQueueColumn: # Queue column
|
| 50 |
+
model: ColumnContent = field(default_factory=lambda: ColumnContent("model", "markdown", True))
|
| 51 |
+
revision: ColumnContent = field(default_factory=lambda: ColumnContent("revision", "str", True))
|
| 52 |
+
private: ColumnContent = field(default_factory=lambda: ColumnContent("private", "bool", True))
|
| 53 |
+
precision: ColumnContent = field(default_factory=lambda: ColumnContent("precision", "str", True))
|
| 54 |
+
weight_type: ColumnContent = field(default_factory=lambda: ColumnContent("weight_type", "str", "Original"))
|
| 55 |
+
status: ColumnContent = field(default_factory=lambda: ColumnContent("status", "str", True))
|
| 56 |
|
| 57 |
|
| 58 |
## All the model information that we might need
|