| | """ |
| | Test script to verify all required imports work correctly. |
| | Run this after installing requirements.txt to ensure the environment is set up properly. |
| | """ |
| |
|
| | import sys |
| | import logging |
| |
|
| | logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') |
| | logger = logging.getLogger(__name__) |
| |
|
| | def test_import(module_name: str, package_name: str = None): |
| | """Test importing a module and report success/failure.""" |
| | try: |
| | if package_name: |
| | __import__(package_name) |
| | logger.info(f"β
{module_name} ({package_name})") |
| | else: |
| | __import__(module_name) |
| | logger.info(f"β
{module_name}") |
| | return True |
| | except ImportError as e: |
| | logger.error(f"β {module_name}: {e}") |
| | return False |
| | except Exception as e: |
| | logger.error(f"β {module_name}: Unexpected error - {e}") |
| | return False |
| |
|
| | def main(): |
| | """Test all required imports.""" |
| | logger.info("Testing required imports...\n") |
| | |
| | results = [] |
| | |
| | |
| | logger.info("=== Core ML Libraries ===") |
| | results.append(test_import("torch", "torch")) |
| | results.append(test_import("transformers", "transformers")) |
| | results.append(test_import("numpy", "numpy")) |
| | |
| | |
| | logger.info("\n=== Audio Processing Libraries ===") |
| | results.append(test_import("librosa", "librosa")) |
| | results.append(test_import("soundfile", "soundfile")) |
| | results.append(test_import("webrtcvad", "webrtcvad")) |
| | results.append(test_import("scipy", "scipy")) |
| | |
| | |
| | logger.info("\n=== API & Web Libraries ===") |
| | results.append(test_import("fastapi", "fastapi")) |
| | results.append(test_import("uvicorn", "uvicorn")) |
| | results.append(test_import("websockets", "websockets")) |
| | results.append(test_import("pydantic", "pydantic")) |
| | |
| | |
| | logger.info("\n=== Web UI Libraries ===") |
| | results.append(test_import("gradio", "gradio")) |
| | |
| | |
| | logger.info("\n=== Logging Libraries ===") |
| | results.append(test_import("pythonjsonlogger", "python_json_logger")) |
| | |
| | |
| | logger.info("\n=== Project Modules ===") |
| | results.append(test_import("config", "config")) |
| | |
| | |
| | logger.info("\n" + "="*50) |
| | passed = sum(results) |
| | total = len(results) |
| | logger.info(f"Results: {passed}/{total} imports successful") |
| | |
| | if passed == total: |
| | logger.info("π All imports successful!") |
| | return 0 |
| | else: |
| | logger.error(f"β οΈ {total - passed} import(s) failed. Please install missing packages.") |
| | return 1 |
| |
|
| | if __name__ == "__main__": |
| | sys.exit(main()) |
| |
|
| |
|