Spaces:
Running
Running
Johnny
updated resume_format > template, hide sidebar, download Spacy model with spacy_loader.py
102e49d
| #!/usr/bin/env python3 | |
| """ | |
| Startup script for Hugging Face Spaces deployment | |
| Ensures spaCy model is available before starting the main app | |
| """ | |
| import subprocess | |
| import sys | |
| import os | |
| import logging | |
| # Configure logging | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| def install_spacy_model(): | |
| """Install spaCy English model if not already available""" | |
| try: | |
| import spacy | |
| # Try to load the model | |
| try: | |
| nlp = spacy.load("en_core_web_sm") | |
| logger.info("β spaCy model 'en_core_web_sm' is already available") | |
| return True | |
| except OSError: | |
| logger.info("π¦ spaCy model 'en_core_web_sm' not found, downloading...") | |
| # Download the model | |
| subprocess.check_call([ | |
| sys.executable, "-m", "spacy", "download", "en_core_web_sm" | |
| ]) | |
| # Verify installation | |
| nlp = spacy.load("en_core_web_sm") | |
| logger.info("β spaCy model 'en_core_web_sm' downloaded and loaded successfully") | |
| return True | |
| except subprocess.CalledProcessError as e: | |
| logger.error(f"β Failed to download spaCy model: {e}") | |
| return False | |
| except Exception as e: | |
| logger.error(f"β Error setting up spaCy: {e}") | |
| return False | |
| def main(): | |
| """Main startup function""" | |
| logger.info("π Starting TalentLens.AI...") | |
| # Install spaCy model | |
| model_success = install_spacy_model() | |
| if not model_success: | |
| logger.warning("β οΈ spaCy model not available, application will use fallback methods") | |
| # Import and run the main app | |
| try: | |
| from app import main as app_main | |
| logger.info("β Starting Streamlit app...") | |
| app_main() | |
| except Exception as e: | |
| logger.error(f"β Failed to start main app: {e}") | |
| sys.exit(1) | |
| if __name__ == "__main__": | |
| main() |