Files
Audio-Classifier/backend/check_dependencies.py
Benoit 16b3fdabed
Some checks failed
Build and Push Docker Images / Build Backend Image (push) Successful in 14m27s
Build and Push Docker Images / Build Frontend Image (push) Failing after 11m42s
Ajout documentation dépendances + script de vérification
- DEPENDENCIES.md: Documentation complète de toutes les dépendances
  * Backend Python (requirements.txt)
  * Dépendances système (apt packages)
  * Frontend Node.js (package.json)
  * Modèles Essentia (28 MB)
  * Variables d'environnement requises

- check_dependencies.py: Script pour vérifier l'installation
  * Teste tous les imports Python
  * Affiche statut / pour chaque package
  * Utile pour debug d'installation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 13:03:17 +01:00

77 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""Check all required dependencies are installed."""
import sys
def check_import(module_name, package_name=None):
"""Try to import a module and report status."""
package = package_name or module_name
try:
__import__(module_name)
print(f"{package}")
return True
except ImportError as e:
print(f"{package}: {e}")
return False
def main():
"""Check all dependencies."""
print("🔍 Checking Python dependencies...\n")
dependencies = [
# Web Framework
("fastapi", "fastapi"),
("uvicorn", "uvicorn"),
("multipart", "python-multipart"),
# Database
("sqlalchemy", "sqlalchemy"),
("psycopg2", "psycopg2-binary"),
("pgvector.sqlalchemy", "pgvector"),
("alembic", "alembic"),
# Audio Processing
("librosa", "librosa"),
("soundfile", "soundfile"),
("audioread", "audioread"),
("mutagen", "mutagen"),
# Scientific
("numpy", "numpy"),
("scipy", "scipy"),
# Configuration
("pydantic", "pydantic"),
("pydantic_settings", "pydantic-settings"),
("dotenv", "python-dotenv"),
("email_validator", "email-validator"),
# Authentication
("jose", "python-jose"),
("passlib", "passlib"),
# Utilities
("aiofiles", "aiofiles"),
("httpx", "httpx"),
# Essentia (optional)
("essentia.standard", "essentia-tensorflow"),
]
all_ok = True
for module, package in dependencies:
if not check_import(module, package):
all_ok = False
print("\n" + "="*50)
if all_ok:
print("✅ All dependencies installed!")
return 0
else:
print("❌ Some dependencies are missing")
print("\nInstall missing dependencies with:")
print(" pip install -r requirements.txt")
return 1
if __name__ == "__main__":
sys.exit(main())