Spaces:
Running
Running
Download scripts/push_data_to_hf.py from pablogrois/RRC: direct link, hf CLI and curl.
- Browser
- Download file 1.76 kB
-
https://huggingface.co/spaces/pablogrois/RRC/resolve/main/scripts/push_data_to_hf.py
- Command line
-
hf download hf://spaces/pablogrois/RRC/scripts/push_data_to_hf.py
-
curl -L -o push_data_to_hf.py https://huggingface.co/spaces/pablogrois/RRC/resolve/main/scripts/push_data_to_hf.py
1.76 kB
| """Sube vendor/data al dataset privado `rrc-data` y reinicia el Space RRC. | |
| Es el paso que faltaba en la rutina: el Space baja su data de este dataset al bootear | |
| (``ensure_data`` con ``RR_DATA_REPO``). Subiendo acá los artefactos frescos + reiniciando | |
| el Space, la app de HF queda actualizada. ``upload_folder`` sube SOLO los archivos que | |
| cambiaron (dedupe por hash), así que aunque mande toda la carpeta transfiere poco. | |
| Usa el token HF ya configurado localmente (whoami = pablogrois). Uso: | |
| python racing-reports/scripts/push_data_to_hf.py | |
| """ | |
| from __future__ import annotations | |
| from pathlib import Path | |
| from huggingface_hub import HfApi | |
| DATASET_ID = "pablogrois/rrc-data" | |
| SPACE_ID = "pablogrois/RRC" | |
| DATA_DIR = Path(__file__).resolve().parents[1] / "vendor" / "data" | |
| # Lo que el Space NO usa y no tiene sentido que baje en cada boot (`ensure_data` hace | |
| # snapshot_download de TODO el dataset). `match_team_stats.parquet` son 56 MB que solo | |
| # necesita el build local de la app de Estilos de juego. | |
| NO_SUBIR = ["match_team_stats.parquet"] | |
| def main() -> None: | |
| if not DATA_DIR.is_dir(): | |
| raise SystemExit(f"No existe {DATA_DIR}") | |
| api = HfApi() | |
| who = api.whoami()["name"] | |
| print(f"[hf] usuario {who} → subiendo {DATA_DIR} a datasets/{DATASET_ID} …", flush=True) | |
| api.upload_folder( | |
| folder_path=str(DATA_DIR), | |
| repo_id=DATASET_ID, | |
| repo_type="dataset", | |
| commit_message="Refresh semanal de artefactos (rutina martes)", | |
| ignore_patterns=NO_SUBIR, | |
| ) | |
| print("[hf] dataset actualizado. Reiniciando Space para que re-sincronice…", flush=True) | |
| api.restart_space(SPACE_ID) | |
| print(f"[hf] Space {SPACE_ID} reiniciándose ✓", flush=True) | |
| if __name__ == "__main__": | |
| main() | |