From 56aee7f3f3818852088a59a94c24b2aba989e038 Mon Sep 17 00:00:00 2001 From: GGThed Date: Fri, 7 Aug 2026 19:16:12 -0400 Subject: [PATCH] fix(deps): rendre requirements.txt installable sur Python 3.12 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 --- requirements.txt | Bin 1706 -> 1015 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/requirements.txt b/requirements.txt index 4c4159edd398287cde2bdfb76151a355683a12c1..b980bf2244fa78bc6fbf14d07f134ba689486705 100644 GIT binary patch literal 1015 zcmYjQTWi}e6n@vQ5Z%kh7U4^hrW6;-Mq#6aZY}g-jB;WtjuzR{j^t*}uiq!TWqUD5 zI_G@1V=`_}-j90JTe3D(RiVyRE(rHA`l>2bzEov82h;Xst14GZm5J-S`+BdN!D^n0 z@>CQfrwMD7qvDOEp)t;Rd88m&ckWp?a>uTdaj#{F)HlS9v}Vi1qcpv|8{^*f5}4(s zY)q&fH_DF~Mp9ykH^}#!isloMj#AoVwujHda{}8A79q~c)2UG#cTGO{E#H54` zfI>#%R!30Uj`HJYxg!GvbhByqQNBI7;h{E48SAe*`>n*o`UsSWojj+=f$n* zOiZ9ll;y9Nt~GsvTBCEWyZ?53Z4r7m&J$ltA0KXJ2AM#*C*4~UV!GKtZ_64N8s}22 z)KZwHhXN4V2opm?eXH3G)7}**|6=-IRLt|&!X{>TTTP?BBGJL$(@v-N47`wW*uyjH zj)^@kMK{=J8dC!>*_#WjkY?R1;P9+46CN8xkk?MTS_se1*92ur?+RA?FxJkuKendF zX8ufY1y)APAuk#ib^n|cB6`8t6CD!GLX|0~|9yfcwaP^tJ>Z`7A2g=@Krzfl2qK;u zig09FhZ0BY>hzbvE4Vc4)t_FACBNQBW%MLPWOtYBb5lWMhp#UOms8eX|K7%a$fH z@0l}a&b;~ayNX%V@f208^z34s@1s7?^=#rs&md0XmEO~M87~y^i6$DIAbysybNxL# z$k-@v8p}i?>r`=a`k8YZ@8dp(syvQSY*lL<>jN~h3mTQydoGuX5H(Jvv!i5Gi%m~B zO`F+Q4$KEx?@^JN*nHd90pog)GtBQB%PuXjot?>4ved0GghUZ5Nmx}WS6t} zwMR!2y1mZo!>m43b&#*xn3)ZQFi(^!amau>r!VvLYoV@GWh}iaRYkF)sI_Mp5H;;wTXKgnsk&%^1Cbe;;!_>nbWf=ce=PE0FRaUZT-<}}&IdMyjP2L(a7$X+^x zUc43KgTY2GL|4+oCuq4as;%&C?sdYJs z&zZ-x=+!J2xy5V{P8+sbl>M>p_9ngJ;hs>7W@YlmTB#=6QnlQtSX8?0x*u-5_xOt{%r?UG5lf7~Ea) zf9~@vafNkgRCkqZrtw9HKZS^gxHIA6Nm>){4;$XdjrgU}OSc0lZ%sTY;!Fok=9ys^ z7AJ1iIk);uN}RO_-hHe7taEH5oo-qVo^R>zK@l9oJ-3yn#VsghS3fJxZ;3a->UF2t XG~bu*5cE#role3KRBMj{zBm2?L#+1k