File size: 1,617 Bytes
9537200 |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#!/usr/bin/env python3
"""Upload dataset/model to Hugging Face Hub."""
import os
import argparse
from huggingface_hub import login, upload_folder, HfApi
def main():
parser = argparse.ArgumentParser(description="Upload to Hugging Face Hub")
parser.add_argument(
"--repo-id",
default="shk-bd/Sheikh-Freemium",
help="HuggingFace repo ID (default: shk-bd/Sheikh-Freemium)"
)
parser.add_argument(
"--repo-type",
choices=["model", "dataset", "space"],
default="model",
help="Repository type (default: model)"
)
parser.add_argument(
"--folder",
default=".",
help="Folder to upload (default: current directory)"
)
parser.add_argument(
"--token",
default=None,
help="HuggingFace token (or set HF_TOKEN env var)"
)
args = parser.parse_args()
# Login
token = args.token or os.environ.get("HF_TOKEN")
if token:
login(token=token)
else:
print("No token provided. Using cached credentials or interactive login.")
login()
# Verify connection
api = HfApi()
user = api.whoami()
print(f"Logged in as: {user['name']}")
# Upload
print(f"Uploading {args.folder} to {args.repo_id} ({args.repo_type})...")
upload_folder(
folder_path=args.folder,
repo_id=args.repo_id,
repo_type=args.repo_type,
ignore_patterns=["*.git*", "__pycache__", "*.pyc", ".env"]
)
print("Upload complete!")
print(f"View at: https://huggingface.co/{args.repo_id}")
if __name__ == "__main__":
main()
|