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() |