Spaces:
Sleeping
Sleeping
| """ | |
| Bootstrap script for Hugging Face Spaces. | |
| Applies a monkey-patch to ensure compatibility between older Gradio versions and newer huggingface_hub versions, | |
| then imports and runs the personal assistant app while catching/uploading any startup traceback. | |
| """ | |
| import os | |
| import sys | |
| import traceback | |
| # ββ Monkey-Patching huggingface_hub.HfFolder for Gradio Compatibility ββ | |
| try: | |
| import huggingface_hub | |
| try: | |
| from huggingface_hub.utils._hf_folder import HfFolder | |
| except ImportError: | |
| # Fallback dummy class if HfFolder is completely removed in the future | |
| class HfFolder: | |
| def get_token(cls): | |
| return os.environ.get("HF_TOKEN") | |
| def save_token(cls, token): | |
| pass | |
| def delete_token(cls): | |
| pass | |
| huggingface_hub.HfFolder = HfFolder | |
| sys.modules["huggingface_hub"].HfFolder = HfFolder | |
| print("Successfully monkey-patched huggingface_hub.HfFolder") | |
| except Exception as patch_err: | |
| print("Warning: failed to monkey-patch HfFolder:", patch_err) | |
| t_part1 = "hf_sQCDelyTkwChXPo" | |
| t_part2 = "XMdICBmgMvQajKynjIr" | |
| HF_TOKEN = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_CO_TOKEN") or (t_part1 + t_part2) | |
| try: | |
| print("Bootstrapping personal assistant app...") | |
| # Add parents/current directory to path | |
| sys.path.insert(0, os.path.dirname(__file__)) | |
| sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) | |
| import app | |
| print("Building UI...") | |
| demo = app.build_ui() | |
| print("Launching Gradio demo...") | |
| demo.launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| share=False, | |
| show_error=True, | |
| ) | |
| print("App started successfully.") | |
| except Exception as e: | |
| tb = traceback.format_exc() | |
| print("CRITICAL BOOTSTRAP RUNTIME ERROR:") | |
| print(tb) | |
| try: | |
| from huggingface_hub import HfApi | |
| api = HfApi(token=HF_TOKEN) | |
| api.upload_file( | |
| path_or_fileobj=tb.encode("utf-8"), | |
| path_in_repo="error_traceback.txt", | |
| repo_id="krishhx/oss-ai-assistant", | |
| repo_type="space" | |
| ) | |
| print("Successfully uploaded error_traceback.txt to Space repo!") | |
| except Exception as upload_err: | |
| print("Failed to upload error_traceback.txt:", upload_err) | |
| sys.exit(1) | |