Spaces:
Running
Running
yangzhitao
commited on
Commit
·
b5bc528
1
Parent(s):
15462ae
fix: simplify prepare_space function by removing global flag and ensuring data downloads are always executed
Browse files- src/prepare.py +10 -12
src/prepare.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
| 1 |
-
import os
|
| 2 |
import sys
|
| 3 |
import typing
|
| 4 |
from functools import lru_cache
|
|
@@ -20,20 +19,13 @@ if sys.version_info < (3, 11):
|
|
| 20 |
else:
|
| 21 |
from tomllib import load as toml_load
|
| 22 |
|
| 23 |
-
PREPARED_FLAG: bool = os.getenv("NO_DOWNLOAD", 0) == 1
|
| 24 |
-
|
| 25 |
|
|
|
|
|
|
|
| 26 |
def prepare_space():
|
| 27 |
"""Space initialisation"""
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
if not PREPARED_FLAG:
|
| 31 |
-
download_results()
|
| 32 |
-
download_queue()
|
| 33 |
-
PREPARED_FLAG = True
|
| 34 |
-
|
| 35 |
-
load_meta_toml()
|
| 36 |
-
load_display_toml()
|
| 37 |
|
| 38 |
|
| 39 |
def download_results():
|
|
@@ -46,6 +38,7 @@ def download_results():
|
|
| 46 |
etag_timeout=30,
|
| 47 |
token=settings.HF_TOKEN.get_secret_value(),
|
| 48 |
)
|
|
|
|
| 49 |
except Exception as e:
|
| 50 |
logger.error(f"Error downloading eval queue: {e!s}")
|
| 51 |
restart_space(settings.REPO_ID)
|
|
@@ -62,6 +55,7 @@ def download_queue():
|
|
| 62 |
allow_patterns=["leaderboard/*.toml", "leaderboard/**/*.json"],
|
| 63 |
token=settings.HF_TOKEN.get_secret_value(),
|
| 64 |
)
|
|
|
|
| 65 |
except Exception as e:
|
| 66 |
logger.error(f"Error downloading eval queue: {e!s}")
|
| 67 |
restart_space(settings.REPO_ID)
|
|
@@ -69,6 +63,8 @@ def download_queue():
|
|
| 69 |
|
| 70 |
@lru_cache(maxsize=1)
|
| 71 |
def load_meta_toml() -> "MetaToml":
|
|
|
|
|
|
|
| 72 |
meta_toml_path = Path(settings.EVAL_RESULTS_PATH) / "leaderboard" / "meta.toml"
|
| 73 |
logger.info(f'Loading meta.toml from: {meta_toml_path.as_posix()!r}')
|
| 74 |
with meta_toml_path.open("rb") as f:
|
|
@@ -81,6 +77,8 @@ def load_meta_toml() -> "MetaToml":
|
|
| 81 |
|
| 82 |
@lru_cache(maxsize=1)
|
| 83 |
def load_display_toml() -> "DisplayToml":
|
|
|
|
|
|
|
| 84 |
display_toml_path = Path(settings.EVAL_RESULTS_PATH) / "leaderboard" / "display.toml"
|
| 85 |
logger.info(f'Loading display.toml from: {display_toml_path.as_posix()!r}')
|
| 86 |
with display_toml_path.open("rb") as f:
|
|
|
|
|
|
|
| 1 |
import sys
|
| 2 |
import typing
|
| 3 |
from functools import lru_cache
|
|
|
|
| 19 |
else:
|
| 20 |
from tomllib import load as toml_load
|
| 21 |
|
|
|
|
|
|
|
| 22 |
|
| 23 |
+
# Use cache to avoid downloading the same data multiple times
|
| 24 |
+
@lru_cache(maxsize=1)
|
| 25 |
def prepare_space():
|
| 26 |
"""Space initialisation"""
|
| 27 |
+
download_results()
|
| 28 |
+
download_queue()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
|
| 31 |
def download_results():
|
|
|
|
| 38 |
etag_timeout=30,
|
| 39 |
token=settings.HF_TOKEN.get_secret_value(),
|
| 40 |
)
|
| 41 |
+
logger.info("Downloaded eval queue")
|
| 42 |
except Exception as e:
|
| 43 |
logger.error(f"Error downloading eval queue: {e!s}")
|
| 44 |
restart_space(settings.REPO_ID)
|
|
|
|
| 55 |
allow_patterns=["leaderboard/*.toml", "leaderboard/**/*.json"],
|
| 56 |
token=settings.HF_TOKEN.get_secret_value(),
|
| 57 |
)
|
| 58 |
+
logger.info("Downloaded eval results")
|
| 59 |
except Exception as e:
|
| 60 |
logger.error(f"Error downloading eval queue: {e!s}")
|
| 61 |
restart_space(settings.REPO_ID)
|
|
|
|
| 63 |
|
| 64 |
@lru_cache(maxsize=1)
|
| 65 |
def load_meta_toml() -> "MetaToml":
|
| 66 |
+
prepare_space()
|
| 67 |
+
|
| 68 |
meta_toml_path = Path(settings.EVAL_RESULTS_PATH) / "leaderboard" / "meta.toml"
|
| 69 |
logger.info(f'Loading meta.toml from: {meta_toml_path.as_posix()!r}')
|
| 70 |
with meta_toml_path.open("rb") as f:
|
|
|
|
| 77 |
|
| 78 |
@lru_cache(maxsize=1)
|
| 79 |
def load_display_toml() -> "DisplayToml":
|
| 80 |
+
prepare_space()
|
| 81 |
+
|
| 82 |
display_toml_path = Path(settings.EVAL_RESULTS_PATH) / "leaderboard" / "display.toml"
|
| 83 |
logger.info(f'Loading display.toml from: {display_toml_path.as_posix()!r}')
|
| 84 |
with display_toml_path.open("rb") as f:
|