From 305e1236e37d7132e3f6a32f433fc80fdd07d667 Mon Sep 17 00:00:00 2001 From: AI Company Date: Tue, 21 Jul 2026 19:25:41 +0000 Subject: [PATCH] chore: exclude Python build artifacts --- .gitignore | 4 ++++ server/app/__pycache__/__init__.cpython-311.pyc | Bin 176 -> 0 bytes server/app/__pycache__/config.cpython-311.pyc | Bin 1963 -> 0 bytes server/app/__pycache__/db.cpython-311.pyc | Bin 1354 -> 0 bytes server/app/__pycache__/main.cpython-311.pyc | Bin 11473 -> 0 bytes server/app/__pycache__/models.cpython-311.pyc | Bin 5763 -> 0 bytes server/app/__pycache__/schemas.cpython-311.pyc | Bin 4391 -> 0 bytes server/app/__pycache__/security.cpython-311.pyc | Bin 3068 -> 0 bytes .../test_api.cpython-311-pytest-8.3.4.pyc | Bin 20396 -> 0 bytes 9 files changed, 4 insertions(+) delete mode 100644 server/app/__pycache__/__init__.cpython-311.pyc delete mode 100644 server/app/__pycache__/config.cpython-311.pyc delete mode 100644 server/app/__pycache__/db.cpython-311.pyc delete mode 100644 server/app/__pycache__/main.cpython-311.pyc delete mode 100644 server/app/__pycache__/models.cpython-311.pyc delete mode 100644 server/app/__pycache__/schemas.cpython-311.pyc delete mode 100644 server/app/__pycache__/security.cpython-311.pyc delete mode 100644 server/tests/__pycache__/test_api.cpython-311-pytest-8.3.4.pyc diff --git a/.gitignore b/.gitignore index 391bba4..8fedc2a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,7 @@ dist/ .DS_Store .browser-libs/ core +__pycache__/ +*.py[cod] +.pytest_cache/ +test_*.db diff --git a/server/app/__pycache__/__init__.cpython-311.pyc b/server/app/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 8f5f4723c6d04bd12d0a0dfe3fff93081ebdda4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 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 Rn=(oEx|{|2y=tuX)q diff --git a/server/app/__pycache__/models.cpython-311.pyc b/server/app/__pycache__/models.cpython-311.pyc deleted file mode 100644 index 97bf72d69fc5a75a421eb3f3fe6a36a742600417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5763 zcmcJTT}&HS7J$e0^)HxT2QcKf`~+{BP*NH#2_ZBAnjfHTNW9z0s%G%L1d|!t9goT1 zRr+{pz`2KeaK^^)k^y~BTXf1q=vM+_KnaRLB_xKF8nH&H6>F8S7*^`UI_^v4dZj^Z zP#VQXrAcgpb6)C`o0W(d0o~8sb8Z^=jEG0v!g~S@ekRZmYhl6y^wd6{6G8YEzV;!u za=#kzt7Vbr9V7#xp8Q-A~_Qk1hX=w8ri;)$&bi zYASu-B6rv$4KCxGl(Jbyt+2v>6UmI6SJGCk%4A7PWzxC%RCdz^eTum(a#hMP%cn9e zucnjs{n`?5AHQ3}AifYZY_NSSRCKK}fP%148L;PI|F+^YEv&nyVnjt(%ahJLRJ~lw zYsqzC3q$_=Zr^-HVSVWgWqs!|S(Z-9(!;)o8TCOfD<#?4B+K+EOp|8iOh)O;F?Ert zeQ)wDorilLzt9#&GO%u z^T`YhsP`dEpK1l9q?TGtX^$;$PG&4?5hatMAekgj#X?pfkw{AlOC+pNA_4c3mr<`x zBtFSYvTae1L%-A$C{Cg{h2jkqohZ6cL{Z?KsU0Ye?T9caxqc9Z%BLJYQW!7SwHDqh z*ESc%%JtF0bz7@xER2>>;Kz=JfgFQ{6NksvG7Q`9VBLl7EqdGnBk=W7w{!lfhmy~P z4R6(^@-aUPV9)J?1*vZc)Jhcpz9^oJKvj&;z8FDAjF2;ivnJN;YhAOabuIO5)H++R z@J9H#8`d^_?L(}C81;_3sN0UwKXSTdI@pTrk>zEI zl#)091+lGgR?6joBQ!BD<>uF296j*!4jMyAmBBWp2>>g>aeLAv$?}^g0VzylXESPc zUP?p!x>+gtAd$^v^T1D*v;0XZmy{@bQul$HnM=v+T0mUtU)~;J#jt0xmfDkE` zn~Fu$Zn&b_gW@#rSR#QqW80g&0S&la)e9)P#Aet_r2%zBD zLqc=Bs*R}O46CCcEF!01esGlc;30-p6xcR*6vl8D4+Wtd=_pK=TRK;i)$!Hwwew%! z{O0D1QT=8TOA9qxsM$gbSC@QCx#b$2P$&kWe}jn25)886&i@vS^E8&2vZ4#gnxa__)e?aOif z&b;26GI~>HZ>sR#Qe2O8nPGr`3W`BeL%4o6m^GP%O zhEC?77+iv44;&7cV>?w6oTIQ|4ksZngg6O6y&FE~8F4=e{d+hRq5JDg8p&zTSx<&)EXgr`r?anoT+94WtwsO`)Bw65q7(2Wq zthuU12O5htc3_iY0E}y zRZowB_i=}J8(xzJfy`0Mzl{kiu+4|u&jF6?I;1{CjPRyka zKzqxNZiy7#`~YfGRxM5CvaNGh9;uwgJWyTCB_U{>8c zBpcwD%s{&MNE=r#qeC-PbAYGBwiTjCD)u?%w&4h!$!B@&ko}98mI@FTR~BhDruc8w#hnteCWfCAH~+#mL_?>Mlpqqlf@t$nS%bn|afJvME` zrp?&2E-}4h&ghskJ8WEBTfSEzMfvo=>Zhf6DgNT>cjEV=aeBl&JyMuh=_xiBwJ+Pv zrY@a~KrzTjx##Uwr8H{v44OTI9AR3KK6`35bn0Xfia`c#mocN~qSwkJrMKKI_F(G zYc^^ftt-d`fO%=1y^N#Qg_E3KF`9p!paqi1~{66+ea@T`_e=nhT%orUrX2%TA4>|B>bTVU* zney>7MP+StZL}0!e}ChBfW9M#X?FwWmF&)?9eT zL6V1o{WWQJ^uM4w&Q+|#A`Je-Qu``X?Lm$I4HU|KB1>{|o+*#*=R3~{_`3~XOMC_K z^;L^)_!7j7z^dDAcrK$Vc9Ovp4_rc)o6f4u*n+RPZ+=;%WZy|l<7hh@M6v1ot*MS#Ks59w`xELANRRHTB{@2LTxnrl=Ls1r4+8K{;Tbpoi?8r1?+ zs7AGFu4o&#AOse)9kZ^T%i2NKLE9Uw>rgvy3E{3CoGdKaL{&^`yAhgNl7?m5b4fAi zFLjkBZ0}_~HLop9YH`zcPbC#Cam!@3{INz8svS(CPVAnN&|tLAcECqMShPJ;DU+>U z(^6`@YB0V@h1mZPkf#C_qM|B9rC$luL5V7U09;9+vMQ;LE%HnPFTqo8Q73hQj*L30 z6RdaH?wfQ$GfWEBP_%2u53-#MfKAEvCbd*7K~oFnBH+sXD(+rZ3}Z!SY9#Eo-LY6o zNzz!%_Qqnclym}de=PR9w2~-G7{sGs2V*fMmC{Yc)bx}Qi!nEF89Kvu7$(~k_5l@M zT^e50lXN%*n=(A4FVj>!p{xwU*X|n2N}RqMr}}V`n#x>4*OS8rW%no>R+g8Cjrbxg z!5CUzWlcCU0w+Ai`v5XWekEUP=6dG(!|SC`S9U6YbNjLt8Y_gxilMR0m5sPX#-JBC z1cd#hI$50?s-eICHi%#E233m6+$j#e;RH5Zw&mOUU7E7}N<2;tBW7~SIY$)+KJaof zX09&NNZ85R@XPH8IuLXr=tR(u;4K8)xNgLHs=x<`F$AD)%`I&f!CoM3rS_i8)vUuJ zJH?+rR4$#ry*+33ju(2z zi@oES+3aABJbA|=N{5Fbw4TZxbBY14M4A@#&G)%K>BF%;C8V&2{q?chAqlYpB{ zn@gM2h-|tW-FbM93CzzhN7?>z5rA-jI??E{bEt*@M;fC5>O9ueoSDtcKAbHzcUlB{ zfpnHyPiEhLu3D|<3a#ggt>;i9Gh5yxoGC2rVCLO9fK_fv3{#}`YbX?9iD9|Wa=@wL zdB_13dL+jm?Vw*74YZ?^9$*^(P_3FHm%jkD$(m+Ic~H0XFB zx43w|Au7)Tsw?WHz8cS08SPj7TTRdEJgWvC3D3a37icMO(I(Z!bAgLj-S%Gb>%K$GEh!zSsJW=7aAka3zbpuSPt$7md?BaaDNR_39+LOmzw;&?5pKpoFD z#^?S3aGwh6!V(bWX4Z*)N4Gkqa^Et4I;!&`IzC2zX8YyKl*~7jeq4Sc80(Ag)LvW zboRZM*Q}FQpl?J#1uXHU-j5;);9rxa|-s()Itf^S3rp2PfP`CaDy(9&(4{B%1G0Q%oa`Tgzr@5aBo zP{s=_cZw}{EdL#_WW&cZPdLz+3UNovSDN<_0#B*jfj})3mip?XL$&Epaj6g4tky1x@Hl4fuJZ^Q2 z6gozV9bB9xkD&xsRR+&yu4OxOlTUgrau#}loc&P_Wn#IrmON092a58*uH=8KEcxtVBp7(L7|0i?eRi9TZUc31Hl4Jb71@|SVDsMHMA*f=Q+2F#? z0}E@Iq^ayYe1z|@?Ts^9EoAKHz>csn6uyPv@Sb@SNd%bnj9CD6o9*^xrZdwIr%Sb} zbfU{5*bAiVO)C^m9|?Ds-H!WVyO&p0C1q-HCIiW9CjVDa4jGIL+sR9)!B1)V9{|4+ z528MnJlna#Z)a=<33&z9%51lS*E7vrwPhng=`v<%T?GgiHFgb$UPQnbUB3~p+#i(x z?R?1YfC^?l<8y$!4p9_K!l3oKUJ_=lH|r(gq*dQ{osu}dD;x(Kt9!^jI23s$u@^NP z!Nv?~_M&D*)Au@!J(+dA)enAj)QF19&!&3MFBw$6iFzn<-3agBil1C zSHJnabt76LO-0h4^W?|BzOX(0@;Bf7_S;W@_b8IRy6YldDdXG?w1{wGj)M(t54i`2 VqIYDp<~Z0`*+cHZYeYPT{|A2k4_p8M diff --git a/server/app/__pycache__/security.cpython-311.pyc b/server/app/__pycache__/security.cpython-311.pyc deleted file mode 100644 index 2406aa4985ecfe56441321af444cb969cc78c203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3068 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 XNF>_P6{7g0L^rmDFxd5kb@o32{P3gC