airmicrodrip / create_space.py
josephrw's picture
Upload folder using huggingface_hub
e9d4f6a verified
Raw
History Blame Contribute Delete
1.94 kB
#!/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")