| #!/usr/bin/env python | |
| """Upload this release folder to a Hugging Face model repository.""" | |
| from __future__ import annotations | |
| import argparse | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[1] | |
| def parse_args() -> argparse.Namespace: | |
| parser = argparse.ArgumentParser(description=__doc__) | |
| parser.add_argument("repo_id", help="Example: your-name/acdir-llada-math500") | |
| parser.add_argument("--private", action="store_true", help="Create/update as a private repo.") | |
| parser.add_argument("--revision", default=None) | |
| return parser.parse_args() | |
| def main() -> None: | |
| args = parse_args() | |
| from huggingface_hub import HfApi | |
| api = HfApi() | |
| api.create_repo( | |
| repo_id=args.repo_id, | |
| repo_type="model", | |
| private=bool(args.private), | |
| exist_ok=True, | |
| ) | |
| api.upload_folder( | |
| folder_path=str(ROOT), | |
| repo_id=args.repo_id, | |
| repo_type="model", | |
| revision=args.revision, | |
| ignore_patterns=[ | |
| ".git/*", | |
| ".cache/*", | |
| ".tmp/*", | |
| "outputs/*", | |
| "logs/*", | |
| "tmp/*", | |
| "lmdeploy_direct_backup_*", | |
| "*.out", | |
| "*.err", | |
| "*.log", | |
| "__pycache__/*", | |
| "**/__pycache__/*", | |
| "*.pyc", | |
| "*.pyo", | |
| ], | |
| ) | |
| print(f"Uploaded {ROOT} to https://huggingface.co/{args.repo_id}") | |
| if __name__ == "__main__": | |
| main() | |