#!/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")