nJCqC=H|NLTk-;`W?Q<4a6SVDkyRWt$kE?KfVZuTo}u;%xgvt6097>`9o z&{6`glm>-%7*RNYAU_FQseqsr{^}%3%5I)g+F(t=Bvd(A!3~io9LIo{pyzZzJRsl* z%dz0^7{(1Aqih*Gc^XtW(5OHJkpuW&`5_&MV?aASTL>9dFeZpk6H*E3MpIG2UEN2W z`u{=z$B9Qjn5-O)#YV$?>qyui-6eJG5+nX_IN1Q}as%`Eup4(f&$-0})l(yhaCp4M zV-irhW#@ OK4@Lv54kufv?4jur9N54>$57;n4Ms;|VBlDh50A)JT0^&5fh@uH z3r2&I&zCIMXxpOVkjdgc0H7LOJEp9UY8taO?dh8K1#hP2#VPhy$s<>5)^#}TI{XW3 z#x(#KD@u}W+Lo$pe`xNYjF*jZn06fWIZQkuL<1VZVPrHCly!dx3 {aw!G2d zG &oRTatCE7Zn|KquO(i#00mpCl0t}T^zl=5@m1rBt9y}1W~pGqw$2~3v%Lb zIG7n4rilNVFU&_rr7;0_&=BA%#LL0BPmJ?{pg*kGbTL_(dmTuTs;>^XJr3CbS~Lj0 z)XV;Gf?s8L3><$cF)AE^F=d?;LtAwv2tFA&O+sKyHbrB;QNhm%N3nr y32YqHKyKBv^nbyZ~4c_b0d{ssVGTgTQjHNy+NG fnNg1zt; zYXRIOUxQiiT((;b8|IEK6UgR|euJ4}U$Aii{#s&lr4@W
&Yp?g?FtEqTdls(BZb@7@_K(2}CH&2pBu9`bL zGp?qrt2ymzzSo&?wG~)^y${XpiUlwP@hm6wL$?C$k1NOj%7*|}Q?Zx<&Qq4^K27IC z*Ib&=YyuuHLYg^O>+{E#qMX;Ejx474RV@w&7BJzPdU%NsNZ_ivW0yiu65YY58ysaf zU1bZ^PO#n4fC%RhAg#d)`lFm*l-X =@^}rKm_T18!jh;SVH9__ z1YBu&i!b-GWVObV!ioVHLd2LCa3-f2T%C*NuBGxSdXzbzDc?F}T5?v+ygB`5#^O<8Aa+S!_M?n#;VP>v0P%TY{RQKS@^9l_EXnZ1ZO1jpbn;=u}KR%hr~ zHtP*-bG;u8d@!&~ptt~X3z;If*dYLaE#XTrt)Ox!Cbz3)lr!)KIMEnEW=-HHnm99f zkLGcs$09q=#d$t324)G5e4xxVpAg2?w%!luOP=j7=C|Hc{KX=MSlu+xL))qndTBI; zP#o8!bpkH4mmp@5Y*yBRCR14m>^F!{z~L*o&QmnQIch8j7EzF`=t|;|0%8u195VN4 zijPZ@cx|r?PGV4!_3)6_1%eOewN4XkSVK%rA)Lk5=<&n0t8dKKx2Ee`7mS(ut|@lW zT>Ge^cJ|=ygYO>#&7hf$$`>D+yA{n~^(VMs%r^oD%k}C3ojIx=z6S;B974V}br2AC zQcPilG`i>eOlWT4b^U~%V^HJ+80;=^t=2m_ %U@qOPn zXI*mDWL-^Z)WdCQSKGpYjO) 3gLqzezI>s(H7$<9C@0r#d52O#T3 z|F~=w64CA`_liF#-PI{ y=4mtfY3~hzJmj9U=8b9d#)sy5Dg_0K2`580y`ueqpnzDLiuo3* z!a>s9Wd T(060yi&xN5iBgX2FJAHT_>He$5PZf zpu8&9;VPCU5KJOiV<*NChX9!*A`8$?=nY4hWvkw>Wxf`T#FqQ|70i~ctf66U?=pdG zzI_F=6+5FkeK<;S<1qp?Pca@^PyvjGv1s5-2|O67K{4^>Tp+>>&lV*x!CAoISmD_^ zZt>XUir(m$KN{e!Nxhxu9@yuD(jAl{Ysk*T76@<|%(NTUCpDf~LHexT;oDb>l>M z6Pkhlf&Q?pkA~yaB+I(M6-sltG^bKDbFy}GD6U^!ktJzLe-y?RHvs^pUs3n|^HjT+ z*S_Bj1=AyUYsS52idDBa)ivw2J4*c9@Lv%C3=jsml_yIvef|{Pg1c@_0^NdQ1nF(i z>u&(*{zNyc|DM4>&XF#1i~YI&Dx;7It{42`cr*} TPN(BKE zTaIi#AZ&6|F&eFE5XRmf0RK&Xi~e$5*0n9|+BPSBbnSy{*`^oLO)uP+GOnJi6GM$D zXU~%rJUHEG>0%a`4)#++7bCm|hyp$Rhe0=C3g#tDBls=?6gN;gy;yz?KmpOLDop}c zk`2$IS>Q?x`xYhH)eo-bNS4UBdb7^nl({$M?0q8q5x( Rnoa?mr?Rjld?`GHM$kr=4aEbux$eAwq2uJi7Q*ODP6K@j?KC| z((aC|yC?1L`309L8OWLkerX<1A{;kb_JN>wvY#6FF& y|Ih(mxPC8BXttYh1 xxg~Pd_J&3^JODrIL6HJA6@?7GS(bp7HG{e z25W|yg(PB!nO{)sFvXr^7Ag>XlDS{`4b7FK7{0YYh|uWZf29Y&YWl }HZx8u0>Gb}1nVxI1t4Fv1UEa6tr6Kqw5$P(r1k@Vn@iygO7Zybol2 z#yMdv8CCMCIouRkVHz}rw9~nYA#fp~wp=^XbsaE7mt)8-V2Tx)0%sE0su4kiFbayj z%*Nnr1z87PhUv(-#Ebp#9Rc+;{uFAdQh-1ZQi|G6g=x5<;Gn1kfhtwg5V!)4JB>fZ zqQcLh30gn#6aa;d_Oh81( +Cf$mZ>7*Y l1M^jCiB1dmHmtO!pT1UpGSOK@HR0$UdmG zV7ZY2n5=BQ eS-9m8780`1(kF093j98Xr!cK z^78C$koSs<#ZKWcTZFl)|E#fAuQ-V+%h%?&b+^v55N?2(;>n1nVz)jMx<6j$c*6Y+ zGojCIm$m@hpafu?t0>J*b>oy$V&?fP!Z}OZAd3C?b9kxn7YIH?@KXfniOI%MKZGC! z2tRy;INVEcgW(r1!(EE1%tR44BkZZ%rYcw7SFoji4lU3siI)M;E%oaQ7c=%((-$tL zP7mF>kaf7z4)=$yk7_@ty?5l36L(MCANq&kza9SjZ)LlVXLj~yHlKLt7)V{XIN6)B zzxt@Eel~hLI>)D~c4kX=PWCU^8|Ex2TXTwShRwFGpLz02`>RW(JD-RcZoFYQVrJgy zhJzscz|M3Zu6p1o$MU9Xz(43@ju_boU1lsFW&r<>j1kJo(pJR>+9kzyp;d1!*m)>M zbmyIh!tbV+RlaNcB6oOLuY-l3z@XsIQ7)lHhcXpoRLrZ56m|S4n8g~+!KG@qJ?&~= z7|OT~WSs}rsodvtu13u^=0{8;`(q1;U1=+>6W6P({3$E`zp+H{?IpvhijP_%h>BB{ zm8?BSqgie^QNd;ugQ7bCH@{)fS1q95D3Pegvll7FPy@9(&`7;I1V2U^wE|FdnzcM@ z^`xz;X|i@@*{&4Z1-2=*p*>~mNU IZ@wrrj;{7km-Us(2SZ z7Q=5Z;xR$;9Flc0QFs|T kK^YjxL;)b>Hd?7<~EJM*Ju8CP{0$m;<=##qhG1W zrMb!$kq;!`3#M@aO%a&man6sQ%?M~)1UG^xR^Vr62_d1xT2YE+Qv&W9V?tCmD!z+= z;b_@T =bWlo_3mw!*vOOsJ{8!+^8~-KvNKWtP zIC{MU+5vbFy+S{w61HGVM-0EBY4eGJF+Re>=U~BrM8Ahp0yw*ITnseQ4?1Wpfrb%i z2!VR1FnT<$@D%+l*?6wMuYYhzHbFkrd-fEP8E#yuLxOfnK+U3v0p&BwyR3(Z+#3H^ zHXnqTHGJZ6NcbF@U{FN74i3z+o?)0Th~*1n|ALf!Nvgjju3wSE8FKhbvgb?E@CC6_ zd<|_=@&$1K=2zs!FG(HXmyN_)HRYPAo35KPd}RH=nss-j-Cc|B{kKQ%Co-1aN#hc+ zP8#2_zGY3>-1D9Ht3Pi{d0$NhBM(V*iP)gZ_LePW-@Hh+z+ffSQ)g#}r-$F0NIiEp z<2W~IU4rk5EdO5GI6t~r+BxZ1X7x<<9S%ZRO!Ze*(zs*(h0NCdUlAiyap&9$X5W-E zOv!s5@V}XoZ;T96{@#8pmp?X_G8?`k03L5MGi_fH0FSH65eMLLb18F@!D@iph^gf5 z;H3W7wuX$&J!$^hsAEdu6DOtwrt5giF*Pz1nU19D+ZRd45^-qA=yWvI(6LB5VI?}l zI~(5GFx5K0^TB9p(3d&(TB_GSxgo<`TGr{9EqC64FQk|)D|(^}FcbshD}7SdEuS`} z4h&@4PNw#p!Y+f$Iz7`k=lvR1-H2UYf-X>8wrXA6pPEwp`ZK#vq*@2C%SmjoW3Feu zHr?2c{dQo#Q?%cXRsHJbzx^-OsWX={{ejeR4tw&-{F2)IM%K-*?rvYIy*IP-SZYTf zb~%n+I_Gv^mri_7Kkd>9?_upz$zSSgmRRRx-#Y_u4ZNqn GcA~UONPknqu z3AR!xh# IfkO`*h{AzmCH@3XhE%pjR2<;aTU1x7)KlN=dfg<71ao-v-kbL| z?>BFLH;gpkGWk^HLkZv?A;e1^GJ_k)bie_J_)sF@E>-2SM4+maR1%#eN(nrX{A5)t zX`xQ`Q`K}SO+bPraFi`@R5wvM9fyCs@5vEg(p|$zd~zOuj!S^H |`hm=8)-t8(yR&Ib;h;vLhi?92u$FQcRWW z@3|}(#fg1I2y7CFatHHBIuMM`;=(q-8tGcFONypM6}072d2N?)g}MG!CM 1{n*-& z0zFpk4eLX2!BmS}zO?k3DcyDOoMw@5b^T*65Fo4Nx?iVel8SqBx#q4@k)4k@Zs3*! ztA3?|8{?;J##|aKvtm6c)@v@$#ERt_3+!6i %&*gGd z6v!t+ppM3G=Z;`>f`zDxy@_NK{>@BwQrA;E&)l5;^@IJ)%iC%{JJ~sN{Y)==uA4pg zv-)SYu$|~@dQY3_YBM{l``SV%&33ifovS~UZ) {{!tn>=#ZpPW)l0&cd_6$U6Q9mocgU?=$%_tP`qXYE$8Q)bmTW$6UtK ztG3^C-=MTkL(J$TT2b*0MPm_l`{@&UX?e9Z+xHwRM5$f)uihWE&xi~KB%9DTvOQz2 zYs~%FzHQ|Ddgi;Oua|oId{>{p`P{yK{(%f*7kWm%Yvdm?f#8jq7v e6-L)y#nlF0+-)iemj~bMI?;=EG=xYjUyCRox_UgSwX}zjDXT!iaxH3bP;vp z?XinU4rD^e-{NjxoVo*(cVOziVi5ED7kU#5-HCSWoO!Ys2h!<{K* zml82ztcgU45B1~05=@|}e*p2p;2ViAQ=w@y!C>MOZ=@w5;mLFE?hf6xLEn7wZuZ={ z=bU@)x%d3;IrrCSG(w sI^Z-k3-RxUPWn;2g(BE{xxGe>x`m#E@JqDoq*&|S5>teX)kgKSi5RYRvX5<)w8 z0=lisl&YUI)t)0IuEZt7_i;Rw U`F5)xpvx_?RRb+hLYhxr-z#s60?n6@W_UJ?v2e8ZL#BVP8gzgE`&I*KD9E z+z0-b_5+zDZXk1cV6Zk*<&6_1;JM*ITKxd2SmTvQk{e1&6hlJMx*y83tx#0)W&6oK zMMpD699$vsxIF_0l5xRJr3ike?UFA!nmcTlTWh|j**FC1P8X01 7}cc&)AOVK3|k-BZ7Cv2NP!N(*SCk0e#Xa&@0Xey`js-SZ}iZj*CpXXq94Q$J_ z$GHOf)zDO_Hjl$qn;OJ0R6{Vc`S1K1Y@W=AV+{|LqZyl8dChTBreSA%(bdknkDCWH z!>|%#7B$pq&KC=gW!}F9MtzxTj%}HamJCr`-4|`kasB3;<7m{~b9yvq_|1-+b4MK| zZ>gFuS0wvP8Uyudo}zE`Ss)IcKq5g~pz~L;I8|Lyz?E`52vVa6FRg ~6pQp#modJCEXHu%>YI#?;Ou*5IZb0ynnz^D@ zj<9K&f~}nZKuO4V=riDi9|>kT(_vq %G4Mzrt(*RMD)fx0fop?T2Cp8NlV5uj26Zo* ze7uCAyVSF*Pxz%z+O;G6KO9TspW&DrRdp*pmODe&!SR(>WgJ`6@+VWSmBLh(q0a%E zu18rD)6Jl60+|Ru1|Ql3UjeL`)(WtSF<4d1E3T!W`SRL&K-EiGmb1Y2)1kEGX8*1I z-n;L6O2K>kl=p_gkW~CvNLrr60wmF1ShEg3LBaYNB>!Q-TDj1zP{wMxNe!uCoqLku zplHcM5M?}kjB(|_GjtW~i?$=_KoW$uy!tT1L&7PU?n%wjokZR$+6H8*G(0JA<;FyV zIfkwVQdgiV(Z^*m_LXHDqhBvwgC-6GX(&_P^ZhqQZWg`mM_8R2eoCFHRj=>YeY5Vn z_1Cv}uOId{9hsAdS-l!c%D${9m|qpek0?sfQb!H^Zc!Ah#1#p})KAeH`T~+oNL~Um zO_&*0fGO4+MleLqS|At6BF{_dMOlzGFGfVEZ?Q#`HZQdZ(owE55$B)>_`Fh-WScJ^ zAJq+4Hyyuar(IHlQCzW0cze>7#{g7_G}Xqa?rMHh!1BX2UIZqy%a)_QJZkDL4tx=p zVeh}nyRTy;2M-NfPouQ@AVlXYPt)Bwc#yD7rGQ6YMuJ7Y^4yTORnBS$-3B~-FFHGc zJP ah)mY8izJR~@J&`-pciSlnkd_io#F!1T%M}wan LcpwmQHCy2?DYmG? literal 0 HcmV?d00001 diff --git a/__pycache__/test_nlp_module.cpython-312-pytest-9.0.3.pyc b/__pycache__/test_nlp_module.cpython-312-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5718b5360f37284a15982a189380c6ba9de8ee59 GIT binary patch literal 1157 zcmZWo&1(}u6o0cH$u>=_Nh|%J#UPft7E%x1Dk6BW1sgq74?$Sg>{Jprn>aH;QzBHX z7z9D_kp2N4l>8~4;s-5*;=z-*VtVrAn@u+T@WH;%-+S}sz1dHxR05D}IbFU-0DdVW zB6FbhUZK(k4?N;SfrL`4=tYe{#VDAhABh!W7}5NA#VS|?G`Intz73v1W93X#@=$j4 zzFtVsQO|sM0f1#RK aByVd>B}hH+ zYuK8>slUM$B>Q)A$*t9v1RmyK(5ZwS=V}dUaw_iBHph?kkqez__ ;dONk7Ug)M5KE%JI zFSTNOR&v*x?OL-tcfVTaLu;;U&FyTwFMhKwGPR7nZA!~=0=GgPM<$%XE>TZ9&ZD~P z_ajXGRBRmCM+o!6rkR>@$kf_+64^HV(TI7r7t_tfK2TxQ5f!%-IF6l^*8O_P7o~v9 z (8!K4RVY=W+g%8$j~L@kuQPC;Y3^}t$I)r%8-USrvGlOb#z>J zaWP?=6ROuq#nip~L$|K #)~EN3^w!GDwP$NDZtd$}%!I}N0WKp0q5uE@ literal 0 HcmV?d00001 diff --git a/__pycache__/test_speech_processor.cpython-312-pytest-9.0.3.pyc b/__pycache__/test_speech_processor.cpython-312-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..479b88e50f1083197a900ad47006079500f46a15 GIT binary patch literal 2179 zcmaJCO-v(Y^!sL}?a-Y9g|Jctw(Jsi2O_YW#mgEa8Wj$7jk=p`FXPx5VsYB3-#3+Q z0|`cqoIDB#PsW2AJnV53Z(hAvfs}k%;z2Lo2y9}qC*S+pDW$T$WZt~@eQ)0Xd-H1| z5hnnqNUi*$67nZ9Aw-(Q>Gwcv6Nfm|BUvinN X&LQVZ| oZl=<=XbX{ZSGDez!Or&j@Olc04MI=@D& z)>(y^G-E0ZGcS6%^wlbb&OV|- NQ9k{AWX3L)W+2YM>Xe)=RYZil!M##7b%BG^ z@+t;ecmmJ{d77TtOW)km4)l>zI3T%}N5E+C$OxVQ(H? {oBP*z(16I&_2dpVAeJXs_)o~5%ni@(_0uq-lk_e3OH1q-5gP2-|_rV2bBW;(R zyr0hb#lS5FRUK0}y=s4MDneg|J}KG-S7=C?F@|w541l3OqPv;uz_$YTVIX>J&RrHP z@{Av3{Guy*!-K^l5A0&j6)F#ysWEg`B&2DpX MU>Jw!Z?A9D zX!ZI S9eR^sWvl^=(mys|&AuoXW{4%Cwqwd6!SIaf>0 zJzm*M&TmBzb)&8i*Yx3?`}_L1 muxxaOs>0kh8v!l~giSW5M-2KfUTR&lxk-W@)e>7UZZ=B4LD;z`B5t zEP#eWY!I|_^ra)u=QaFKp3e(nWAQ0K8|1KOWJ~MJs ky<5jhLkHXU%$jGfJ_T+6V!+o$9jxk)%(g~k2=v|_d& zst?F2HI }7C($)=MVs?outvN6vm%yJ8*pdu%z zdh3PF{K9Wu0y}&b5ac_NtS3fmiP7(>2Z_l;qqlC1)r_&aF RYQ^fRrW&h6Z&4^7pErk)XCjwgv`Y*l|(Q-@k|W8v$iFP6T#d#n;|NSgQ; DuTA~+ literal 0 HcmV?d00001 diff --git a/pipeline_2026-05-29_18-23-13_889624.log b/pipeline_2026-05-29_18-23-13_889624.log new file mode 100644 index 0000000..e262c21 --- /dev/null +++ b/pipeline_2026-05-29_18-23-13_889624.log @@ -0,0 +1,3 @@ +2026-05-29 18:23:13.925 | INFO | main: :23 - Application startup +2026-05-29 18:23:29.683 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:23:30.156 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-25-55_544530.log b/pipeline_2026-05-29_18-25-55_544530.log new file mode 100644 index 0000000..95811ab --- /dev/null +++ b/pipeline_2026-05-29_18-25-55_544530.log @@ -0,0 +1,12 @@ +2026-05-29 18:25:55.555 | INFO | main: :23 - Application startup +2026-05-29 18:25:56.900 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:25:56.965 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:07.257 | INFO | main: :23 - Application startup +2026-05-29 18:26:08.071 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:08.130 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:09.584 | INFO | main: :23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main: :23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-07_247345.log b/pipeline_2026-05-29_18-26-07_247345.log new file mode 100644 index 0000000..e6eeaa3 --- /dev/null +++ b/pipeline_2026-05-29_18-26-07_247345.log @@ -0,0 +1,9 @@ +2026-05-29 18:26:07.257 | INFO | main: :23 - Application startup +2026-05-29 18:26:08.071 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:08.130 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:09.584 | INFO | main: :23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main: :23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-09_575874.log b/pipeline_2026-05-29_18-26-09_575874.log new file mode 100644 index 0000000..58ece3b --- /dev/null +++ b/pipeline_2026-05-29_18-26-09_575874.log @@ -0,0 +1,6 @@ +2026-05-29 18:26:09.584 | INFO | main: :23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main: :23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-12_224333.log b/pipeline_2026-05-29_18-26-12_224333.log new file mode 100644 index 0000000..a53d949 --- /dev/null +++ b/pipeline_2026-05-29_18-26-12_224333.log @@ -0,0 +1,3 @@ +2026-05-29 18:26:12.233 | INFO | main: :23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/test_cv_module.py b/test_cv_module.py index bdb6aef..0052b31 100644 --- a/test_cv_module.py +++ b/test_cv_module.py @@ -1,6 +1,6 @@ import unittest from PIL import Image -from cv_module import CVModule +from main import CVModule class TestCVModule(unittest.TestCase): def setUp(self): diff --git a/test_nlp_module.py b/test_nlp_module.py index 9a20bb5..12e2e69 100644 --- a/test_nlp_module.py +++ b/test_nlp_module.py @@ -1,5 +1,5 @@ import unittest -from nlp_module import NLPModule +from main import NLPModule class TestNLPModule(unittest.TestCase): def setUp(self): diff --git a/test_speech_processor.py b/test_speech_processor.py index 5582cd0..de97623 100644 --- a/test_speech_processor.py +++ b/test_speech_processor.py @@ -1,7 +1,7 @@ import unittest from io import BytesIO from fastapi import UploadFile -from speech_processor import SpeechProcessor +from main import SpeechProcessor class TestSpeechProcessor(unittest.TestCase): def setUp(self):