#!/bin/bash # Simpse Hugging Face CLI Deployment Script echo "🚀 Deploying Simpse to Hugging Face Spaces using HF CLI..." # Check if space name is provided if [ -z "$1" ]; then echo "❌ Please provide your desired space name:" echo "Usage: ./deploy-hf-cli.sh SPACE_NAME" echo "Example: ./deploy-hf-cli.sh simpse-demo" echo "" echo "💡 The space will be created as: YOUR_USERNAME/SPACE_NAME" exit 1 fi SPACE_NAME=$1 echo "📁 Space name: $SPACE_NAME" echo "" # Check if user is logged in echo "🔐 Checking authentication..." python3 -m huggingface_hub.commands.huggingface_cli whoami > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "❌ Not logged in to Hugging Face. Please login first:" echo " python3 -m huggingface_hub.commands.huggingface_cli login" echo "" echo "Get your token from: https://huggingface.co/settings/tokens" exit 1 fi USERNAME=$(python3 -m huggingface_hub.commands.huggingface_cli whoami 2>/dev/null | grep -E '^[a-zA-Z0-9-_]+$') echo "✅ Logged in as: $USERNAME" echo "" # Prepare README for Hugging Face echo "📝 Preparing README for Hugging Face..." cp README-HF.md README.md # Create the space echo "🏗️ Creating Hugging Face Space..." python3 -m huggingface_hub.commands.huggingface_cli repo create $SPACE_NAME --type=space --space-sdk=docker --private=false # Check if space creation was successful if [ $? -eq 0 ]; then echo "✅ Space created successfully!" else echo "⚠️ Space may already exist, continuing with upload..." fi echo "" echo "📦 Uploading project files..." # Upload the entire project python3 -m huggingface_hub.commands.huggingface_cli upload $USERNAME/$SPACE_NAME . --repo-type=space if [ $? -eq 0 ]; then echo "" echo "🎉 Deployment successful!" echo "" echo "🌐 Your Simpse demo is available at:" echo " https://huggingface.co/spaces/$USERNAME/$SPACE_NAME" echo "" echo "⏳ Build status: Building... (3-5 minutes)" echo "🔑 Demo login: demo@simpse.re / demo123" echo "" echo "📊 Monitor build progress:" echo " https://huggingface.co/spaces/$USERNAME/$SPACE_NAME/settings" echo "" echo "✨ Features to showcase:" echo " • Professional authentication system" echo " • Interactive property maps (OpenStreetMap)" echo " • Market analytics & data visualization" echo " • Mobile-responsive design" echo " • Real-time Canadian market data" echo "" echo "🚀 Happy demoing!" else echo "" echo "❌ Upload failed. Please check the error messages above." echo "" echo "🔧 Troubleshooting:" echo " 1. Make sure you're logged in: python3 -m huggingface_hub.commands.huggingface_cli whoami" echo " 2. Check your internet connection" echo " 3. Verify the space name is valid (no special characters)" echo " 4. Try manual upload via web interface" fi