File size: 2,740 Bytes
5cd9469
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/bash

# Script para desplegar el Space en Hugging Face
# Uso: ./deploy.sh [nombre-del-space]

set -e

# Colores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Función para imprimir mensajes
print_message() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

print_header() {
    echo -e "${BLUE}================================${NC}"
    echo -e "${BLUE}$1${NC}"
    echo -e "${BLUE}================================${NC}"
}

# Verificar si se proporcionó un nombre
if [ -z "$1" ]; then
    print_error "Debes proporcionar un nombre para el Space"
    echo "Uso: ./deploy.sh [nombre-del-space]"
    echo "Ejemplo: ./deploy.sh modelos-libres-ia"
    exit 1
fi

SPACE_NAME=$1
USERNAME=$(git config user.name || echo "tu-usuario")

print_header "🚀 Desplegando Space: $SPACE_NAME"

# Verificar que estamos en el directorio correcto
if [ ! -f "app.py" ]; then
    print_error "No se encontró app.py. Asegúrate de estar en el directorio correcto."
    exit 1
fi

# Verificar que git está configurado
if ! git config user.name > /dev/null 2>&1; then
    print_warning "Git no está configurado. Configurando..."
    read -p "Ingresa tu nombre de usuario de Git: " git_username
    read -p "Ingresa tu email de Git: " git_email
    git config user.name "$git_username"
    git config user.email "$git_email"
fi

# Verificar que huggingface_hub está instalado
if ! python -c "import huggingface_hub" > /dev/null 2>&1; then
    print_warning "Instalando huggingface_hub..."
    pip install huggingface_hub
fi

print_message "Inicializando repositorio Git..."
git init
git add .

print_message "Haciendo commit inicial..."
git commit -m "Initial commit: Modelos libres de IA"

print_message "Creando Space en Hugging Face..."
huggingface-cli repo create $SPACE_NAME --type space --space-sdk gradio

print_message "Configurando el repositorio remoto..."
git remote add origin https://huggingface.co/spaces/$USERNAME/$SPACE_NAME

print_message "Subiendo archivos al Space..."
git push -u origin main

print_header "✅ ¡Space creado exitosamente!"

echo -e "${GREEN}Tu Space está disponible en:${NC}"
echo -e "${BLUE}https://huggingface.co/spaces/$USERNAME/$SPACE_NAME${NC}"
echo ""
echo -e "${YELLOW}Próximos pasos:${NC}"
echo "1. Ve a la URL del Space"
echo "2. Espera a que se construya (puede tomar unos minutos)"
echo "3. ¡Disfruta usando tus modelos libres!"
echo ""
echo -e "${YELLOW}Para actualizar el Space en el futuro:${NC}"
echo "git add ."
echo "git commit -m 'Actualización'"
echo "git push"
echo ""
print_message "¡Despliegue completado! 🎉"