| |
| """Create Hugging Face Space via API, then deploy code.""" |
|
|
| import os |
| import sys |
| import subprocess |
| from pathlib import Path |
|
|
| |
| 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) |
|
|
| |
| 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) |
|
|
| |
| 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") |
|
|