""" 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 directories for Hugging Face Spaces""" cache_dirs = { 'HF_HOME': '/tmp/hf_cache', 'TRANSFORMERS_CACHE': '/tmp/hf_cache', 'HF_HUB_CACHE': '/tmp/hf_cache', 'TORCH_HOME': '/tmp/torch_cache', 'NUMBA_CACHE_DIR': '/tmp/numba_cache' } # Set environment variables for key, value in cache_dirs.items(): os.environ[key] = value logger.info(f"Set {key} to {value}") # Create directories for cache_dir in set(cache_dirs.values()): try: os.makedirs(cache_dir, exist_ok=True) # Ensure write permissions os.chmod(cache_dir, 0o777) logger.info(f"Created cache directory: {cache_dir}") except Exception as e: logger.warning(f"Could not create/modify {cache_dir}: {e}") # Additional HF settings os.environ['NUMBA_DISABLE_JIT'] = '1' os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1' logger.info("Cache directories 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()