Spaces:
Sleeping
Sleeping
| import os | |
| from huggingface_hub import HfApi, login | |
| def deploy_to_huggingface_space( | |
| repo_name, | |
| username, | |
| folder_path='app', | |
| token=None, | |
| app_file="gradio_app.py" | |
| ): | |
| """ | |
| Pushes the contents of a folder to a new Hugging Face Space. | |
| Args: | |
| repo_name (str): The name of the Space repository to create. | |
| username (str): Your Hugging Face Hub username. | |
| folder_path (str, optional): The local folder to upload. Defaults to 'app'. | |
| token (str, optional): Your Hugging Face Hub write token. | |
| app_file (str, optional): The main application file. Defaults to "gradio_app.py". | |
| """ | |
| if not token: | |
| print("β Hugging Face token not found. Please set the HF_TOKEN environment variable.") | |
| return | |
| # 1. Log in to Hugging Face | |
| print("Logging in to Hugging Face Hub...") | |
| try: | |
| login(token=token, add_to_git_credential=False) | |
| print("β Login successful.") | |
| except Exception as e: | |
| print(f"β Login failed: {e}") | |
| return | |
| api = HfApi() | |
| repo_id = f"{username}/{repo_name}" | |
| # 2. Create the Space repository on the Hub | |
| print(f"Creating Space repository: {repo_id}") | |
| try: | |
| api.create_repo( | |
| repo_id=repo_id, | |
| repo_type="space", | |
| space_sdk="gradio", | |
| exist_ok=True, | |
| ) | |
| print(f"β Space repository '{repo_id}' created or already exists.") | |
| except Exception as e: | |
| print(f"β Error creating repository: {e}") | |
| return | |
| # 3. Upload the entire application folder to the Space | |
| print(f"Uploading contents of '{folder_path}' to '{repo_id}'...") | |
| try: | |
| # This will upload all files from the 'app' directory to the root of the Space repo | |
| api.upload_folder( | |
| folder_path=folder_path, | |
| repo_id=repo_id, | |
| repo_type="space", | |
| ) | |
| print("\nβ Successfully uploaded files to the Hugging Face Space!") | |
| print(f"Interactive demo available at: https://huggingface.co/spaces/{repo_id}") | |
| except Exception as e: | |
| print(f"\nβ An error occurred during upload: {e}") | |
| print("Please ensure your token has 'write' permissions.") | |
| if __name__ == "__main__": | |
| print("="*80) | |
| print("Deploying Gradio App to Hugging Face Spaces") | |
| print("="*80) | |
| # --- User Configuration --- | |
| HF_USERNAME = "LOOFYYLO" | |
| HF_SPACE_NAME = "interactive-futures-model" | |
| # Securely get the token from an environment variable | |
| HF_TOKEN = os.getenv("HF_TOKEN") | |
| if HF_USERNAME == "your-username" or not HF_TOKEN: | |
| print("\nβ οΈ Please configure your Hugging Face username and token.") | |
| print(" - Set HF_USERNAME in this script.") | |
| print(" - Set the HF_TOKEN environment variable with your write token.") | |
| else: | |
| deploy_to_huggingface_space( | |
| repo_name=HF_SPACE_NAME, | |
| username=HF_USERNAME, | |
| token=HF_TOKEN, | |
| folder_path='app' # The folder containing our app files | |
| ) | |
| print("\n" + "="*80) | |