Spaces:
Running
Running
| import json | |
| import os | |
| from datetime import datetime | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| from huggingface_hub import hf_hub_download | |
| from huggingface_hub.utils._errors import EntryNotFoundError | |
| if Path(".env").is_file(): | |
| load_dotenv(".env") | |
| MOONLANDING_URL = os.getenv("MOONLANDING_URL") | |
| COMPETITION_ID = os.getenv("COMPETITION_ID") | |
| AUTOTRAIN_USERNAME = os.getenv("AUTOTRAIN_USERNAME") | |
| AUTOTRAIN_TOKEN = os.getenv("AUTOTRAIN_TOKEN") | |
| AUTOTRAIN_BACKEND_API = os.getenv("AUTOTRAIN_BACKEND_API") | |
| class CompetitionInfo: | |
| def __init__(self): | |
| try: | |
| config_fname = hf_hub_download( | |
| repo_id=COMPETITION_ID, | |
| filename="config.json", | |
| use_auth_token=AUTOTRAIN_TOKEN, | |
| repo_type="dataset", | |
| ) | |
| except EntryNotFoundError: | |
| raise Exception("Competition config not found. Please check the competition id.") | |
| except Exception as e: | |
| print(e) | |
| raise Exception("Hugging Face Hub is unreachable, please try again later.") | |
| self.config = self.load_config(config_fname) | |
| def load_config(self, config_path): | |
| with open(config_path) as f: | |
| config = json.load(f) | |
| return config | |
| def submission_limit(self): | |
| return self.config["SUBMISSION_LIMIT"] | |
| def selection_limit(self): | |
| return self.config["SELECTION_LIMIT"] | |
| def end_date(self): | |
| e_d = self.config["END_DATE"] | |
| return datetime.strptime(e_d, "%Y-%m-%d") | |
| def eval_higher_is_better(self): | |
| hb = self.config["EVAL_HIGHER_IS_BETTER"] | |
| return True if int(hb) == 1 else False | |
| def competition_dataset(self): | |
| return self.config["DATASET"] | |
| def competition_description(self): | |
| return self.config["COMPETITION_DESCRIPTION"] | |
| def competition_name(self): | |
| return self.config["COMPETITION_NAME"] | |
| def submission_columns(self): | |
| return self.config["SUBMISSION_COLUMNS"].split(",") | |
| competition_info = CompetitionInfo() | |