From 8b54db58fca5841433e84fd222cbb2b4f5323a30 Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Wed, 2 Aug 2023 07:49:42 +0000 Subject: [PATCH] C-Dash: Update requirements file + add pyarrow exception processing + set 'dtype_backend="pyarrow"' for "wr.s3.read_parquet" method + add pyarrow schemas + improve console output Change-Id: Iae7f1dda3de4804af7089b80b9001f05d3364b39 Signed-off-by: Tibor Frank --- csit.infra.dash/app/cdash/__init__.py | 96 +++++---- .../cdash/data/_metadata/coverage_rls2302_device | Bin 0 -> 5373 bytes .../cdash/data/_metadata/coverage_rls2302_ndrpdr | Bin 0 -> 11868 bytes .../cdash/data/_metadata/coverage_rls2306_device | Bin 0 -> 5373 bytes .../cdash/data/_metadata/coverage_rls2306_ndrpdr | Bin 0 -> 11868 bytes .../app/cdash/data/_metadata/iterative_rls2210_mrr | Bin 0 -> 7919 bytes .../cdash/data/_metadata/iterative_rls2210_ndrpdr | Bin 0 -> 13081 bytes .../data/_metadata/iterative_rls2302_hoststack | Bin 0 -> 7882 bytes .../app/cdash/data/_metadata/iterative_rls2302_mrr | Bin 0 -> 7919 bytes .../cdash/data/_metadata/iterative_rls2302_ndrpdr | Bin 0 -> 13081 bytes .../data/_metadata/iterative_rls2306_hoststack | Bin 0 -> 7882 bytes .../app/cdash/data/_metadata/iterative_rls2306_mrr | Bin 0 -> 7919 bytes .../cdash/data/_metadata/iterative_rls2306_ndrpdr | Bin 0 -> 13081 bytes .../app/cdash/data/_metadata/statistics | Bin 0 -> 4398 bytes .../app/cdash/data/_metadata/trending_hoststack | Bin 0 -> 9628 bytes .../app/cdash/data/_metadata/trending_mrr | Bin 0 -> 8545 bytes .../app/cdash/data/_metadata/trending_ndrpdr | Bin 0 -> 13999 bytes csit.infra.dash/app/cdash/data/data.py | 214 ++++++++++++++++----- csit.infra.dash/app/cdash/data/data.yaml | 102 +++++----- csit.infra.dash/app/cdash/utils/constants.py | 3 + csit.infra.dash/app/requirements.txt | 88 +++------ 21 files changed, 311 insertions(+), 192 deletions(-) create mode 100644 csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_device create mode 100644 csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_ndrpdr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/coverage_rls2306_device create mode 100644 csit.infra.dash/app/cdash/data/_metadata/coverage_rls2306_ndrpdr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2210_mrr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2210_ndrpdr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_hoststack create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_mrr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_ndrpdr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_hoststack create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_mrr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_ndrpdr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/statistics create mode 100644 csit.infra.dash/app/cdash/data/_metadata/trending_hoststack create mode 100644 csit.infra.dash/app/cdash/data/_metadata/trending_mrr create mode 100644 csit.infra.dash/app/cdash/data/_metadata/trending_ndrpdr diff --git a/csit.infra.dash/app/cdash/__init__.py b/csit.infra.dash/app/cdash/__init__.py index dd1dc20169..796dcef01f 100644 --- a/csit.infra.dash/app/cdash/__init__.py +++ b/csit.infra.dash/app/cdash/__init__.py @@ -67,43 +67,65 @@ def init_app(): ).read_all_data(days=time_period) # Import Dash applications. - from .news.news import init_news - app = init_news( - app, - data_stats=data["statistics"], - data_trending=data["trending"] - ) - - from .stats.stats import init_stats - app = init_stats( - app, - data_stats=data["statistics"], - data_trending=data["trending"] - ) - - from .trending.trending import init_trending - app = init_trending( - app, - data_trending=data["trending"] - ) - - from .report.report import init_report - app = init_report( - app, - data_iterative=data["iterative"] - ) - - from .comparisons.comparisons import init_comparisons - app = init_comparisons( - app, - data_iterative=data["iterative"] - ) - - from .coverage.coverage import init_coverage - app = init_coverage( - app, - data_coverage=data["coverage"] - ) + logging.info("\n\nStarting the applications:\n" + "-" * 26 + "\n") + if data["statistics"].empty or data["trending"].empty: + logging.error( + f'"{C.NEWS_TITLE}" application not loaded, no data available.' + ) + logging.error( + f'"{C.STATS_TITLE}" application not loaded, no data available.' + ) + else: + logging.info(C.NEWS_TITLE) + from .news.news import init_news + app = init_news( + app, + data_stats=data["statistics"], + data_trending=data["trending"] + ) + + logging.info(C.STATS_TITLE) + from .stats.stats import init_stats + app = init_stats( + app, + data_stats=data["statistics"], + data_trending=data["trending"] + ) + + if data["trending"].empty: + logging.error( + f'"{C.TREND_TITLE}" application not loaded, no data available.' + ) + else: + logging.info(C.TREND_TITLE) + from .trending.trending import init_trending + app = init_trending(app, data_trending=data["trending"]) + + if data["iterative"].empty: + logging.error( + f'"{C.REPORT_TITLE}" application not loaded, no data available.' + ) + logging.error( + f'"{C.COMP_TITLE}" application not loaded, no data available.' + ) + else: + logging.info(C.REPORT_TITLE) + from .report.report import init_report + app = init_report(app, data_iterative=data["iterative"]) + + logging.info(C.COMP_TITLE) + from .comparisons.comparisons import init_comparisons + app = init_comparisons(app, data_iterative=data["iterative"]) + + if data["coverage"].empty: + logging.error(( + f'"{C.COVERAGE_TITLE}" application not loaded, ' + 'no data available.' + )) + else: + logging.info(C.COVERAGE_TITLE) + from .coverage.coverage import init_coverage + app = init_coverage(app, data_coverage=data["coverage"]) return app diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_device b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_device new file mode 100644 index 0000000000000000000000000000000000000000..f619ce8a8ef6ca8add01b94c973a23c3e3f865ec GIT binary patch literal 5373 zcmd5=>u%y!5Jufwt8V{wS4q_$5z_wJ3z&p#*nbBSjAbB0`!mhkN1{@=yS-eX_yn~wJEdFI*E z7vJnX7>wwP%=yom3|~K@p=BFs%C|-s+y>FuOcTFH;>7fPYvd;M45)iN)_mVIxUMIG z=?Ayginb?fn-IfyOm5x8!^qUUL^p~(az<{@Pg5QkS`@FJXZD}&ze4-2q4|4%{_r7d zxrRBr)kk*dxPJEC!LJ{(L!iN1*3;acnSFJTbv4HXf*aa4to%Up0$AqR`)CZW0(&*t z>)mg#;QDTvax+%Ds->@ ztm%Td<@Rvz&2{zlN%k%UW)(#iGKvaTU?jv(#o-4Ynp?$zQM!8taAM!GtX4K{Ey(w4 zEvdszgK5tF+l(uAyV(@;el7EZv}trnU$aL?BOArtm4ZU5skz8VRn$f%m1#&8n^iW^d$Ky0#^}mK&U`#TJf7=-ei|Sc||W zGV%=5GqL-0HQP7uRt^%jx=mCG^$P%Et#%X9g8T&_L9gEg6caxa9M=CmQwv5OYs;~v@%e?2BU0{>Dj_{m=`mWlyuzO%@od4rAR=GGC)2|C5+PFp``|AssT_e$T!V!n z$d}(rjvcC^eAF&9C$uI9)NNQ7R+*Yn-P4rfP#TPSl3VXn$FL=9+LN4OpDH&f6B^3Q zKd%r=KWz1N_X=oa8m}jMMLL#F&wQy;pBth)MLmtSU?9I!DEWpWgzW;it+p37!;T`@ zC`(=0rxmoPj#XtgY!|lJ6{~=~I&UAgin@rHh-E0nG3Xzv?#93*3TGgHv7^sn zkAa@Q(8GH$nX&$ISRX=-W33%aqS~jmrrm9CoSCAkRHI$}#Z=_J&d<@dS{%T6wADfh z&S|qxImRu$+76A=9`A{(JrDbeK;=?Ok34604D>mP?#jV}_tn%;eE%QTZOH!w>Vw_6RJ1MKsYWKh>!v2u zmF|=dd4FA=RqXAJYbk70j%Jbz^_adNmS-OB2q`)rkgyTeOE~J_%tLDNy$fSe1xF)^ zRDg4aV^I~yql+sTiz-JrI}LEG64{s};d+Eh&XRcxSeG!b;qvO{23bw~D6^ppHYQI4 ziE!@>Nyy~c{?mj@$SEi}!DShM5Ym{Ja=DU@qaf1CE!4**HADvw)6d?RDN&eEx5c2r zeqi?EIS({5DZUF|ZxX!Zj1g;>Z*#fhd2Iiz3PUFN$Mj>QVypOufgpsPWyS$0U>xkR zxf56%)Djwslku889qr99r07bAl&7SDM!;^eGx3+%!$Ek-f~=rajo&3~CSto_E{^5+ zUlw1`KSg?t&$~>3$G3U?65=f_V{bcKj2BA z!+ta!+MiJlS@L1MY;`W)6J{B8vHVN!IY`D4W7}j%z+gEzSio z(OxQ_+#ZVud&NCG9_8hH#o$+lXs_@w|4>%s^CW7Tqdepj^0&+<(7{*|6v!t^GAGmc zS!v>&jH2Kd!{$^ZZW literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2302_ndrpdr new file mode 100644 index 0000000000000000000000000000000000000000..06bc618bea759c9adf728ec036618dad6905dae2 GIT binary patch literal 11868 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2306_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2306_ndrpdr new file mode 100644 index 0000000000000000000000000000000000000000..06bc618bea759c9adf728ec036618dad6905dae2 GIT binary patch literal 11868 zcmd5?TXWi25~g-Clik@oZEdEU-Px)XRe72u7Q!TEs^;Mc%q<2RVhhmJ6r~#=BMC+l z7de%Gus>se#QwN>*zO}Cj*y6n*Kw?}jn1w6>ptCmPB%U$o!rw$&;EE;$Q*p`_Tx)n2JA90_T5Z&U0n-!KlXIj8yGR}k5icZ!_nQj=?!L@ zGcc!1-5EHtrw`_~;jOWJ548W8K5ZeJb3OBvonglbF*BYgXehF+Ee*{Z4^pOW2qmVW zva=yI6X4paKX7!EPN#wtxxrX-#%lp?nqK(4>A9Py52wyjcC>xLu+#Sd!%j~D^B21H z+gA3-*JX#*$hX$i_F_8vMw9(;#t)fiPoBL*ld?70J^0VRK4cAB(^ms^YR)a&&HnuS z*ALkV^ub%!k?oP5efd0V%a#ru_S`g~MQs(D9DSe8;5A2Ib^7}8H)sU(29&rSl8sXt z8oH?s;(Y-u>K(`*tW}+A0fMOa;2*tBC~W))?`nH=^wISFjLL2N4WO#qVnoE z`;h??N09}mMglPy>&|^~xSoUT;y6%CA728TP_`@$7fD`G_uX<^hoU4ycI57PhCwKu zEi-txoWod}1GCO9@>ybA{zuN9^IL?@L!kmKRAjy2w zzr|RYPR%4!?A2xaCT`(*lVryXZ1LOaw)?pYV=HmzWCre*W8wgd&dQ|NpPqXkxagU> zFR*Cx7P6r^mAyAdNG5KJ%)qCNFjT|lFsCYuxWzZ_hRI(B+UDl7bz#=ZQ#&``NG?}WzMClc+}%t3#BG{irqBM3_;QTh9h?ills+k zRJR*r#nQ~Wu^iQ{!dU5E;+(nGUAdg5x+UTR!xRdI=Q zn!TKc<9)v9YTewt#|ONnUc__W@8(RLtJtEel#rh^le()(k5A!StpN7QbuZs3s8z&7 z46R$30sV>ezK*;BV{WO7MNaPtly2QB8nPu`X(c-DNxjY(XmI`afVbuvQnzrW@ST}r zsg#~5cB-crBV)LQUG-sp#RL7VaS@SDy4T_15cSWw>?ToeRNwg2c_sbFNS){+Z)yT=9w_SMpwm4I&ZOTu* zjUMe5r=sonDSE6Ha!PeoJT0MpZS*76L~gxTD2HU3rc&(;6|3Tfa!#~fXDv7G-?9%j z*zdL0eW;6^Vwt!{YkSNoJ)y9si#7oE=!5Orf$TX`t5$$UXB^p8jdO9Y6MQYvS9x=x z7*r-p?uxEdDKa|k9ci{uSfLO7aV}TuQ?JfE$_$>0`TNQ7v=D5IT_VEeOiJEVjQsDc^ z{f&>O*`A?5>!Zwq&Yy zYo_o=_ZmY~3-r}pfxQV6)hxP7UNhm-2mdyEd5ELEKu;;L#g}@moKouy)oRD@@vDW# zi+(TPK${!lxe=ZTY5V>qV$P@WSQR)Ucly)bYtv%8WUUtcUYl%KJ2UV+(s*;CRmVf^HhaY5U8<9pyB$u3vxL#h{maG|SRcBTY#__VmmZXCEA;Dm zKW~B!iuB9|J6xh|o?Qq-8DfCE^Bjom(Z#r;SS`3;G|V6-ib4Fio-BL(c%oXPuM_|H z-SV~WM83-hD_`?YP_7Q>gjb$0!d>IVPP^*LQtQ?R>&&!0ce(vHuNbe zI!WB3pGW#{%W?XsouCNH(x<&N4p8=>7}QEwSB3e35Rs^*wLU<6y1@MjxBwB*+X%O; zhV@oxUv8L$@|{p369j>K6h007WaBBefj<=v=F!hUpCbaF&{lCgd;)z=&KID{i??fi zQlZL}AAO~hOGrwH@|gtm z5^Yg}ky1zNu)IS%OK-FY5B zUl&7tl+*Qrnr7_dro4`BzwrJLOb-^8$h(Wrq93clq~(p2eo2n#pKakU1px(7(?@XO zV+a0qjVH+03BLeW!Q~_3hV%upqEwIw>z@j?Bl}COIpN(yG>HH)huT}6DCZ&l&|glG z2oo=>aetwA{;hfm)|_yjnmB(H@ekq?oy77-{Z!+%ds4&m=O-7} z!{|ExpiTXWmS73MgK)24ptG*w5QaZ?Rv+!xy+36ZjxX&;t15R62Nw1t}|qrr_NC;+4Y zkQC+7Kge(CpX%SpL(ka-NRS{)sd1HHBnZ1_an85rzR)@87WVg^|NKoUbMQ1U29~Ss zA7=KSy?k=;#c-s*%$&Z+WZ3viePTOia^`pDB)kmgV=FoN2b`Q*eqfKhczzGqeI10F z56f-Wdim$mpZ@gXH82L&8K6BKYe8U{OwL!K6@-`eilndB7=8^ez3{DI;)IvJWmxvq zy7aX$x@psXW*?V)yLCwrn%0!b`|H+46VDE#EtH-d{B7&Hspd?qVE@Vf)6;*zmP&gE zdyXB1`%f5(Jv+2qChPZfZ|f@Cn_HS6>k3u>r91M%L2~8`Q=3QQzhs_2d;S`A=9yY> z@UL$^Wo^&2ZZ3_HGjY8j`~Bg^PuVM&gQu*od3`JU`Y`Kht_2g`#BpFmjRC_veIAYB zu|OX!`gr#v3>d#l%G`?Bu5#(wmSbM7&M{cjEl@t_&={Ev!NeWU7le^Mw2TmuxmKu| zTByPDPg%=@<+j(ycP~CP-kfCb5@1$QWWhs`!3vCc^1e8N&_{8rI8aM>uK`Z9w=DJj zw5-MS=am-6Ra#(@^7&;(QMOrZg7|qQFB3yr@G5OhE;x;a`2=6{R-7xQ92Y-&!H-B! zI9bZLEc>K|FXz_;>!XpA7K*c$=IxRerMI-W1Yu3y)*!l{^Cm2}8Y&6G=aslMRYGb` zZ+zG4HEca+q=m=Dv;h)?|7Py3;%HHL0KCQe#{!52=>hoSP4wdBU&M?$u=OV^hdsJXd6P@_QDfnmvAqr5fk?^ev8&g ztfV8~w0sLoa8Gjr>u#l*V7*VHif4ZXK(yaTBU()V3Xq`TNdt-|9|;a^f_zI0M?URM z99#D_e~zumc&_>WXod*mBnq~5%N#r--R?W-d)93q{Pg!6 zUU~A45YmBPynZ00NGg5OAf!*KeL7dEtk7pTSzplKby{o;cgls*1wv*7-h;o$qGs$GU4!exlgrPe1hS-Wqme4(l5s z=r6`afN$AmI$Fn^pm`P0CFrY=z~qS&O=?e7*aPYZ_8uBdr)M^u8SLYj>af|Om?&Km z^NQ3Rn0$Ro*KI^Uu4jQ>TCUOR7~@60#okuMc={-%6d zMgLmrM{SDv*jBg?)pZ=5@Ah=J5k~vGGUaZ(Z?xY`0UuQ4c07l=DCn+(Hj4eRpv#p~ z%olwC{BaJx>#@BT9FuPVkM3aMSIvBYwob`)#ks*bQ{AR}ay3Z|)J8d>({90RlsQ#y z-D*;KLis>>_T$>A3EjqHW>G^&-G_VoYA#k(=N4d@@lTc*c!t=+8?bpXAN12ueGjR`clotL=S z&${L|o9SHZ8hkvm>Ah+VyCcodw~AtYMTufwBL*miC}|jYY4stb}P@ZF9Tl;G^qu(rB%W)^erWLp6f@fP9*9i z^nk+6nO&Tn4(m4hW1`1d_GZXqC``_(#aqG4!+}SE-%6Cj&Z0vQspDB_PGH>X*I;r4 z$0c%#V?tnDyTD`9H6EXMQiVAM#|1og@$?ua;8|;gtLyQ33`pm2p2K11;sQx+yjAF- z3|@>clu<$3kO^H+-v^oTRRbm`IH;gt(zrdz<;n&g6>+Z8MSk=ohv?v<{OJ=F#WTOf z33wlf{pcJ>HwLrpEu>$>cuAd3`scT~+%f!8`Sk`ILScWDKRt;usW^#>AjFcyfk7$2 z6oi93dM*VL1GR*P%gK069yveC)+^^ ziM|Er=4c)JOZ5x6iad&gEVyxgOJRjoAwwC(<$%9pJc$teQLf0Zx%_ z3XqS;HSVu`3;fZZ^%~^_hkG30ja>-3GKPE@(y{RN6iOH)pXko0cP>-|Q0V@5 z;=x)?_tQXr`C-IA!oxgoiKkLTJUeSK^vsZBA+{=~k-rFJxWIe1882>dxBjq4q^c07 zz#4VluXS?p3{T(>l!QSY*@uq7u7oUdMZZ?Z^{*CqE+`)GGq~s@eFA?2Jd6IHyv6nN zIR5JVW_v~XL~h@z67Z^g0FY$?ZWLd2Kv`emJrOVPU560%y#&s=yc4Pn20()N>|+Sf zt44%{{05Ux{dZ{}g05I$=jHee(XSLyz8}X|hwYatC9z)`4?I1~((fWv;tz;Fr{E14 zZ_zJJ1<|(ySXMj3^#BU;9K{c!D9+Au)Ab1dy1&!>cdc`fGH4u7Mf@{!a5&cd>xmV< nF~;LJ8h&Iuj6R|r($8!8=Rf}u{wMvQpUl6%&1BBuU)}!!w{P2< literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2210_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2210_ndrpdr new file mode 100644 index 0000000000000000000000000000000000000000..2291bb8349bd9acfb9801ae45e8cc516f98e225f GIT binary patch literal 13081 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_hoststack b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_hoststack new file mode 100644 index 0000000000000000000000000000000000000000..993d16c18c08cd1f17ee395611aa6d577d6b1f6c GIT binary patch literal 7882 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2302_ndrpdr new file mode 100644 index 0000000000000000000000000000000000000000..2291bb8349bd9acfb9801ae45e8cc516f98e225f GIT binary patch literal 13081 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_hoststack b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_hoststack new file mode 100644 index 0000000000000000000000000000000000000000..993d16c18c08cd1f17ee395611aa6d577d6b1f6c GIT binary patch literal 7882 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2306_ndrpdr new file mode 100644 index 0000000000000000000000000000000000000000..2291bb8349bd9acfb9801ae45e8cc516f98e225f GIT binary patch literal 13081 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 literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/statistics b/csit.infra.dash/app/cdash/data/_metadata/statistics new file mode 100644 index 0000000000000000000000000000000000000000..208e119735a0015c20d2d5875ea99e8ea2b2cebb GIT binary patch literal 4398 zcmd5=ZExCE6h>QHO;tZ^(=sJeKSW6Vw6w7yq;;i!FeEl+fdsd~*i{wz4KTSjo?if` z%0K8&*bmv?*+1Di_Zl#PY}GWivl6&I=iGCi^PF>E#D%ExI}i4Lua$Nm#rDYc&7JQ{ zJ5Qc{v-|CMVm&LJJuQ{k`$H@Bh_jG90E@?QVn)eT;`#2gpUyu0`1Am5!TK@izH`#Z zOuR|JCZlN*UnN=SE<9k22bpU|MZrUV5+tLd*~E7PiP##)O1+i0tf z+6=j_yAu~^bg>a}TChg5!Iz=dl^DjUuJHtIte_WLjoDBMI-K5baVTr&?^adx z&OLE{)(}0rsuCOhoJd0dE!g{=snzTy77|>wBbygEw_m52l%SWIT4!p=mmbCjjEUVO1E)!5)Ni9T)%}p@)h^R(JxflAV{hXzb+marfLgEdllKYa6@&=F8$PJJBllJ|TR1ahi8J~%R;42)sm*hrkJVRs+n2zp#gmLE42|~$C?<; zUIsM?t;!MgYs*p!F>i`>GyM5f?{_O5RtMmPpSit4zxqaORV1!6-rA3U!=t*4gMEGv zkKA%?+{R~JBvz%ynGD$m+*N!yL1xe`D>g6(o&_IsIKAyW%|Hk9maET-+OCE)p4AHqj7-!Eq(o~!W8;OnFd z$E-;3?3L*;tl&F6xlh3`Ka}MQdfvm4d`Zvy4r=fq&hD9g<0r+*cdM6H%3%-jh}`2zv4Tb^CLS@2aZe< zgQWqfLw$xw0ew!y&KO)_{ZA#DG;K=8H#5Q3sKVE(2Rad-Q>9)hR^ARct5}J?$fI)85ND*sR_ JUBE9Te*vW1WP$(y literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/trending_hoststack b/csit.infra.dash/app/cdash/data/_metadata/trending_hoststack new file mode 100644 index 0000000000000000000000000000000000000000..f6ab72be9aa29f102b1ea648b11c3f3e4afd8091 GIT binary patch literal 9628 zcmd5C%W~UBlI6(uZq|q0O_a!6IjC6W%f>bVQk2b9E<;iTNlUZ@OCSkXN`)6mPyomf z-~)8&5B9L1uphF2u)mbUcFzD12!OH5QRJW!o73IX@9ycD@+lGd-JPeu{G*)Pd*o^( z!&Y|xncIEx?7`j_2H78C0FF)9O zIGVVgyZd1G(eaPKu)MRkW0|hE`+)J@F+IbMb9w9yQ=E5ahC8>sOI307rKx+P%eiBE z;jS-1bx;{t965D?d}5p^<;SpLZ170Dv>MELc%Tz>=fCCsX*z)1L%|p$=(~7Qm3Xp%uLr5pO z=?ro2#d+h!>-=?0nN2P7P!7moLyZu4TRmKFhT=B$KrdZC2XzA5^0d&>vLf)^N(+lP zEijI`dznGTW{Zs>?^ZJHLur{2I3W$2)cYW&b{Q0O zrOi&6mcNzkch-h>$y=xs(Ixa5SQEuNJV?hQhKLnu^8dt(!q z5DaIFfk%EiH$%+f!F$K0z2w*8!Ulx2@EdqSusWGoX`u);6bBK%CM}vl(gHV737NDz z8urxlKfO1yStd&^9dZznkop_*EOxYPrdAAbw-Tc{Y>SmRqGi~rK`IR=GgDJC0&6F`!d``hbSDgCNtfb891K}6w5WPH%1K{2Gd%F(1aU8*1xAhbQn!*6oEg3 zN-zzl6$*g&qz;{sXNKZUW^{11Om(Kre4JaSzA~FlmZ)KvzyRfoFS(a|9%3CsHHL4qJA4q;@ZmX0CTv?s1KnT1gyf&KbbSGFUIPTI;Y?KXO~O_F5OD zCGt7x@jBxB#fqzU`FXF%WXrus=DgqKEu>W)$yIA8PoB!%)m5*UAy;UC?u~V?B$hP+ zbt0zTEl+{}mHe)SvO!0FX-E~$=v67-mR&IwTN>*%iudH6I07DA{~hStbWOQi9;-!h zs@fXmCrP4kd_FV>3Eedx=o=pRFVu?w--^k6l+-zfbE@D=@E0G`$&uztx3iGJ2J{cu z?rBYHpf{~0*l|dG*lbgsD84Ik{jNCDg`+4AgLlgz#4Pe(%Wm@u_-&g$eMg$A!WosP zeTpBQ4yR%6_!)i_%DgJ9D#taK-r_l0fL-ft@l=G$T5q0gji)MDYrWw`zUzHT zeQb%VF6d!=FlK4LIieHB2jhNU`KH;@8hRAhD`Ni=OG;Pdltu-8z-{y6NB7)Uyq&hC zl_VGP&BPkei`JDcj0U>hfZoaaL`MDia<9XyO>xk-p*J@5soWGNy^=hF-p=YJOMhE- z)nbF|j9EX(=s&h9R7QHeANcK7H5KWi*$qyXZt3?@8~U0wz&;-I==o!#vaQ zp)NTEXB9dVrO$gd6Tw*~Sa`N=JInA~g7Yb&$(UF0oR_Gq&RA4cr=v5Ox2nMbru)76W(Yd+Q zzJl4!g18>G1neChYtT#0f@Qhe@VC{q(UnFTn-8;ca*XvX7b`G-c1GLl#+vK(VOGuH zyv(aoCB{cu)4LPQ_i%Ud;jZRmJ;VLWhVyAH_xRMDt-@@o3ygn8&3kIG%qh%&e^?vf zPFCI)g9!JB$)Vt0TWVVn{{`d+y-UK(ZNlt>eGcy}O9S#svnwTPSFBd?&T?|znxE7T zRxJneF@Ep4sd?bh@{h-4e&V+)g!JJOUk&01SO4k--tQ0aZoj|>fYuV;2C5patGMnA z>x9%acn%;ELHZ@E>qC4N_!*xEgkcRxIb7Fp{bmVU0R&qmd}cVs_kCFl4Ddt|u6 zrwdqAt0H}L;1C0k7VyzE{e?1#AdZZ)>JsTeFnsu2!M^$_0Fj0qfnY)gr;9?NI0oQr zgf%EXP!&EZpT1wqVBZmCa)pqX{5G!Ry%X0E6>1#N z(Z88LhXnqHwTAfMWBxQw*M-92`gQ0}Y7{5~AN|RQHTbI<-EGO6I?xxW{)njJ>r~qR zU{9pqR3`Nn+FL+*7|*jMCM8pn!EEVPk&B1m30QVoCmV*7vDU3dH zGV_mM!Csnfq=oeSc_pw<$hI%27d8)p6Z({EXG!~JB1lw^W`#P(DBZ|;<_nVa3?kesw29jU*D^-0Jt@OLsFXz6A0!x^5i z{ms)rzq1qSG@3-QdZb=$X5U{>pK+v5^`Zd30TjkRsSo8J=@Y-ZAtPu?xZh0ZlPDU} zz*M}^C+oh;xD7Ft`dCNo8`e(}`X&7@Az`Fn#ybGwIjY}z)DN=rht>xt2k&;|bo@Q! zn+uz$f9h4{3gpM)Pr1-mC0Q}u{YfxR~(uQk#` zJwV@P@mjKG4|3^#6ttzE&{l@;s7MNaq^joj_NU71=egm%(5BND3O>B=2M_D}^vRuj X`pYi-i>cr8U+&+}a=BCZcUk`je|7SH literal 0 HcmV?d00001 diff --git a/csit.infra.dash/app/cdash/data/_metadata/trending_mrr b/csit.infra.dash/app/cdash/data/_metadata/trending_mrr new file mode 100644 index 0000000000000000000000000000000000000000..64b0db0d0ca1db504a863bd3a1dcc6bf4b40f4c0 GIT binary patch literal 8545 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 str: + """Check if all columns are present in the dataframe. + + :param data_type: The data type defined in data.yaml + :type data_type: str + :returns: Error message if validation fails, otherwise empty string. + :rtype: str + """ + defined_columns = set() + for data_set in self._data_spec: + if data_set.get("data_type", str()) == data_type: + defined_columns.update(data_set.get("columns", set())) + + if not defined_columns: + return "No columns defined in the data set(s)." + + if self.data[data_type].empty: + return "No data." + + ret_msg = str() + for col in defined_columns: + if col not in self.data[data_type].columns: + if not ret_msg: + ret_msg = "Missing columns: " + else: + ret_msg += ", " + ret_msg += f"{col}" + return ret_msg + @staticmethod - def _create_dataframe_from_parquet( - path, partition_filter=None, + def _write_parquet_schema( + path, + partition_filter=None, columns=None, validate_schema=False, last_modified_begin=None, last_modified_end=None, days=None + ) -> None: + """Auxiliary function to write parquet schemas. Use it instead of + "_create_dataframe_from_parquet" in "read_all_data". + + :param path: S3 prefix (accepts Unix shell-style wildcards) + (e.g. s3://bucket/prefix) or list of S3 objects paths + (e.g. [s3://bucket/key0, s3://bucket/key1]). + :param partition_filter: Callback Function filters to apply on PARTITION + columns (PUSH-DOWN filter). This function MUST receive a single + argument (Dict[str, str]) where keys are partitions names and values + are partitions values. Partitions values will be always strings + extracted from S3. This function MUST return a bool, True to read + the partition or False to ignore it. Ignored if dataset=False. + :param columns: Names of columns to read from the file(s). + :param validate_schema: Check that individual file schemas are all the + same / compatible. Schemas within a folder prefix should all be the + same. Disable if you have schemas that are different and want to + disable this check. + :param last_modified_begin: Filter the s3 files by the Last modified + date of the object. The filter is applied only after list all s3 + files. + :param last_modified_end: Filter the s3 files by the Last modified date + of the object. The filter is applied only after list all s3 files. + :param days: Number of days to filter. + :type path: Union[str, List[str]] + :type partition_filter: Callable[[Dict[str, str]], bool], optional + :type columns: List[str], optional + :type validate_schema: bool, optional + :type last_modified_begin: datetime, optional + :type last_modified_end: datetime, optional + :type days: integer, optional + """ + if days: + last_modified_begin = datetime.now(tz=UTC) - timedelta(days=days) + + df = wr.s3.read_parquet( + path=path, + path_suffix="parquet", + ignore_empty=True, + validate_schema=validate_schema, + use_threads=True, + dataset=True, + columns=columns, + partition_filter=partition_filter, + last_modified_begin=last_modified_begin, + last_modified_end=last_modified_end, + chunked=1 + ) + + for itm in df: + try: + # Specify the condition or remove it: + if pd.api.types.is_string_dtype(itm["result_rate_unit"]): + print(pa.Schema.from_pandas(itm)) + pa.parquet.write_metadata( + pa.Schema.from_pandas(itm), + f"{C.PATH_TO_SCHEMAS}_tmp_schema" + ) + print(itm) + break + except KeyError: + pass + + @staticmethod + def _create_dataframe_from_parquet( + path, + partition_filter=None, + columns=None, + validate_schema=False, + last_modified_begin=None, + last_modified_end=None, + days=None, + schema=None ) -> pd.DataFrame: """Read parquet stored in S3 compatible storage and returns Pandas Dataframe. @@ -150,6 +257,7 @@ class Data: :param last_modified_end: Filter the s3 files by the Last modified date of the object. The filter is applied only after list all s3 files. :param days: Number of days to filter. + :param schema: Path to schema to use when reading data from the parquet. :type path: Union[str, List[str]] :type partition_filter: Callable[[Dict[str, str]], bool], optional :type columns: List[str], optional @@ -157,6 +265,7 @@ class Data: :type last_modified_begin: datetime, optional :type last_modified_end: datetime, optional :type days: integer, optional + :type schema: string :returns: Pandas DataFrame or None if DataFrame cannot be fetched. :rtype: DataFrame """ @@ -169,31 +278,38 @@ class Data: path=path, path_suffix="parquet", ignore_empty=True, + schema=schema, validate_schema=validate_schema, use_threads=True, dataset=True, columns=columns, partition_filter=partition_filter, last_modified_begin=last_modified_begin, - last_modified_end=last_modified_end + last_modified_end=last_modified_end, + dtype_backend="pyarrow" ) + df.info(verbose=True, memory_usage="deep") logging.debug( f"\nCreation of dataframe {path} took: {time() - start}\n" ) + except (ArrowInvalid, ArrowNotImplementedError) as err: + logging.error(f"Reading of data from parquets FAILED.\n{repr(err)}") except NoFilesFound as err: logging.error( + f"Reading of data from parquets FAILED.\n" f"No parquets found in specified time period.\n" f"Nr of days: {days}\n" f"last_modified_begin: {last_modified_begin}\n" - f"{err}" + f"{repr(err)}" ) except EmptyDataFrame as err: logging.error( + f"Reading of data from parquets FAILED.\n" f"No data in parquets in specified time period.\n" f"Nr of days: {days}\n" f"last_modified_begin: {last_modified_begin}\n" - f"{err}" + f"{repr(err)}" ) return df @@ -209,15 +325,31 @@ class Data: :rtype: dict(str: pandas.DataFrame) """ - lst_trending = list() - lst_iterative = list() - lst_coverage = list() + data_lists = { + "statistics": list(), + "trending": list(), + "iterative": list(), + "coverage": list() + } + logging.info("\n\nReading data:\n" + "-" * 13 + "\n") for data_set in self._data_spec: logging.info( - f"Reading data for {data_set['data_type']} " - f"{data_set['partition_name']} {data_set.get('release', '')}" + f"\n\nReading data for {data_set['data_type']} " + f"{data_set['partition_name']} {data_set.get('release', '')}\n" ) + schema_file = data_set.get("schema", None) + if schema_file: + try: + schema = pa.parquet.read_schema( + f"{C.PATH_TO_SCHEMAS}{schema_file}" + ) + except FileNotFoundError as err: + logging.error(repr(err)) + logging.error("Proceeding without schema.") + schema = None + else: + schema = None partition_filter = lambda part: True \ if part[data_set["partition"]] == data_set["partition_name"] \ else False @@ -229,51 +361,37 @@ class Data: path=data_set["path"], partition_filter=partition_filter, columns=data_set.get("columns", None), - days=time_period + days=time_period, + schema=schema ) - - if data_set["data_type"] == "statistics": - self._data["statistics"] = data - elif data_set["data_type"] == "trending": - lst_trending.append(data) - elif data_set["data_type"] == "iterative": - data["release"] = data_set["release"] - data["release"] = data["release"].astype("category") - lst_iterative.append(data) - elif data_set["data_type"] == "coverage": + if data_set["data_type"] in ("iterative", "coverage"): data["release"] = data_set["release"] data["release"] = data["release"].astype("category") - lst_coverage.append(data) - else: - raise NotImplementedError( - f"The data type {data_set['data_type']} is not implemented." - ) - self._data["iterative"] = pd.concat( - lst_iterative, - ignore_index=True, - copy=False - ) - self._data["trending"] = pd.concat( - lst_trending, - ignore_index=True, - copy=False - ) - self._data["coverage"] = pd.concat( - lst_coverage, - ignore_index=True, - copy=False - ) + data_lists[data_set["data_type"]].append(data) + logging.info( + "\n\nData post-processing, validation and summary:\n" + + "-" * 45 + "\n" + ) for key in self._data.keys(): - logging.info( - f"\nData frame {key}:" - f"\n{self._data[key].memory_usage(deep=True)}\n" - ) + logging.info(f"\n\nDataframe {key}:\n") + self._data[key] = pd.concat( + data_lists[key], + ignore_index=True, + copy=False + ) self._data[key].info(verbose=True, memory_usage="deep") + err_msg = self._validate_columns(key) + if err_msg: + self._data[key] = pd.DataFrame() + logging.error( + f"Data validation FAILED.\n" + f"{err_msg}\n" + "Generated dataframe replaced by an empty dataframe." + ) - mem_alloc = \ - resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1000 - logging.info(f"Memory allocation: {mem_alloc:.0f}MB") + mem_alloc = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1000 + logging.info(f"\n\nMemory allocation: {mem_alloc:.0f}MB\n") return self._data diff --git a/csit.infra.dash/app/cdash/data/data.yaml b/csit.infra.dash/app/cdash/data/data.yaml index 3100f1813d..03b61ac6b2 100644 --- a/csit.infra.dash/app/cdash/data/data.yaml +++ b/csit.infra.dash/app/cdash/data/data.yaml @@ -2,6 +2,7 @@ partition: stats_type partition_name: sra path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/stats + schema: statistics columns: - job - build @@ -11,6 +12,7 @@ partition: test_type partition_name: mrr path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/trending + schema: trending_mrr columns: - job - build @@ -29,6 +31,7 @@ partition: test_type partition_name: ndrpdr path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/trending + schema: trending_ndrpdr columns: - job - build @@ -58,6 +61,7 @@ partition: test_type partition_name: hoststack path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/trending + schema: trending_hoststack columns: - job - build @@ -81,50 +85,12 @@ partition_name: mrr release: rls2210 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2210 + schema: iterative_rls2210_mrr columns: - job - build - dut_type - dut_version - - hosts - - start_time - - passed - - test_id - - version - - result_receive_rate_rate_avg - - result_receive_rate_rate_stdev - - result_receive_rate_rate_unit - - result_receive_rate_rate_values -- data_type: iterative - partition: test_type - partition_name: mrr - release: rls2302 - path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2302 - columns: - - job - - build - - dut_type - - dut_version - - hosts - - start_time - - passed - - test_id - - version - - result_receive_rate_rate_avg - - result_receive_rate_rate_stdev - - result_receive_rate_rate_unit - - result_receive_rate_rate_values -- data_type: iterative - partition: test_type - partition_name: mrr - release: rls2306 - path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2306 - columns: - - job - - build - - dut_type - - dut_version - - hosts - start_time - passed - test_id @@ -138,12 +104,12 @@ partition_name: ndrpdr release: rls2210 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2210 + schema: iterative_rls2210_ndrpdr columns: - job - build - dut_type - dut_version - - hosts - start_time - passed - test_id @@ -162,17 +128,36 @@ - result_latency_forward_pdr_50_unit - result_latency_forward_pdr_10_hdrh - result_latency_forward_pdr_0_hdrh +- data_type: iterative + partition: test_type + partition_name: mrr + release: rls2302 + path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2302 + schema: iterative_rls2302_mrr + columns: + - job + - build + - dut_type + - dut_version + - start_time + - passed + - test_id + - version + - result_receive_rate_rate_avg + - result_receive_rate_rate_stdev + - result_receive_rate_rate_unit + - result_receive_rate_rate_values - data_type: iterative partition: test_type partition_name: ndrpdr release: rls2302 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2302 + schema: iterative_rls2302_ndrpdr columns: - job - build - dut_type - dut_version - - hosts - start_time - passed - test_id @@ -196,19 +181,17 @@ partition_name: hoststack release: rls2302 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2302 + schema: iterative_rls2302_hoststack columns: - job - build - dut_type - dut_version - - hosts - tg_type - result_bandwidth_unit - result_bandwidth_value - result_rate_unit - result_rate_value - # - result_latency_unit - # - result_latency_value - start_time - passed - test_id @@ -218,13 +201,13 @@ partition_name: ndrpdr release: rls2302 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2302 + schema: coverage_rls2302_ndrpdr columns: - job - build - dut_type - dut_version - tg_type - - hosts - start_time - passed - test_id @@ -245,6 +228,7 @@ partition_name: device release: rls2302 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2302 + schema: coverage_rls2302_device columns: - job - build @@ -253,17 +237,36 @@ - passed - test_id - version +- data_type: iterative + partition: test_type + partition_name: mrr + release: rls2306 + path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2306 + schema: iterative_rls2306_mrr + columns: + - job + - build + - dut_type + - dut_version + - start_time + - passed + - test_id + - version + - result_receive_rate_rate_avg + - result_receive_rate_rate_stdev + - result_receive_rate_rate_unit + - result_receive_rate_rate_values - data_type: iterative partition: test_type partition_name: ndrpdr release: rls2306 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2306 + schema: iterative_rls2306_ndrpdr columns: - job - build - dut_type - dut_version - - hosts - start_time - passed - test_id @@ -287,19 +290,17 @@ partition_name: hoststack release: rls2306 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2306 + schema: iterative_rls2306_hoststack columns: - job - build - dut_type - dut_version - - hosts - tg_type - result_bandwidth_unit - result_bandwidth_value - result_rate_unit - result_rate_value - # - result_latency_unit - # - result_latency_value - start_time - passed - test_id @@ -309,13 +310,13 @@ partition_name: ndrpdr release: rls2306 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2306 + schema: coverage_rls2306_ndrpdr columns: - job - build - dut_type - dut_version - tg_type - - hosts - start_time - passed - test_id @@ -336,6 +337,7 @@ partition_name: device release: rls2306 path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2306 + schema: coverage_rls2306_device columns: - job - build diff --git a/csit.infra.dash/app/cdash/utils/constants.py b/csit.infra.dash/app/cdash/utils/constants.py index 926e490f6a..376fefaf3c 100644 --- a/csit.infra.dash/app/cdash/utils/constants.py +++ b/csit.infra.dash/app/cdash/utils/constants.py @@ -65,6 +65,9 @@ class Constants: # Data to be downloaded from the parquets specification file. DATA_SPEC_FILE = "cdash/data/data.yaml" + # Path to schemas to use when reading data from the parquet. + PATH_TO_SCHEMAS = "cdash/data/_metadata/" + # The file with tooltips. TOOLTIP_FILE = "cdash/utils/tooltips.yaml" diff --git a/csit.infra.dash/app/requirements.txt b/csit.infra.dash/app/requirements.txt index 74f7c5a7e2..96665c82ad 100644 --- a/csit.infra.dash/app/requirements.txt +++ b/csit.infra.dash/app/requirements.txt @@ -1,83 +1,57 @@ # AWS integration -awswrangler==2.19.0 -pip==23.0 +awswrangler==3.2.1 +pip==23.2.1 # Dash integration -dash==2.8.1 -dash-bootstrap-components==1.3.1 +dash==2.11.1 +dash-bootstrap-components==1.4.2 dash-core-components==2.0.0 dash-html-components==2.0.0 dash-renderer==1.9.1 dash-table==5.0.0 -numpy==1.23.4 -pandas==1.5.1 -plotly==5.13.0 +numpy==1.25.2 +pandas==2.0.3 +plotly==5.15.0 numexpr==2.8.4 -Bottleneck==1.3.6 +Bottleneck==1.3.7 # Web Application Integration -Flask==2.2.3 +Flask==2.2.5 Flask-Assets==2.0 Flask-Compress==1.13 Jinja2==3.1.2 libsass==0.22.0 -uWSGI==2.0.21 +uWSGI==2.0.22 webassets==2.0 # Web Application Dependencies -hdrhistogram==0.10.1 +hdrhistogram==0.10.2 python-dateutil==2.8.2 -PyYAML==6.0 +PyYAML==6.0.1 # PIP freeze -aenum==3.1.11 -aiohttp==3.8.1 -aiosignal==1.3.1 -asn1crypto==1.5.1 -async-timeout==4.0.2 -attrs==22.2.0 -backoff==2.2.1 -beautifulsoup4==4.11.2 -boto3==1.26.73 -botocore==1.29.73 +ansi2html==1.8.0 +boto3==1.28.17 +botocore==1.31.17 Brotli==1.0.9 -certifi==2022.12.7 -charset-normalizer==2.1.1 -click==8.1.3 -decorator==5.1.1 -et-xmlfile==1.1.0 -frozenlist==1.3.3 -gremlinpython==3.6.2 +certifi==2023.7.22 +charset-normalizer==3.2.0 +click==8.1.6 idna==3.4 -importlib-metadata==6.0.0 -isodate==0.6.1 itsdangerous==2.1.2 jmespath==1.0.1 -jsonpath-ng==1.5.3 -lxml==4.9.2 -MarkupSafe==2.1.2 -multidict==6.0.4 -nest-asyncio==1.5.6 -openpyxl==3.0.10 -opensearch-py==2.1.1 -packaging==23.0 +MarkupSafe==2.1.3 +nest-asyncio==1.5.7 +packaging==23.1 pbr==5.11.1 -pg8000==1.29.4 -ply==3.11 -progressbar2==4.2.0 -pyarrow==10.0.1 -PyMySQL==1.0.2 -python-utils==3.5.2 -pytz==2022.7.1 -redshift-connector==2.0.910 -requests==2.28.2 -requests-aws4auth==1.2.2 -s3transfer==0.6.0 -scramp==1.4.4 +pyarrow==12.0.1 +pytz==2023.3 +requests==2.31.0 +retrying==1.3.4 +s3transfer==0.6.1 six==1.16.0 -soupsieve==2.4 -tenacity==8.2.1 -urllib3==1.26.14 -Werkzeug==2.2.3 -yarl==1.8.2 -zipp==3.13.0 \ No newline at end of file +tenacity==8.2.2 +typing_extensions==4.7.1 +tzdata==2023.3 +urllib3==1.26.16 +Werkzeug==2.2.3 \ No newline at end of file -- 2.16.6