sage / hf_push.py
sage002's picture
SAGE model repository : Updating some model checkpoints
773566b verified
"""Upload SAGE model repository contents to the Hugging Face Hub.
Only uploads files relevant to the model: source code, configs,
tokenizer assets, documentation, and serving infrastructure.
Debug scripts, test suites, IDE files, checkpoints, and build
artifacts are excluded.
"""
from __future__ import annotations
import os
from huggingface_hub import HfApi
REPO_ID = "sage002/sage"
DEFAULT_COMMIT_MESSAGE = "SAGE model repository : Updating some model checkpoints "
HF_IGNORE_PATTERNS = [
".git/*",
".gitignore",
".idea/*",
".pytest_cache/*",
".venv/*",
"__pycache__/*",
"*.pyc",
"*.pyo",
"checkpoints/*",
"runs/*",
"wandb/*",
"logs/*",
"data/raw/*",
"data/processed/*",
"debug/*",
"tests/*",
"*.log",
]
def main() -> None:
"""Replace the remote Hugging Face repo contents with the local folder state."""
api = HfApi()
commit_message = os.environ.get("HF_COMMIT_MESSAGE", DEFAULT_COMMIT_MESSAGE)
print(f"Syncing current repository to {REPO_ID}...")
api.upload_folder(
folder_path=".",
repo_id=REPO_ID,
repo_type="model",
ignore_patterns=HF_IGNORE_PATTERNS,
delete_patterns="*",
commit_message=commit_message,
)
print("Sync complete.")
if __name__ == "__main__":
main()