| import os |
| from typing import List |
|
|
| from pydantic import BaseModel |
|
|
|
|
| class EvalParams(BaseModel): |
| competition_id: str |
| competition_type: str |
| metric: str |
| token: str |
| team_id: str |
| submission_id: str |
| submission_id_col: str |
| submission_cols: List[str] |
| submission_rows: int |
| output_path: str |
| submission_repo: str |
| time_limit: int |
| dataset: str |
|
|
| class Config: |
| protected_namespaces = () |
|
|
| def save(self, output_dir): |
| """ |
| Save parameters to a json file. |
| """ |
| os.makedirs(output_dir, exist_ok=True) |
| path = os.path.join(output_dir, "params.json") |
| |
| with open(path, "w", encoding="utf-8") as f: |
| f.write(self.model_dump_json(indent=4)) |
|
|