File size: 1,944 Bytes
b0e79f7 | 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 | #!/usr/bin/env python3
"""Create Hugging Face Space via API, then deploy code."""
import os
import sys
import subprocess
from pathlib import Path
# Get token from environment or prompt
TOKEN = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN") or os.environ.get("HUGGING_FACE_TOKEN")
if not TOKEN:
print("ERROR: Set HF_TOKEN environment variable")
sys.exit(1)
SPACE_NAME = os.environ.get("HF_SPACE_NAME", "membra-airmicrodrip")
OWNER = os.environ.get("HF_OWNER", "josephrw")
SPACE_ID = f"{OWNER}/{SPACE_NAME}"
try:
from huggingface_hub import HfApi
except ImportError:
subprocess.run([sys.executable, "-m", "pip", "install", "-q", "huggingface_hub"], check=True)
from huggingface_hub import HfApi
api = HfApi(token=TOKEN)
# Get authenticated user
try:
whoami = api.whoami()
actual_owner = whoami["name"]
print(f"Authenticated as: {actual_owner}")
SPACE_ID = f"{actual_owner}/{SPACE_NAME}"
except Exception as e:
print(f"Auth check failed: {e}")
sys.exit(1)
# Check if space exists
try:
api.repo_info(repo_id=SPACE_ID, repo_type="space")
print(f"Space {SPACE_ID} already exists.")
except Exception:
print(f"Creating Space {SPACE_ID} (docker)...")
try:
api.create_repo(
repo_id=SPACE_ID,
repo_type="space",
space_sdk="docker",
private=False,
)
print(f"Created: https://huggingface.co/spaces/{SPACE_ID}")
except Exception as e:
print(f"Failed to create space: {e}")
print("\nTIP: Create manually at https://huggingface.co/new-space")
print(" - Space name: membra-airmicrodrip")
print(" - SDK: Docker")
sys.exit(1)
print(f"\nSpace ready: https://huggingface.co/spaces/{SPACE_ID}")
print("\nNow run the deploy script to push code:")
print(f" cd /Users/alep/Downloads/02_AI_Agents/airmicrodrip")
print(f" HF_TOKEN={TOKEN[:10]}... bash deploy.sh")
|