2B / space.py
37-AN
Initial commit - Personal RAG Assistant with Hugging Face integration
a33458e
raw
history blame
1.47 kB
#!/usr/bin/env python
"""
Register this app with Hugging Face Spaces SDK.
This file is used for deploying the app to Hugging Face Spaces.
"""
import os
import subprocess
import sys
from huggingface_hub import SpaceHardware, SpaceStage, SpaceSDK
def create_space():
"""Create or update a Hugging Face Space."""
# Get the Space name or use a default
space_name = os.environ.get("SPACE_NAME", "personal-rag-assistant")
owner = os.environ.get("HF_USERNAME")
if not owner:
print("Please set the HF_USERNAME environment variable to your Hugging Face username.")
sys.exit(1)
# Initialize the SDK
sdk = SpaceSDK(
space_id=f"{owner}/{space_name}",
token=os.environ.get("HF_TOKEN")
)
# Check if space exists, if not create it
try:
space_info = sdk.get_space_runtime()
print(f"Space {owner}/{space_name} exists.")
exists = True
except Exception:
exists = False
# Create or update the space
if not exists:
print(f"Creating new space: {owner}/{space_name}")
sdk.create_space(
space_hardware=SpaceHardware.CPU_BASIC,
space_storage=1,
space_sleep_time=3600, # 1 hour of inactivity before sleep
space_stage=SpaceStage.RUNNING,
)
print(f"Space URL: https://huggingface.co/spaces/{owner}/{space_name}")
return sdk
if __name__ == "__main__":
create_space()