| #!/usr/bin/env python3 | |
| # -*- coding: utf-8 -*- | |
| """ | |
| Script to upload the InternVL2 files to Hugging Face Spaces | |
| """ | |
| import os | |
| import sys | |
| import getpass | |
| from huggingface_hub import HfApi, create_repo, upload_folder | |
| # Default repository name | |
| DEFAULT_REPO = "mknolan/cursor_slides_internvl2" | |
| def main(): | |
| """Main function to upload files to Hugging Face Spaces""" | |
| # Get Hugging Face token with WRITE access | |
| token = getpass.getpass("Enter your Hugging Face token (with WRITE access): ") | |
| # Get repository name | |
| repo_name = input("Enter repository name (default: {}): ".format(DEFAULT_REPO)) or DEFAULT_REPO | |
| print("Uploading to Space: {}".format(repo_name)) | |
| # Initialize Hugging Face API | |
| api = HfApi(token=token) | |
| try: | |
| # Try to get the repository, create if it doesn't exist | |
| try: | |
| repo = api.repo_info(repo_id=repo_name, repo_type="space") | |
| print("Repo {} ready".format(repo_name)) | |
| except Exception: | |
| print("Creating new Space: {}".format(repo_name)) | |
| create_repo( | |
| repo_id=repo_name, | |
| token=token, | |
| repo_type="space", | |
| space_sdk="gradio", | |
| private=False | |
| ) | |
| # Upload the entire folder at once using upload_folder | |
| print("Uploading files to Hugging Face Space...") | |
| upload_folder( | |
| folder_path=".", # Current directory | |
| repo_id=repo_name, | |
| repo_type="space", | |
| ignore_patterns=[ | |
| ".git*", | |
| "*__pycache__*", | |
| "*.pyc", | |
| ".DS_Store", | |
| "*.ipynb_checkpoints*", | |
| "venv", | |
| ".env" | |
| ], | |
| commit_message="Upload InternVL2 implementation", | |
| token=token | |
| ) | |
| print("Upload completed!") | |
| print("Check your Space at: https://huggingface.co/spaces/{}".format(repo_name)) | |
| except Exception as e: | |
| print("Error: {}".format(e)) | |
| return 1 | |
| return 0 | |
| if __name__ == "__main__": | |
| sys.exit(main()) |