apiRushscholl / check_deployment_ready.py
Liantsoaxx08's picture
Initial deployment
a03ac57
Raw
History Blame Contribute Delete
3.24 kB
#!/usr/bin/env python3
"""
Script de vérification avant déploiement sur Hugging Face
"""
import os
import sys
from pathlib import Path
def check_file_exists(filename, required=True):
"""Vérifie si un fichier existe"""
exists = Path(filename).exists()
status = "✅" if exists else ("❌" if required else "⚠️")
required_text = "(requis)" if required else "(optionnel)"
print(f"{status} {filename} {required_text}")
return exists
def check_env_file():
"""Vérifie le fichier .env"""
env_path = Path(".env")
if env_path.exists():
print("\n⚠️ ATTENTION: Fichier .env détecté!")
print(" Assurez-vous qu'il est dans .gitignore")
print(" Ne JAMAIS commiter ce fichier!")
return True
else:
print("\n✅ Pas de fichier .env (bien!)")
print(" Utilisez les Repository secrets de Hugging Face")
return False
def check_requirements():
"""Vérifie requirements.txt"""
req_path = Path("requirements.txt")
if req_path.exists():
with open(req_path) as f:
lines = f.readlines()
print(f"\n✅ requirements.txt trouvé ({len(lines)} dépendances)")
return True
else:
print("\n❌ requirements.txt manquant!")
return False
def main():
print("=" * 60)
print("🔍 Vérification Pre-Déploiement Hugging Face")
print("=" * 60)
print("\n📁 Fichiers Essentiels:")
all_good = True
# Fichiers requis
all_good &= check_file_exists("app.py", required=True)
all_good &= check_file_exists("main.py", required=True)
all_good &= check_file_exists("Dockerfile", required=True)
all_good &= check_file_exists("requirements.txt", required=True)
print("\n📄 Documentation:")
check_file_exists("README_HUGGINGFACE.md", required=True)
check_file_exists("DEPLOYMENT_GUIDE.md", required=False)
check_file_exists("QUICK_START.md", required=False)
print("\n🛡️ Protection:")
check_file_exists(".gitignore", required=True)
check_file_exists(".dockerignore", required=True)
print("\n🔑 Variables d'Environnement:")
check_env_file()
print("\n📦 Dépendances:")
check_requirements()
print("\n📋 Structure du Projet:")
dirs_to_check = ["app", "app/routers", "app/services", "app/repositories", "app/models", "app/core"]
for dir_name in dirs_to_check:
exists = Path(dir_name).exists()
status = "✅" if exists else "❌"
print(f"{status} {dir_name}/")
print("\n" + "=" * 60)
if all_good:
print("✅ TOUT EST PRÊT pour le déploiement!")
print("\n📌 Prochaines étapes:")
print(" 1. Créer un Space sur huggingface.co/new-space")
print(" 2. Choisir SDK: Docker")
print(" 3. Configurer Repository secrets (Settings)")
print(" 4. Pousser le code (git ou interface web)")
print("\n📖 Voir QUICK_START.md pour les détails")
else:
print("❌ Certains fichiers essentiels sont manquants!")
print(" Vérifiez les ❌ ci-dessus")
return 1
print("=" * 60)
return 0
if __name__ == "__main__":
sys.exit(main())