Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| import os | |
| import sys | |
| from pathlib import Path | |
| from huggingface_hub import snapshot_download | |
| import importlib.util | |
| # from dotenv import load_dotenv | |
| # load_dotenv() | |
| def setup_cache_directory(): | |
| cache_dir = Path("cache") | |
| cache_dir.mkdir(exist_ok=True) | |
| return cache_dir | |
| def download_space(cache_dir): | |
| token = os.environ.get("HF_TOKEN") | |
| repo_id = os.environ.get("REPO_ID") | |
| if not token or not repo_id: | |
| return False | |
| try: | |
| snapshot_download( | |
| repo_id=repo_id, | |
| repo_type="space", | |
| local_dir=cache_dir, | |
| token=token | |
| ) | |
| return True | |
| except: | |
| return False | |
| def load_app(cache_dir): | |
| sys.path.insert(0, str(cache_dir)) | |
| app_path = cache_dir / "app.py" | |
| spec = importlib.util.spec_from_file_location("app", app_path) | |
| app = importlib.util.module_from_spec(spec) | |
| spec.loader.exec_module(app) | |
| return app.demo | |
| if __name__ == "__main__": | |
| cache_dir = setup_cache_directory() | |
| if download_space(cache_dir): | |
| demo = load_app(cache_dir) | |
| demo.launch() |