Spaces:
Running
Running
File size: 1,801 Bytes
8fa3dd6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | from __future__ import annotations
import argparse
import os
from pathlib import Path
def main() -> None:
parser = argparse.ArgumentParser(description="Upload the public-safe Ares Static Space files to Hugging Face.")
parser.add_argument("--repo-id", default="jacmor64/ares-static-lab", help="Space repo id, e.g. jacmor64/ares-static-lab")
parser.add_argument("--root", default=".")
parser.add_argument("--message", default="Update Ares Static Lab")
parser.add_argument("--private", action="store_true", help="Create Space as private if it does not exist")
args = parser.parse_args()
token = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN")
if not token:
raise SystemExit("Set HF_TOKEN in the environment. Do not write it into any repo file.")
try:
from huggingface_hub import HfApi, upload_folder
except ImportError as exc:
raise SystemExit("Install huggingface_hub first: pip install huggingface_hub") from exc
root = Path(args.root).resolve()
api = HfApi(token=token)
api.create_repo(args.repo_id, repo_type="space", space_sdk="static", private=args.private, exist_ok=True)
upload_folder(
folder_path=str(root),
repo_id=args.repo_id,
repo_type="space",
token=token,
commit_message=args.message,
ignore_patterns=[
".git/*", "artifacts/*", "checkpoints/*", "runs/*", "wandb/*", "raw_data/*", "processed_data/*",
"**/__pycache__/*", "**/.ipynb_checkpoints/*", "*.pt", "*.pth", "*.ckpt", "*.safetensors", "*.bin",
"*.db", "*.sqlite", "*.sqlite3", ".env", "kaggle.json", ".netrc",
],
)
print(f"Uploaded {root} to https://huggingface.co/spaces/{args.repo_id}")
if __name__ == "__main__":
main()
|