2B / push_to_huggingface.py
37-AN
Update for Hugging Face Space deployment
2a735cc
#!/usr/bin/env python
"""
Push fixes directly to Hugging Face using the Hub API for more reliable authentication
"""
import os
import sys
import tempfile
import shutil
from getpass import getpass
from huggingface_hub import HfApi, create_repo
def push_fixes():
print("=" * 60)
print(" Push AI Response and File Upload Fixes to Hugging Face Space")
print("=" * 60)
# Get credentials
username = input("Enter your Hugging Face username: ")
token = getpass("Enter your Hugging Face token: ")
space_name = input("Enter your Space name (just the name, not including your username): ")
try:
# Initialize the Hugging Face API
api = HfApi(token=token)
# Print user info to confirm authentication
print("\nAuthenticating with Hugging Face...")
user_info = api.whoami()
print(f"Authenticated as: {user_info['name']} (@{user_info['fullname']})")
# Space repository ID
repo_id = f"{username}/{space_name}"
print(f"\nPreparing to update Space: {repo_id}")
print(f"Space URL: https://huggingface.co/spaces/{repo_id}")
# Create a list of files to upload
files_to_upload = [
"app/core/memory.py",
"app/core/ingestion.py",
"app/ui/streamlit_app.py"
]
# Upload each file
print("\nUploading files:")
for file_path in files_to_upload:
try:
print(f" - Uploading {file_path}...")
api.upload_file(
path_or_fileobj=file_path,
path_in_repo=file_path,
repo_id=repo_id,
repo_type="space",
commit_message=f"Fix: Improve {os.path.basename(file_path)} for better AI responses and file uploads"
)
print(f" Success!")
except Exception as e:
print(f" Error uploading {file_path}: {str(e)}")
return False
print("\n✅ All files uploaded successfully!")
print(f"View your Space at: https://huggingface.co/spaces/{username}/{space_name}")
print("Note: It may take a few minutes for your Space to rebuild with the new changes.")
return True
except Exception as e:
print(f"\n❌ Error: {str(e)}")
return False
if __name__ == "__main__":
# Check if huggingface_hub is installed
try:
import huggingface_hub
except ImportError:
print("Error: huggingface_hub package is not installed.")
print("Installing huggingface_hub...")
import subprocess
subprocess.check_call([sys.executable, "-m", "pip", "install", "huggingface_hub"])
print("huggingface_hub installed. Please run the script again.")
sys.exit(1)
# Run the push function
if push_fixes():
print("\nPush completed successfully.")
else:
print("\nPush failed. Please check the error messages above.")
sys.exit(1)