""" VocalGuard Backend Test Script Run this to verify backend setup is working correctly. """ import sys import os print("=" * 60) print("VocalGuard Backend Test") print("=" * 60) # Test 1: Python Version print("\n✓ Testing Python version...") if sys.version_info >= (3, 8): print(f" ✅ Python {sys.version.split()[0]} (OK)") else: print(f" ❌ Python {sys.version.split()[0]} (Need 3.8+)") sys.exit(1) # Test 2: Import Core Libraries print("\n✓ Testing core libraries...") try: import fastapi print(f" ✅ FastAPI {fastapi.__version__}") except ImportError: print(" ❌ FastAPI not found. Run: pip install -r requirements.txt") sys.exit(1) try: import firebase_admin print(f" ✅ Firebase Admin SDK installed") except ImportError: print(" ❌ Firebase Admin not found. Run: pip install -r requirements.txt") sys.exit(1) try: import librosa print(f" ✅ Librosa {librosa.__version__}") except ImportError: print(" ❌ Librosa not found. Run: pip install -r requirements.txt") sys.exit(1) try: import numpy print(f" ✅ NumPy {numpy.__version__}") except ImportError: print(" ❌ NumPy not found. Run: pip install -r requirements.txt") sys.exit(1) # Test 3: Check Environment Variables print("\n✓ Checking environment configuration...") env_file = ".env" if os.path.exists(env_file): print(f" ✅ .env file found") with open(env_file) as f: content = f.read() if "GOOGLE_APPLICATION_CREDENTIALS" in content: print(f" ✅ GOOGLE_APPLICATION_CREDENTIALS configured") else: print(f" ⚠️ GOOGLE_APPLICATION_CREDENTIALS not set in .env") else: print(f" ⚠️ .env file not found (optional)") # Test 4: Check Processor Module print("\n✓ Testing processor module...") try: import processor print(f" ✅ Processor module loaded") print(f" 📊 Chunk size: {processor.CHUNK_SECONDS}s") print(f" 🎤 Sample rate: {processor.TARGET_SR}Hz") except Exception as e: print(f" ❌ Processor import failed: {e}") sys.exit(1) # Test 5: Check Main API Module print("\n✓ Testing main API module...") try: import main print(f" ✅ Main API module loaded") print(f" 🌐 FastAPI app created") except Exception as e: print(f" ❌ Main module import failed: {e}") sys.exit(1) # Test 6: Optional - Check AI Models print("\n✓ Checking AI models (optional)...") try: import torch print(f" ✅ PyTorch {torch.__version__}") if torch.cuda.is_available(): print(f" 🚀 CUDA available (GPU acceleration)") else: print(f" 💻 CPU mode (slower processing)") except ImportError: print(" ⚠️ PyTorch not installed (will use heuristics)") try: from transformers import WhisperProcessor print(f" ✅ Transformers library available") except ImportError: print(" ⚠️ Transformers not installed (transcription disabled)") try: from sentence_transformers import SentenceTransformer print(f" ✅ Sentence Transformers available") except ImportError: print(" ⚠️ Sentence Transformers not installed") # Summary print("\n" + "=" * 60) print("✅ Backend test completed successfully!") print("=" * 60) print("\n📝 Next steps:") print(" 1. Configure Firebase credentials in .env") print(" 2. Update frontend/app.js with Firebase config") print(" 3. Run: python main.py") print(" 4. Open: http://localhost:8000 (should see {\"status\":\"ok\"})") print("\n🚀 To start backend: python main.py") print("=" * 60)