Trois problemes distincts empechaient une installation propre. 1. audioop-lts==0.2.2 declare Requires-Python >=3.13. Le fichier ayant ete produit par un pip freeze sur 3.13, la ligne etait inconditionnelle et faisait echouer `pip install -r requirements.txt` sur le 3.12 cible par la CI. Les jobs security-scan et test n'atteignaient donc jamais leur etape utile. Ajout du marqueur python_version >= "3.13" : le backport n'est tire que la ou audioop a quitte la bibliotheque standard. 2. Fichier encode en UTF-16 LE. pip sait le lire grace au BOM, mais l'outillage tiers non, et le diff est illisible. Reecrit en UTF-8, LF. 3. psycopg[binary] etait la seule dependance non epinglee. Epinglee a la version effectivement resolue (3.2.12). Retrait de trois dependances parasites, verifiees non importees sur l'ensemble de app/ et de la racine : - dotenv==0.9.9 doublon relais de python-dotenv (seul import reel) - discord==2.3.2 doublon relais de discord.py (seul import reel) - login==0.0.6 sans rapport avec Flask-Login, jamais reference WTForms est conserve : c'est une dependance transitive legitime de Flask-WTF (utilisee par CSRFProtect), et non une dependance directe morte. Installation verifiee en environnement neuf sous Python 3.12.10. Co-Authored-By: Claude Opus 5 <[email protected]>
48 lines
1015 B
Plaintext
48 lines
1015 B
Plaintext
aiohappyeyeballs==2.7.1
|
|
aiohttp==3.14.3
|
|
aiosignal==1.4.0
|
|
APScheduler==3.11.3
|
|
attrs==26.1.0
|
|
# audioop was removed from the standard library in Python 3.13; discord.py
|
|
# pulls this backport in only on 3.13+. Without the marker, installing on
|
|
# the 3.12 targeted by CI fails outright ("Requires-Python >=3.13").
|
|
audioop-lts==0.2.2; python_version >= "3.13"
|
|
blinker==1.9.0
|
|
certifi==2026.7.22
|
|
charset-normalizer==3.4.9
|
|
click==8.4.2
|
|
colorama==0.4.6
|
|
Deprecated==1.3.1
|
|
discord.py==2.7.1
|
|
Flask==3.1.3
|
|
flask-cors==6.0.5
|
|
Flask-Limiter==4.1.1
|
|
Flask-Login==0.6.3
|
|
Flask-SQLAlchemy==3.1.1
|
|
Flask-WTF==1.3.0
|
|
frozenlist==1.8.0
|
|
greenlet==3.5.4
|
|
idna==3.18
|
|
itsdangerous==2.2.0
|
|
Jinja2==3.1.6
|
|
limits==5.8.0
|
|
MarkupSafe==3.0.3
|
|
marshmallow==4.3.0
|
|
multidict==6.7.1
|
|
ordered-set==4.1.0
|
|
packaging==26.2
|
|
propcache==0.5.2
|
|
psycopg[binary]==3.2.12
|
|
python-dotenv==1.2.2
|
|
requests==2.34.2
|
|
SQLAlchemy==2.0.51
|
|
typing_extensions==4.16.0
|
|
tzdata==2026.3
|
|
tzlocal==5.4.4
|
|
urllib3==2.7.0
|
|
waitress==3.0.2
|
|
Werkzeug==3.1.8
|
|
wrapt==2.2.2
|
|
WTForms==3.2.2
|
|
yarl==1.24.5
|