fix hugging face cache issues
Browse files- .gitignore +1 -0
- panel_app/panel_v2_backend.py +11 -2
.gitignore
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
/__pycache__
|
| 4 |
__pycache__
|
| 5 |
/data2
|
|
|
|
| 6 |
# /physical_db/physical_database.csv
|
| 7 |
# /physical_db
|
| 8 |
|
|
|
|
| 3 |
/__pycache__
|
| 4 |
__pycache__
|
| 5 |
/data2
|
| 6 |
+
/.cache
|
| 7 |
# /physical_db/physical_database.csv
|
| 8 |
# /physical_db
|
| 9 |
|
panel_app/panel_v2_backend.py
CHANGED
|
@@ -10,8 +10,17 @@ def _project_root() -> str:
|
|
| 10 |
|
| 11 |
|
| 12 |
def cache_root() -> str:
|
| 13 |
-
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
os.makedirs(path, exist_ok=True)
|
| 16 |
return path
|
| 17 |
|
|
|
|
| 10 |
|
| 11 |
|
| 12 |
def cache_root() -> str:
|
| 13 |
+
# Priority: env var > /tmp (for HF Spaces/containers) > project root (local dev)
|
| 14 |
+
env_cache = os.environ.get("CACHE_DIR")
|
| 15 |
+
if env_cache:
|
| 16 |
+
path = os.path.join(env_cache, "panel_app_v2")
|
| 17 |
+
elif os.path.exists("/tmp") and os.access("/tmp", os.W_OK):
|
| 18 |
+
# On Hugging Face Spaces and Linux containers, /tmp is always writable
|
| 19 |
+
path = os.path.join("/tmp", "panel_app_v2_cache")
|
| 20 |
+
else:
|
| 21 |
+
# Fallback to project root for local development
|
| 22 |
+
root = _project_root()
|
| 23 |
+
path = os.path.join(root, ".cache", "panel_app_v2")
|
| 24 |
os.makedirs(path, exist_ok=True)
|
| 25 |
return path
|
| 26 |
|