# SlydeForge — dépendances (poste Windows verrouillé : pip install --user)
PySide6>=6.6              # inclut QtMultimedia (lecture audio des voix de synthèse, ui/audio_player.py)
python-pptx>=0.6.23
jsonschema>=4.20
jsonpatch>=1.33
Pillow>=10.0
PyMuPDF>=1.23
python-docx>=1.1
openpyxl>=3.1
requests>=2.31
truststore>=0.9
SpeechRecognition>=3.10  # dictée vocale (reconnaissance cloud gratuite, sans clé) — ui/dictation_worker.py
PyAudio>=0.2.14          # capture micro pour la dictée (dépendance de speech_recognition.Microphone)
# Voix de synthèse (Paramètres > Voix, services/tts.py) — TOUTES optionnelles,
# SlydeForge fonctionne normalement sans elles (lecture vocale simplement
# indisponible). Voir docs/VOIX.md pour l'installation détaillée.
#   edge-tts>=6.1          # moteur "Edge Neural" (gratuit, sans clé, en ligne)
#   piper-tts>=1.2          # moteur "Piper" (gratuit, 100% hors ligne — nécessite un modèle de voix)
# Connecteurs de workflow (Workflows > éditeur, cf. workflow/nodes/) —
# TOUS optionnels, importés PARESSEUSEMENT seulement quand la brique
# correspondante s'exécute (message clair "pip install ..." si absent) :
# la palette de briques reste utilisable sans eux, jamais un blocage au
# démarrage de SlydeForge.
#   oracledb>=2.0            # connecteurs.sql_oracle (mode thin, sans Oracle Client)
#   pymysql>=1.1              # connecteurs.sql_mysql
#   pyodbc>=5.0                # connecteurs.sql_sqlserver (+ driver ODBC système)
#   psycopg2-binary>=2.9      # connecteurs.sql_postgres
#   pyyaml>=6.0                # connecteurs.publish_youtube/facebook/instagram/tiktok (lecture accounts.yml)
#   paramiko>=3.4              # connecteurs.file_download/file_upload en mode sftp (ftp/ftps : ftplib, stdlib)
#   msal>=1.28                # connecteurs.sharepoint_source (auth Microsoft Graph par device code)
# Tests
pytest>=8.0
pytest-qt>=4.4
# Packaging (.exe portable, poste sans droits admin)
pyinstaller>=6.3
