Spaces:
Sleeping
Sleeping
""" | |
Configuration for Kokoro TTS API, especially for Hugging Face Spaces deployment. | |
""" | |
import os | |
import tempfile | |
import logging | |
# Configure logging | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
def setup_hf_cache(): | |
"""Setup cache environment variables for Hugging Face Spaces""" | |
# Use user's home directory for cache | |
home_dir = os.path.expanduser("~") | |
cache_dir = os.path.join(home_dir, ".cache") | |
cache_settings = { | |
'HF_HOME': cache_dir, | |
'TRANSFORMERS_CACHE': cache_dir, | |
'HF_HUB_CACHE': cache_dir, | |
'TORCH_HOME': cache_dir, | |
'NUMBA_CACHE_DIR': os.path.join(cache_dir, 'numba'), | |
'NUMBA_DISABLE_JIT': '1', | |
'HF_HUB_DISABLE_TELEMETRY': '1' | |
} | |
# Set environment variables | |
for key, value in cache_settings.items(): | |
os.environ[key] = value | |
logger.info(f"Set {key} to {value}") | |
# Create cache directories | |
cache_dirs = [cache_dir, os.path.join(cache_dir, 'numba')] | |
for cache_path in cache_dirs: | |
try: | |
os.makedirs(cache_path, exist_ok=True) | |
logger.info(f"Created cache directory: {cache_path}") | |
except Exception as e: | |
logger.warning(f"Could not create {cache_path}: {e}") | |
logger.info("Cache environment setup completed") | |
def get_temp_dir(): | |
"""Get a writable temporary directory""" | |
return tempfile.gettempdir() | |
def is_hf_spaces(): | |
"""Check if running on Hugging Face Spaces""" | |
return os.environ.get('SPACE_ID') is not None | |
# Initialize cache setup | |
setup_hf_cache() |