Buckets:
| #!/usr/bin/env python | |
| """Publish checkpoints / model card / results to the HF Hub repo. Token from HF_TOKEN env (never written to disk here). | |
| HF_TOKEN=... python hf_publish.py --repo AlexWortega/openjev --ckpt ckpt/qwen3.5-4b-nli --subdir qwen3.5-4b-nli | |
| HF_TOKEN=... python hf_publish.py --repo AlexWortega/openjev --files README.md results/*.json results/*.mp4 assets/*.png | |
| """ | |
| import argparse, glob, os | |
| from huggingface_hub import HfApi | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument("--repo", default="AlexWortega/openjev") | |
| ap.add_argument("--ckpt", default=None) | |
| ap.add_argument("--subdir", default=None, help="path in repo for the checkpoint (default: root)") | |
| ap.add_argument("--files", nargs="*", default=[]) | |
| ap.add_argument("--dest", default="", help="repo folder for --files") | |
| args = ap.parse_args() | |
| api = HfApi(token=os.environ["HF_TOKEN"]) | |
| api.create_repo(args.repo, repo_type="model", exist_ok=True) | |
| if args.ckpt: | |
| api.upload_folder(folder_path=args.ckpt, repo_id=args.repo, path_in_repo=args.subdir or "", repo_type="model", | |
| ignore_patterns=["*_trainer/*", "checkpoint-*"], commit_message=f"upload {os.path.basename(args.ckpt)}") | |
| print("uploaded", args.ckpt) | |
| for pat in args.files: | |
| for f in glob.glob(pat): | |
| api.upload_file(path_or_fileobj=f, path_in_repo=os.path.join(args.dest, os.path.basename(f)) if args.dest else os.path.basename(f) if not f.startswith("results/") else f, | |
| repo_id=args.repo, repo_type="model", commit_message=f"add {f}") | |
| print("uploaded", f) | |
Xet Storage Details
- Size:
- 1.56 kB
- Xet hash:
- e1105a48b470f23cfe8e27e2834593b1aa732c4e66382367d65d0d6fde1ddb29
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.