From 0475d4b1c76ad0a6d8cac8823e9633abb093d871 Mon Sep 17 00:00:00 2001 From: Connor Makowski Date: Fri, 1 Dec 2023 10:36:46 -0500 Subject: [PATCH] 2.3.0: Update type_enforced and add new read_csv functionallity. --- LICENSE | 2 +- dist/pamda-2.3.0-py3-none-any.whl | Bin 0 -> 17491 bytes dist/pamda-2.3.0.tar.gz | Bin 0 -> 18052 bytes docs/pamda/pamda.html | 6046 +++++++++++++++-------------- docs/pamda/pamda_curry.html | 4 +- docs/pamda/pamda_timer.html | 189 +- docs/pamda/pamda_utils.html | 1435 ++++--- docs/search.js | 2 +- pamda/__init__.py | 1 - pamda/pamda.py | 22 +- pamda/pamda_curry.py | 2 +- pamda/pamda_timer.py | 7 +- pamda/pamda_utils.py | 109 +- pyproject.toml | 4 +- setup.cfg | 2 +- test/type_check_tests.py | 36 + test/util_tests.py | 18 +- 17 files changed, 4106 insertions(+), 3773 deletions(-) create mode 100644 dist/pamda-2.3.0-py3-none-any.whl create mode 100644 dist/pamda-2.3.0.tar.gz create mode 100644 test/type_check_tests.py diff --git a/LICENSE b/LICENSE index b9ac888..68dd25a 100755 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 Connor Makowski +Copyright (c) 2024 Connor Makowski Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/dist/pamda-2.3.0-py3-none-any.whl b/dist/pamda-2.3.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..d075e63a4ce188fe7ffd3d67a72ffb453da8336f GIT binary patch literal 17491 zcmZ_01CS`qvMoF|_t@BD+qP}nwr$(CZQHhO+cW#$-?{PLJ?H-Kc0_hZM@O!%sH&(~ zmANYAB!NMY0RR9X08qUARiCDDLDBxcVf;13zh5~u=0pQ^!qgMZXcX;BS0fK>uNw{Q1 zP8jp|NzGQ4?k+Y?EJU|bBpSz;Ty90OZZc7JNeLY*aH;Q)TDOG{IDYu5pxP^kbz7up zrKq0jo%?BE+f?aA8 znTA1nr*wDT-HBqgU7f#wYMnwOobxz5%+vZ5YFAh-$O0w6O9TZaPzB}P(+Uikj5MJ=ZN1l z2izA%1WnO3_B}?McxP?U+E+$sSeF>3$_+Gk)|63Td41|Lwcgcy)&X^--S1sJg1RQ! zH{^3_Gl{O+`|fMXf>IpXmiiZ-D9h8&k@l7CIk!cM91t-D|23gRYO{yd)-j>ko)VAE_Oi)Q! z3GZ6&AEaeKzf1+gwQ@aw7WXk*SzpfUhk&qgWw>s$j-0L+0KcFo3AX_(HA5`RB9+)s zSK!#fJCz-M@HsyT-#YrIh%i^zP@){U8ZeUfZR{JajI=Y1zvEfmkUI;=S94eC#Qvo3 zlL8u2&vwOcga}%$A$hPS2c>tL$?0M8HFrL8Y5yRgwps+*?jwrP%J>2}NP!il9g%l0 z15U$lTg$0!@8so3N@6R?7j;TeQG6t!xH zN}jC&xyZH6C^GZuR74u-<-X{V+DN4ZV!t4MSqv*n`Y6|y!G~Ubxdz(VJ=@fwYenz$*53LCo9 z`4{x-vCqA6``{{lYT8(WQQzgAEjxlWS;q#Fp${4afW=XPG7E2-naSc%(}!ukc}}p9 zSr}@~bN3<+UovS%sM5tdILg%IM3*$w3L@A#%HuCgnfMg?L!vY_=l3k_8AmvJ>jEY( z0Zs%RchJEzCIKRk`^kd^wJ6F^LiE{&>Xq5!)!!;f7xD(!iS!~r_etXx&lxHaxfH|! zyE1We#$W1s5?_nzCSos{gh(Ou<>b{QTHb@FCyPO?%U|@sclck-Ab{bJ(_|OMnY5O( zRabik9e8$VK5PDA`^Gf<3J%bAqFxwl@r`tClMv; z0|9fQGkXIQngGe89-;s>MrLM2<~+q*+Y;Oh-iGDF0D?+{Z%as2Cf|2Pi2C@%)7P3( zf3`do5KC-L2Lp(+!&eqXn8Y-Sn_X;W<5ZQ2DCB|{?m|>{KUZd3O;nzj>$6t#ACMh@ z6$5moi~2YLBj~(S4RlpI=w>>EvwB2jan7j?Ui$#i)AdFu&2J&+Kg`jG_Y*OzsBXc0 zh7P|Y-Yo6vqN+m&Da_|}ni+mIp68Iw$BumWoPWdmn2>nvMVJ{?i|S^qhFHCjl6g*k zg`4c+<i&|JhRzJNaFEGB{Jx^2togMQGHnfU5`G1ye`M4G zhl4#TdM+O(CZu3+T+mDCfj0^rio+5?U$fGG1!lD0N^eg=Sf|z(x8}VyD%~pnBT6d- ztdbpsgm)%B$QutkpDRNDq|3Ft zhCL0AMKbOwM-rUTN=c3>NnF4=Ff78NGcvA>g7huKsc?bas6R!U4YVa_&(Axeu*$)3 z-T?PxEa8$Ds_S$l)49EL3=N#4OOM4Hy%`U)2osa*Kut`!E`8cdlC{ zm(Z`@M~}4kE@x!tl8X}tbT}XAru51*zdc|t-a(8%Cdr{)-U0Mevm6BV z)VIrJe{bG68%Vo@+MH2cDGEj2&-6boXmls2br8 zqxWCnpor(7MAAh4$UgJdDtI+*xrGR<@{T4T*++p=f&SW!F56!OMWUxCGluwMVWri} ztGe|m+5~a>i#MnRn)gDd;BCn^0Y$;>8eqTY8y~G^r}VGARW?t5W0D*X|3PD zqS)`YD4Y7QZFycpCXV zDwZfCr(zsG%+4}LDu_ve{!UBK9FO2A)PDhY%_z}eE#78y#2>D7y+G*7K?g(d zgJS_iX_gs#ep-=R#b=@Ds}{2i?{zye80lZ0t3p(c<@F@IydT|xwU^U<$NX}%*VU`* zUQTvnvr4i(pbIS!crh#;UIV#qbe+z3{EBWBCC@l%Lb=Q8l&I!E0u~8QNPt4H;&3a9 z$s0(GqEgOY#Xkn;Y(dE`SSmD6UF%7lUMsEM$_F_~6WtY5-7Ta*H(^~_1HPTkb|+oO zuw%^gSSQiCUDO&M9=B3Z!!s`quypg57EL}IP^BOd45)ZkF=Cfago`|lrjuLMFt6Do zixlkkUP^YF13n7~iWG!azzULXr!mN*F;bqqM7M*rA^=H8kpzbsp6lv|FFqFWFy5ze za|0i#7C5hvbI%yYM*nzdvDevScB%A107}X7C>`YFvo0YF&*8m4ofNk9!2Lq?PhdH~W zDEXuK(Ypmh6g?7q2dZ<(sfwiioZn!!WZSIma5;K7HG^1Kv%E~^gFmLbDHH^EbXWem ze4~BGK;R?ueoFkOt8bQV=b|wyp*yWZ+2SMn5)@=aMraC7hH#Rn~|r1sMJgoS0M za#FSHCg5j&A^Yeg9fRcLwXVz6+8_IfgRi5)5Q{H4(K}0KbIX zgw6a&B5CFsbrYaF{L~y<7WvVv-%ZgmE0Cg>TffC@KsE55v)Tg(Ji?^v;D0iL6(DX3*cybsWAMfqw~ zs&mlo);qp<0g^UPKyA1E!Xmt2igS)s zVc>!p92jd;_HJk&c~r#oWQb)#*8sGbpI1lvNUv5!tc+GqqidLo3b9C6QS_4=(2Y*5(AgnZ#xV3NNs`>um2o>@Zrv#kG6 zKEQ{oTyd~1+OsROM=x0=%sy4QXl@n$`!Z?aZH9tS;?EbySGV17K$*M#7o5Q%en z(57~hWN4taJFfS+E@+PJ*`AEZZNSZTNVypV%C%N_Wgtn@&>^+Tr&9x#5jWHefb))- zYcoilkS5%w1CN=ssBY~v-?<}AA~awT6I0_pZgEog#0O4kut&5T)Pn>{Czo6*Epa1V z)q7`Z@Ug!x__~(l?g64>Y0jhA@y4{asb#%|o7-T>ujPQ?@n99QwD{O0;Ef}x4b84eN@fy44CXT0uXf{{SsTmJR z-dW*Fwjwgt!(vZJu897PO>-Q-&ekb7LeRZs9}}YJ!2Pq~6bu@lfx9t4D7{K3^xJa@Kn$wIo9hzFn?>g2a(u%us8@itpV|hW zYGxWQsT9dAt8H*Sx{?uJSkgU+OX>-o-v)QjCy*Z?PP(;ahZg_VD!{NsIZ(e>hDh z*A{!MA<11Cq3v`7kMrqo`qMSbuxWNocGj{@nDIW8Sb9oQw0}$?4o{V_hygw4g^kCNJruaa>{zLcM=x)u^b+)1gc& zpvve&kk$7%P3SbLdk8fl*l#qW8FsM-2&NAVgA*IgcS?FJ$=yk#r`^g>Zc`ycFbOx8 z{|lb?=8cf4u$P=XM}|^zUUM8+=+ZaSYs>7Ljh#XRZ`7vXxl>lcC(G=+luILb2KiV3 zm+*7${)658jvP!6`@V}A{&f9mqc#`wo$4Z3V;G@_Mw}?QJfCdyml3J1e-ubjCqx%cy?AQ?1nN z79$-|tH?)*wz3u>O&J%Qyht3CEkJS8t&7Q~XKC_)u=ey(1+b(3xZx=@ozP}zN`3`F{*jJY)TJ*M4Pj#P!PiWyo zf0pmDjPcfbG>f%6Z&Z?v;9(3IERd*C4gD?1N39g=anEYIT_}#3fl_izg2OcQzbjqW z;bcj(X}y#`9B&=iKyhZCap4VQ<8hUqqAbsy$+FapSPxK6S`(fGa5=KcSIl$!F6_6) z+<=MooNdLXIsN?6ZS%xA%<5D0Nye_mzuVwkRZ@!nB*>E=9c4G}OrMvDhGP=pIH&M2 z^w0VwevD;a7f@pV?30(@MBunRn(KADjda-~!)YU~|7xl&$PGEN)#fdn$*@S8 zIh5{#Ys9!ttly5P?q_V9z9^!J>2_Ta6OSQzF4oXqL5om{UkbvtHkm3=bHkHPx7gS7 zRo_mPzEk|OQWl~jylsDB+3nbc)RFw!yv&iB?8SrRT-!=hh;`+(Mrdxdvw;B*N+fSa za@xZ7G0=T0wDUKzprodL_Cieb)`?xy06*uUBYH5d`q%2JT=``6hIW2&J>(me-ZYAAPHn_26wSFUhgx6R!XO-Gl5VsZ=v zRXnvq5;;ns{8`Kc2HoX01Mnx;J|=D_WPjM63j@^Y0k#9Txa-kzGuC>ZY+sFe<$3yg z3I?V>{G;b;A?>Z{Z~S{Rpzd64gR|cvr{mFJzSNoWai5ez+bBWG`pu*&2`{an(|hl3 z0(Qhx<=aL4!SyyLaw1{uN=c`yH_Lr0`Bz>9=;|)AnbMO)q6z#0>4}Q{eLm z-JMDMI@aTSd^epOhg<;mJ|___rD~*aCBZI8G~)aQ^u=W0XMJ&v6pNLZALz&d7fSPcNQ^QBdZOHzIm^nOQh~+l#?~`0 z)J*du+dTF*D85(;z`l*BZdS<<}e8NMc^OTeeTrl=(0gMMvwC$V9MDuR%Rlm$XvNG7lU$}=b zzr1_B+P({HhdZyj-fBJzMRKBwm~oQmJ~{sg=02rP#NySRd?u!g#F_<+Ue*b)N;n zMV;GK=tsII>{EnDOrdY6(JR)KJ(^;+lOHGd--B&NMv5DYNjbBTL_@MCwRAXZa|lMA zS>QC>M>LdkH#)acKQZC8x`95x&K&YX_o?7VE zmn|P7PkJwax?r;*yFfD(SDseb3rshq{lW%joMDeyv&5rq2zrTY5=N~misOxZ zKsm7A(9030J6o``q2dFx@a+Xse(eIbil$*BdNO6G9O>*|z%xKwanB^OsPH}6n^4IYZ*=i&e|&)LvQN2m0n!sICcKDIGN)3?Z&?G8i5@gZF-S_mGpJ0h{H zvlF2rL#8s7YX~f|Bq0Y0$Ue#0Fd(8L`#>$zzHHA*VBUIM%YJ>hnNj^NU#u<@WgD4a zcG}3dVg(mdXMDZtTamvY$njjo4=6^JpV6G*Ka8jsPk`(v5=L*C37VpyM4SHuvkB8R z%ab@}cDb;k)TXdl^NW`{+lH5fGmoH7l9PLhZUf=jF}2E8;64)(1HLHOr{Lj<9BgP& z=nAqIabpn>EiFf^w@0ZKw9AGLXP_9a+PQ%hu+fKSdO;Xx-S%vOzd?jGga&&Z*CDG)Ee z?L(=UFjw-se<(MFAiuD*lFli{7~C;fq3>ehZ<~suOYD2prf3HDwM^ZwU~`hiNIzO6WtbU{bG1qKZ2yXOWsV*ls^!G z#WHX*&^l?8XU$+1H4dY0%8fTGb9av{lBtBV@Oh%ysOXMuk_CBox#t%=>ix4?;vEGn z3CqBaZWK|3o4$u>C-=kpJ7e?0t&Mkmhe|l@b{Q1YS}`6vz3d&pmz+%XhJ%~ZrW^yC zct=61)%7C;wJn8ORZ;S_qSi=2Xa3`M8Dj?IhScqWM#lJWcK}Y^?l2zhRd0N_HA9u? zk0BVOQVBK(AXt}e4{vFkG5N(><0h`=FJS2bd78IGih9wD_Ogd}bLG=+fcV|LVN}-# z&{Y$Vr-v9xpS_<2f-G2#J}p546Z%tm z7*P=$x{W(Zk>lf^RfyKic?3fNhn4ASJEPNu-Oa3Rd#&K4L2DdJcisP)uRMVVN@2eG zC}R9^;&XY)aq{@RrhUCr8))l1(5eIJGS~JV_U3t7bomgCHluTSI#`QU(HdPyf#mXb zuO?a9<(5u_b+1xoOd{D~i?aUXp)C&jT~#)UzEP8D!otpy+$!U8J;#SMSV}TfMv|b& ze50e>xE86ooSqxp?WzvDTj z!7kt9+DZufLmKgtlDf5Zpn`T-eqn|gM`E{b_-Gc2B7W)A9_UOJnBfQ3<_fjr-TU_5 zZ!b~ep~yCTFK&@2YJj3CcG#CMJRYRL?P}m^;<*_v<9=UTq0%67iu_s#MKbI<)rxC(FpW$h1gRtQ7M%?q%v&^WcZGL^s`E3Riny&yzvD1wj=JJjj? zSQYI~sMm@9KI;C2q~bmVu5-y5Q4OHw0Vt@J866F<@L7E@NZ8}BfPHNJz_@m$gGYFB z+DFv6F^N%`D=Bz}#arH{<47xLvpSH>M&mG%P7DxD&J8>4d9%@nS@PEc@N#SEvK0YM z`G>fBkv>BF5r8V^3rJ!#N_~-qS#!oxz(JYVW&!hPVK#lBFQ+M89!@EEq-nqfk_*_0 ze#t3Ip~*Bw_O*+AOyHw0F)k^{sekl2z>%5Lh-h0|R{X}~xuUS=G{`TO%^gTUoPE*5 zp*i^)6zsC1ypSH-c=OFuDlP3{61mc1u1rRfP}%w&2O)497p+bF=$n&z|EVOMsaNcv zpsBSMPddtzb?|YZX+@A6R3yK=k;ZN0+ie^219L4AhMyC&6b-MOj30NvQd}b0As=_E z_jQGq)9&prlF@^dQ_n9h&-#_6)kAD5vzg5=iC1wukXDI|w6S!2=0qZRXsrdE46mF*Nmn#&niun)Irw0;`*@%!j-OeQ@2iN=W^ z_F>t3k?y9m{!okEvD3lM!CFk!NYaFjEXhhjO7Q5}jsHIRz}J(Y3K2NAWS1^Ur0s`2 zDh;VsV{+_1HAK=DR-6W_e^6DOOqw}C3(PNCj~@G7`6zcl!_{|1?J;laGKtYOYe=k& z4`05dGI$_%Rvg+>j4QGyoJM>qB$`YJ&vaLq+VoT@j={8f1*={Egu~n$bgdwa5Yp`6 z7?2VSFeBmzcv(7WP+VTUMHxAiE&JUVTQ*>utX`2xo83$&(yQevgya6a+UG4`A;8(c zjW*|)^FG0%{V+^^#mv01M#$|?AMAmJT2Z~|S*5V*wAc5vvwAtKK}-W9&>y;hwIK#z zYfBTklI0s5^4nh2-EN zhtn%SsCVJ2>cUyr+aNTrOlS_<>nVDfS>zlwO|58VEp~$Fo+R7FZZ%TP2y?Z`94xxF zOuNIZW@Yo}TjvUcV|M{F zl>Dk1Edl*))^?LSkP%FwagOL~+}L6i zFVbVJ_OAO^6)*-%h-xE~NNoLdD2d;4=AHmgM z@eLApM!*$8PN07j(!;axh7!oNsW&E*=bV#me_>n_Z=wi~s9Z@ZN5&AINZ1ykf;-3b z0cahL26$6A)Pr$+Vb=>>0uW2=6GWv@dn15czrH%-TB;vSs(YTpe!?axN!@}*MruWB zQK}S06+&a6gVgSXL)A#wDfBaxGyTeo;!|%%yHk9&<3+(F`U+_Cb1L(RQE;lU26C>f#|#0X0&;3b>l^VbvV` z4Ki3vyy|&WR-Kne*s-n7s6>{GVix%Dikc9@$=}Nf%PG&BYUYvCzVJ$DDgYRTS_^i| z=o5ILfdxgvslU`y)(A3Oe}e=WN5ie5k4yuu0~`A*N`R*gg_O_y3piYPDB*X8eate` z13>R-`UQcao0`$}T3sNk9tCFEr%F-R%$zCy13dBq(4hfX-3ev@x;4FRc@* zV^@SW{H2yu=}l688{u+{B!ZU1`|EhsI2L<*KY#?zbaC$o057pm$VmX{WWtnkEAw2deX zvyUt*`O5>ob>=20j?k)|l{R3viB)pGaX7HmfCT78;s`3rm@*G#Qv}wofFPPlDFxn3 zj2s||I*^k#`)kW)b0Gocw&s%DEp-D3dqfI1jXLTLz0C{bh*ETTSkpM5AP74@s0WV8 zfK|ZZHikURUO+OPcNw{hBQWOTS^&w_9{5y4`nd3L{Y#s#4~o1vT(Dm~T_AUiRpl`X z=@7PlxuA3rbW$lK6R2!F@cMbIfZJtC*%)B=DXj{yo(2|+TJ6FUDkpZX1?rp@4`3!E z^M5TAF{ypt=t{oOJq%)( zRYpsl(78Pf!m(t(O2YWx@n}Sa%Lb^<7Ev+0zx1= zxDrmSH#aV9Un2%Ewt@y`&I~biv13Y>Ky0+^{#Fz8gycCQ$<4Ap6}(+FEX8$3HuH90 zyBa5a^1cXR*xA&}4#A-e+BO#c=9EICD>8imu$QY209{JswSb6qo2^{tO6zPa+a?1L zpt*5g6X;M%fxJNZA)maXU1fvQmt@wQl}U15st!Wk-K^sDo2G7Z@5PGIgkXpt|1L3>rRw8F5{Dt{CbIJu3{*jtj0gBQ-59=DDE50bOIU&@yfIvx;H4zfWo#4;fA6a5 z(!*m{1N-51zq9M_@$&g}hn(KTbxmUg+dQgQ8G!jgfzBHPxfPCbnk84El+|{G;Nqt{ zQ{@77>BJH;!+3JqqC(pXK4=mS zjBsyO!SvJ8r6C@6dgz{G`1$tSlxO*(>LLvbxBNvyJ^I@(x6n8oJDgxnbXL)w+fsHZ z76pU@r@WK&Jme0vbfx!q-0fP2FULG@4hv~!6Yr@0>mSduC{pdbJCF{~z6U(jVDTQN zYk=Pj^{a7*?^gW*hI?2G_%a^eS%1^-dbmQ6T*J|7DlR#m&`d`-8RvSgal}p3YU)Xo zn)V9%Of^$r#|b=A0PdLHv;(EDAKpaxC0pn)>_|`r<+%!XX33xS1LU(p>h^0%4X#V= z_!wW@Y-=r$V4kEtmNFY#ZkWeH@usDddO>K;>XNhlcjh^n&9(PQ;W>yN3H6%q8SP

JB~>*G z<+;)0-2>89A0+sRkdY5PmaVZgaB6Q?=j)hayR9r3_W+T+Epl}hhTeNC))eI*0tbhv zi%%n8lGQ=6ydbeoc;9J|s<_U*`5lYW*jnBZgEu)WlIDO6pfeN{*a2_l^l!RhmJpeTQD1ueS!Jajx$@Mb&vc(%PLj$Uqa^CqeL-ga-hgg%Jm z#+LdXlv2WIJW?nTN^)mI!`GPne$bssobAXB4bpwlG6oG>8@|B1^6+8St$U|^Y*sz$ zLCYjq;D&U-`_g-ra*RNX# z!I87Y1dV!qQ-O@3LM`+D1Tq8x1438HSf$c~Z}~~VKYjuH-3>YTdD@g;?Sj}D@A}3T zjH`X1EH(8R7BBF05Xk`F3iAs>ScSE@yr_|IsfT^1X~y>-JnuTR>oQ!Yay-hl~*y ziPT`1yOYskPd3S!YTWf0$r^dOk5irIuL6I>p7xNtJ6Qp_6`5}&C>r!LYX8H@5};&n zM?A-SDn(nH19_nCMPjfnJda4-oV9&Rpw zmnWpXRe0@cHZ~eE70HhW{X!3_{sF0Z;D~aP+N*N0Y-Qyv*LT+gE;*DZK9o#2s@%b* zQ#2Up^nwkGgc+Cax|Q8D5EUXU^df-Ei|&7u!ps^u6%`0^Zu-9jzYG)r;Gd%s{~o$< zbIxp_1#=rw{BC5giVOx1DPuR`0y3LCD>e4lrMON zfxH~9-?Dq4XNv|rmI*9+vc}27WbeI0J3RQ1c$ANW+tJoaFFIAsrrD7D!_$gTNV9E_ z29vJVhlUKzanJK_`VB}ZpJ@KNm7C13lG#U**-=sVAfeIS1Nb%~1~@E_7v1EFCzktSJJd&QKc1JT& z5GviDpy!}Q^s`hF%mcl=*b)cvKQk9;Jp#ZFrUw8QIT##{LZKUu$O}%v8l)Tx;SiQf zYo~mFpz5riG>W?R=K8(rO^wy2uW!p-t8*N1pA+*fvfnMEDyfC;BN|+(`+^72rFahI z%?tS7y=?aPAWH9im9HBR0071ApL8b%sA8Y6Q@Cu(yW6I)s-aY11jMPY3P zP1{U5l_f{+X-P7|qR*?_(H;C}#1?~Pay~_IenSh-S2wGli;&ykxzQu@H zC&)`;^WN*+%d}G+q!9e{8yG1ksMcNQTHAayxLKYsO-N$BXxiTE{el!~D5sggU9}|w zJjZTMtV@(MQBOCPmEY%@W?Q8#mMc7?xM`+;J7U@EPC#U2H?L@#Ral}WXxs*Y&kvKcU+$ki*<YW&JHjq&s8*ng zpo|$k`#10LSlNoVx{7=fYRaj3#P zovH_(w}JORr!3ZGo@_n@0Kom7#kmB#0>* zysxtnuv|~sR13$m5jm-$e&?wiNo+9g+PIpBGk@)VPSKFd%PeR`0D+@7jAf^1XS<)I zt9K`>6b(eo^A@pGP?b0#O9$i%)08TObD{9t?z4FyYOT7{I58Gij?_#9tY|1DFEx=d zhfBy?6O{*CNhlEB7)LGdg<=+X5IN>IkY}d~1MasT)M#aL3ezSwj16zUwl~B}T{iAX zr1nk>#q9KYG8XqHw^t1*z?mCc8ZmN%SrJrH)SeF!@aUEvMYkl}gUr+ue1Z@~Y&+@3P0h(qTO{68@z(a6Xj;I@X;FzUBpHhn4CZFRK^x?{ zrf`*Fa3gc_F*3K7)bE35b z$W#)u3_`L8`%G6ChM+zING@5Jur?7kPrUr{B-2G<7Gqu65|q3!U(~X*f#nb-RKVnb z5`?w{CHal=%3N3ermI&`Hf;u;FEiYrd3xGCKtz9kKaW&48qL5{$MZ1AA4Z4uuU%uo z+G4vJu>PAjhtgzfvjTq9_z~ zFh{kJHj={$<^o@SRzy(yYU5%tdw`DMm@R+(ZXHpcA-J^cBJg2A?2e}u9FhP%mP}9x zu~t*br>~UkKjIp)XewsdvsiEP=*e@Qz&-~36_BVMQ{5zhK*cT9>3)G;A9iGLrSPGT zgXczKq2v2cXZMK1KJ|!x&=vO@CQ-hral{Vtab||m_>tOTnSF<`s{@+oI0Gl4{9_To z9BkZ$kcnf>Nnx{!dynhCz_MH&GYx*Ba_B09^#E)j;LNfAetr!GMj=P5h--2Ls6$%O zH=u@+Y#|E$!cT^t$gJTIpwEI&1Y8A+2P<&mZ@t+DZ`tT4TsNU}P!UV(uGTojRpd;1 zltjMXJaM+)ScG%^g#RmyEvTrr$3i*IIKh@238cL>7w_Q{1z3+;}9;f{6v|C*gV-?;bw9djrYp-RbY64xr1AeS{&*VXCRN5y;Hwi+AQtii0cYL*}ZN{ zYI{%DhlZzSL;$t*n!G)%A-|b;?~Nk$#01V*P0{e(NHLHD7em=g4G)28BGVYehG?v1 zzbyLQL2jPU;#U+9n&KXe6q=^QAkWqzDvK7WKe@mKJ{5vH*03jrwXq3!=7%=0iZ!~l zU;F4BIcPq&GP}Nx;awBrHtpTC7(mPGLf~B6dkeVM8(k3Amf=??C#9?(>i8o>e=kv+ zHIIrnRN_v2!)$yhu40Yqq42Q#zc;A(vi z7z!lJz&$&olWp&?;h`-*CaAhuyrpya-LjzmKOYiHbqj;I7x z3;Jz8*3OrK{o?D^eUmqMi)cZ5mTd@cfB#l8bWfsvu48HcK>e)_R1*7e z*S2{KN(<=l&7Q6}6#EeV#mg&%x1PwK4s(2=+cq~>WCcyMjJ!l4= zr{1P3ernB&Un_~rh>?HBMwi6PG+$8Ze1APO-LQq&%xZ<2if&%d{G*s@xItt5J|Ch~2tKQF^t9y&6koj#5gbK9GUYZ4464D2v z_m{Kb^hL;nn2l- zJ_8+ij1|Em^>r5DWU!Ng;eFs*t_P>Q>-|3J`tmU&1(kfow^+U zFu4^BiN=<+@Ddq;H$ITZYhP?++jmCuUE&*aPGsHvnCIb1zy-ZN8jX<5Z>TjcU!S8@ zRYFa#CJq}k=ys5hT$)&x@Ax!Y&mW8V?OTT?A?4>0{>NkX+HSW#6}L-mT#nU{YWTKb zyIU^UKMdF~-gw;JZcl1>(mmV5$KB^P_%RGp+^$J4#d7XDlUT2YGH1T?ccDH4q*B|0 z7pR`{_E|BME@X6*r{m_PmVTjSrh8+Y-cc3(12;54KEAs2n%Cf&rX_u~`Wzb+uCJoJ z1>NAoZFmr0g=13UZNy3=v4wgv?Ip=m6~fu_u=>XDA6x~FHzhE_q6VL-962)IwxGJs z?vd*~_o{9Gp0NFgkJ~0UFlqfIHUAja|4MFD#e{{Wpl8LTr{`fMsVQcrW*ZggmKgUO zWTz#mC8)+}8x+JO#;It+X~E0o=ji4b=@%I1j-V!HY3HA*R$$4fC8o!v8WhOLDWs2~ z#HCsl$jX>jrYC15m!+pFj}CzTEsOk5ql96RK>iXg0I? zpKJpb_<;_Uo+SU5&v*ACXSX4m&CEllBiuNR@JmKX+c1~3sF2uIQhCR{i4Gh``>`2P zXQap=(4A6qe~DZyef>#VEQX8NxsW&qsmr!{#B+$Q3S5q9yc94OF?ON{Ua5^g_bklreht59GXiM9>7oK)vt9sQCH>(Li zc`wkHY&L7asO&Jag7u4VLe(7888D|v^D-e65^-VgrTI$5NEvz<*2UvO-`iI*i~hIKmYiK`#GGLP^vn;W=qj*>cDI$h^P*_^AdE3_v~fA7_>M1$lzAWD$T}Jx1(tC zUh%>4g~;#8qE3x+ZTij(C?8xm-pduEPN%a%dtflX+>o7TS4q+p-$>FmW<22j6AzqR;5kIkJ6hoE zC=%%C$UMh&W;UEDh4W=ChiQPxC(Dr2hvkWCb&~M(04^s92!ss$PnPfhT|MFNhksp7 z{{KAwD^T!nwG{rR`~NJP@L$dV08RcP|JVIrAb-OP|L*($5>))RuNnUT`SpLwEB+nf zpVANiGjaL<4Pk0m}}X|yrLWfZJ~hi(>n35qaF(hiqd;PMpRAoNlXVbD69 m2BDOJ=mw&feh34<<1`Rb76y2;g34Y7ZXjd?mYp_^ARYkNR*i1} literal 0 HcmV?d00001 diff --git a/dist/pamda-2.3.0.tar.gz b/dist/pamda-2.3.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..19ed028459839a252c6d54f3fd69c9aac4ae7bf3 GIT binary patch literal 18052 zcma&tLy#^^v^D6mU3JQ~ZQHiZQ?_}^wr$(CZQHi1-u~{5zdNEMdeE~SIogq%|)GLs3j<3ucrC^xL|{_gGVfD3|jpBwYcTFJ=a$dJ;*8a8lT(`WL` zbiVN159UET-ms1?wDJjS-%8keeN3~0$LGYwLkYv z=i1!gI&*FZesBFCU;WE^+5mW4-jhE9Fy9qV72VsFZ~lu4Pkn*E?ypbJeL4#OiUI(h z7~swS+tI#m>u+0DP2?kh?gEf?lqPW}AD5f?>#qGJ3gFq1|H|*$3;Ee2``q)I`~h&3 z0PN%D)^Y5If5LTErwm)6daAC{H;TBgnz_5K&Gx^9#&@~%g0jw&EVS-CIbRCLVSP@; zt~0}Y+6^@dj>fia>mA3rU`K6SZh|$s2Mz<3BA$JVk}cq4tQQ7 zcRU_k8RN9Zi#VUf*Tw&N{#r7-BSXA+9m?@-fU1{4htpcR;156{%|c{B)N+jWWrwn5 zAyVkO>=@RD$swLG@kZYh&6t9YHGnRmKTHel;C;)Ek#E+%C)LO;rb_yM^kT*fTx`Jd1 zpcd>0PcNyWHV|8zH60AqmB)OBUAnRyf^P6$=k>ehLS=^)zGUE;CVvK8A@lHg`o3-* zgps)UOz!$~e!M+Y6=_tvdBF5p!@q7lY}8Q@%wZaob@xyAXGa`k762>Fy12PrqpUgw{(6zu-}|ABhp9Mw1cCZD0)cJ;F20~!1EHq7 z*u9=#pdQ>FJ}>vxVEqFuo==W%!?Hg7UeAAeT44mhpNLQd-ky)Y0tB)CA1~2AUXQ0M z$h_YlP=q|+A2SK(Fc2?~GY1b_5ZzX%6?X%=G? zcMg~g3cESJ0eSG4Ct*#+m-b_267X*C2k&SU$1hXGO=ht z#O~k5mWqmnUN6t@;hS9}Qyjx99hws1s6YA|0jjTgmroeUfIYxfnysM+g@Fm+?(Q~q z9B?D=E?^C~aC_}c`38_a3dG^9MdaN0|NDjp(T#J>w7tq?lB!<%aJdYQ z!uRe2df2ewC}07-Kn|XZ=VCz&F((IqNO;OX+^=!v3@bcf&*R=LPE(^=S1|qyfL3-$ z>UzRh{bCesaQiw6W;|hm47t7H%oXd&$)SngIvYBrOuvmTuehnO`70r4vkdU` z8<`chc#a6W;%ESEyw8>}m#K3xBekVj5>#ou0dJ(b**kUR&Cz6_$UpEfi3?+lFaqja za)}iF!Wrw!9Fo*x$k2UXWt)^ygEz>|#%~(hpamP)9og$7FVo-(TmgfCQU$?MW?~$zhZ(2)n3@75EIgJ;!kjwST;Fwa1nti#t%!QUQ3cFyo^50l&h~#a3 z2h|eh9WX`%CB`sd)_?bZC8)g@5LCaQ(Q`H3VWABCmo^(<4cTW1fp{h zj5w#$E2hW(SVFLz1-ae$ypqF0V84Dq;wr<)gbVn`L4^p(#JXK7E_l684=V=+nWy)p z){Cz8AY)_!FbwL~wuuz!tg~{wmNvkcX6SI}f*6ZB0uLEL=gmK6r^qLKx{d>r)dn|Eb{5S)_uaAv{}B&Y}-w z>w&VVeqp<5Jf&{TkFu2?@m3GX0uf}&=5u+#j|g>@?rfR@0y{~@EZSGd13|q!re_y! z6N!grX5>_4nTSfMsp1c@fLv&`DYEOUr>10J$wgnNE_nIH_WchU^3nS-j64bh^K!;< z8sd=SDQG!$G>;h5BQxO?ftvj{qC=9l0gWd%FTFPKZC*DJTiCWQ-0tr68*z4cf*9*D zWj;ag3b0P#)(0#SvuxM_i&T1=Ab|TEUxXO;{F$iEm_Jw7S^#is5@fCuUTYd*H!u?% zqCsfJBr17-!-lnvM4U3bd&QBAd;&s5L)>D%-N3 zwT3hkfA%<%%W*`zd0bY|S>hO>dxPeC37cymI`Cny(fQ?Mmm9HYe>ZaH#^W7bXJ!H+ zvA+q?zO}ILu3Kw{4O=ntJDn|E#*T9b7De8`h;A*AU97+ov*(#&yy8(wHmcJou>=+) zSn|r2%~+tt1is2@Aj92I_jr@?4jD*};;6UpWY5!+!dW3H@yBe<#OZi;WXHZrB83v; z6s7|IR#-iZJ9E+`Da2#Aab``(4-#m}gtzhufIj82!Jifq!`$Qv)4gV7)H)|-LD*mI zCScYDD`Ki+I4M~8g@{6#hZkPWFGBG<*rJM_T0-0uBEa5No*lVE79ksA${F z)s$Bn$dh-EAytuMjb!5fW{dY8YS$2a%{O z`UIUXL=ZD~bZW@>8fW)miT^av?|1u@6^N=ope#^!muGjc;cHSJVC)Y8Y}rn-F5k9c zcO%-b)n>scCisU0RmJ@{O%e2WOda0?`tdw7jvu}}BrqoNI%RHWz=9$=Q-ilv;6bcs zAig<3JwTur{QbsFVxUf_DlTX*mJ@o8G29;5$Xx@Z9GF;f_(3qFKgS6zRLC;U`ZWzq z3j*~0Nx<3S@E-yv=JtyB^%UAL!TD1y#Fya8B@@moWcLV#&83(M1w>G^4jz%Sk*{!^ zc7yoLqXh3Cl0hXRSJ);jw2VhsjHn&?JtK(t;ZhDp5T{tB5C-L_*^ z&^!tcf70MSiIXXrfw0v}O8Qv*QmzDu#l040>y*&C!y#casgU&MdU%6{C*`A_7{`bw zyoQfjYC5MsZ8@<|9>`hb@HMvWFg8Q(R|7}F5YTItkh#-d9&0BzP-sCjdV1yR&A|GO z_1)vn0%Fc8Y^6z-&%E|?f~^khmg!EjjnfF6e*S41tkVh11qi8&K)OVd*phZb{Uf9{ zOU)ozxR8Duat%)Xv_7qdAv(zH#!(H!`zb=nKgQk4B^sMbEIH1+4b_5j-tzgzW?gAo zD=n}uAa7hw!64<>4B6VlE2r@UO~ zPC{a^Cuo})PdH|!IB8B};%cKu3Xb=fS`n~ivg6m94p6&1 zfxGax{{mIEcNdAl=QoT4=a<))I!1)j25M!<;$3M!N>2tkf_T*lZ-s}T&T9uyhfqEn zDO`RC;obGtSB#g){lae=PvF(o4Z))42PPGKu%tLE0g99kn_AGV9ERysLx`9N9Jh#k zybDLVSH%p>f{S8S1(NEPjG3c$eiSK}J+HZ(Bc*VSe40r-)d1MuVG^?G?PXLl-G0@m!> z-nNbbYnRtb|O3?KG|Kn30^>0-qppxJJ=7~V4p>Otg zj~1ZN*0fdm2v9u({Q2?keDW6pAinafd;s<`e-R;a??(O!Ik$RHf9}~*Johb$efF*G z*lL^s6ds6f+O+b2)pd#%0o1<+4}i-jjw8V0b*IPnPhX!wBA{r;*7YD~0^t6JSo!U* zFb0?aA^=O0i~u5XKO?El7|qJWTZ=~>F7lB&Xd#p#htxD1eGPQk6nU%h&s4~CNvGN@ z3hMwdEyJj_C=6iSR-w`XRc6`cDO&L1&f6CXW!#OUV#yDyxQ3XRBD9&O5|5MXrd*x= zYSE_qsEvN-qw#E>;inY9G`N~9F(20#fhnQEB@>m6g}tzmAfsf>gc3&gIVD0H zO1ph|M&dr4UX1z`*pD^acFmPbKaZVtzD2wTx0k0pnb z&CE-sX!(CN0^vxPE-$-H9nUxYEMR2QBVxhjNDI z4aPA8%AkaDfI>SC)};ER6c~7h&ZV!oJ2s+>&3F*h;!6$7z1U^W$D|S97<0uL%?hfx zZJQ=uCizX`m17dmwROk&igCLt#5DFDi}gLpBH_Iq_1jG42wj^Q2vBroGz6SC#d1vz zx*th;x~#KpTiC$Zn9}jqVfhy5^ap<}W<7#i)7?#ZNDZNQ0P!6SkT<)4qk(eUv8}s0 z3?-<0G$3TFj}Fx0c`Vgp-IM|idiBfxsg_p;QGous<`o0xU4EIr2stlZsI|1c-ns`5 zujx1{C?HRC-WyqaxfY`CZdE?K>AW0o8Jk^bi%zhg6#EB11DO?nEwUD4S@8YgBAIQ; zLn?MqC(~riC-U-3rqoioI%SRom{?E=}NjjNzv_6sIw@P zb4e3M4X#m5Nk<11q&J=s>$`?iz(CD)6zh=X+}2)flgAB;9)*MW35S=ri0oaYFnBh; zTMK)fT57)y z-_9pF%xcNvh#y^@sC33+o(BU*#A{aQWn&l%*zkN$Ql4qjf{(5x(v(nErXH1pd|C+X z3+gxdkU9pg2y}k0)Mlv&LsODSCc)*~e*bu`jFoHAHn$a*O=2f$Q}8#ruoi*4W|Hq% zvy!6C8*^G%cCL0Y7IaDd88J}Pnc(Q~kDGgW4NdLZObbV0g!JQ}iUzSISs;zCD5Fi| zQ;T9oSJ(Bg0uo-E~*3+9k#s`JaCt0fQ& zpxIYj%}PRe`Oz$S!xL%1lR$~4{ggPttr*-j`4GR{U?Qo96}-` zDA+YpiX{(tL2Rdox5*DD&!CKn4AhE;r1qCGn0@NSIAX!}yEWm3tiLn2{_-q$Gap`G z&DwB(u5N*suP-^F?@o$POIoHc2XoHs$#3jwzSj8z^tu>!jD!7^MRuGI&}JE5PoA7h zZb;oSTE%F~u*0%+SkRxDf*dk)QJ8#ExA@V__X%m%;v6FAJSN##$$$zhxP0e9n#adj zLxyN3Lku>SNLb|%|Tj4VT-$#5EH({UW_6rUahu`@k#N0hWqc7t}L!Q&iR5p2UO zaIgki35XZZ!u}0?q7kM;)#V|ZZfRi=nIrYY95wvDLjDj(TCx{0UYWnaG9WVQq79_X zY3lk>dJR`0&W^+)@{zk0NN6wK>0dDi6joM0Y2onRpCg*wONkCK*2b0I*RZJ_ReXl6 zBZnm`&-sJ{utLQ*-zBADSz#_t_^c!{(~%|ycSFbQ%cr0l@U29~3E3dACPmNV9Z?0l zl8mkk1}HuD&M;v>6p>8e-L{i=OVFm;`GYnZXFeYN;WB zlZ!Bo)OZ$qQ>Ny3PsAxUsj#>)Ijiux2uo{t#hLfg2dlROtE*iUz6C-$JG)H$Gya6) zIM5$>tHgLiB&7u3I%3ksNzmC))v`l}aZ8L_iC-oYITbES|(lHwp2Z340ADmu&g&mdZ}gOoGw4Lo8_iyThC!pJSotcq z)4>PR?sn;!IURv74|c8z8c#dXy*w$K|AVo`d46BQ2$ihxAAQD-&~T}CIMR^ zQQAMJJI~B-a6~tq7`ils)H^3jgJUihT~GaQvbEi{`-}ve;MvT&97=E%)+FJ!pe)0Y zW#E4ZXKcR%6v%Uv@L8Xi(?MEJ)Ln;QZoH0%=~bZXUmxqe=(eKRpeVXjA3+n`WKq(M zt-?YWrN`R!g(;G_B+)uiA#n$}7)YB|uip?KAvMCkg3!y!rw*TZes17Mm#i_J%B< zQ5{ZGaX$*|WN5Rj&VUNWIq#Gf*oX!pVEtoMYu!Hbm&L&<-lT6#K;*%K^tU}z4}rpl zQ2UAo1kRc`_xzP-;b1l09uyDX``KO)Fk7Y*Bz`300UGz9rG!y+DPopeW$?FaxrV^N z!tIvnQdTeI5QqI^j~!Va*l8WiS8wUKnHixM;dzbZ=LN~&$YW{ESUS~sQJLmdC0ebv z6j%Fm3NxbVRFXYLSZdD5HG8mt!Y}*H=&J8tlhP+BZDVmYd6%8>;7GHQIhmFqj`LFZ z51nDLTVk1j>Am`Qxj##3tR0p-TN3z;#o4S%7)g$M5`tZYFOe~0}jX7AlYk*(mA{A7kVSODar8?lmyAGl4;Oe5*Ljd zjE;zDkng?BdHa8RT7~k7dicr{7-ZWoywR!9h=zIkd>@Xf>&qlrx45>OWl-xWUxksi z_|ez6))%i%Eoy(s{Oy@srB>!vJ6Ox4C2?^tI!~i}R@uC??I~Vf)`2ItsCBP*U!$b| zIB9tY7P9{J#3^0kpYLE0hXH->&wiVo`sy4{@vlf@z`aW( z!k(#VZIepm*G%9iqBAd5TIX~Tnaw+GlMG9S{z>N|il!ZPp)9AA@_%pSgip{WAOtwI z$v1*nvEzPeZHfN^RZc&)uTnxs2NhhJrdIDiF2<-b{RaK)t~k-1_LmeOP5U_w2nNzY z=E9O#?LHUx(J_7$pXO%dmIgw+F!Y9#)`8PwRwOl!?RN~MzuVsS(;9V21%{K<4hKOd zNz)|lJ9nFh0O^c4HcX2Q4%hn;{nMMnmp;;*ta;|SAKp)FVs>PR=9*NqsR*x*4T6qO z+f5}V-6ar|@Ef*Yn}w5_p3jhNbxLlk*Y0X@>#2%&HmKU@b)ShLH*2~ zg1~8f6w6I)dZM*5KZC}d#^qirjjlkhUtIi@tvJMpDcLa_oq49}vPZ@1foAh07tvn& zgb#n;WJq*nRa@t$NPvvgM@k80knBYYW4Ls!I(9(=g(O=lkzdA&Tz_o!la)U4drDMU zlu!qAYCaFWbtTzQ;}>aI6?&8sm?HM-Qanib(W?@SwASt2z}=xSp6_~Dd20rtxDwl!J;^t^(3<-0`4ueKNO z5Nig9^=)|<3hniF)Rc;1oBdTW;BO?Og@dVr-@Bs#KtIR|*s{E&VOO^!BWvi~8Yj2X zp#>58!3N)}SOo)k546avMcRS96%*2Ec#v_k!ti5hP#NXeMk(FArIui^q=*UGp!g`{l4e6Ew6m$#@@&`b#i z!n@XSB-7BfsS=qPn!>Y92*s9AV_9tal;(yoE25x5fmqa1)?kuK9~yW zg=!Hd=yFa`Pwj5|mbhOPcpk0>(jgej^|*2e$n?DQt@XT6l~Nv#isdMr))6E? z5ac(Zc~TE>Al0384pmhszJ>-Sj~Ch>*4*JFJ*VKl%5;5Em2FuXBKqm{7V#_N|6p(yzA&6hVJ zxUQDWy4^(%_y``pyi%V69d#_jag^{w#N{~aJ?kWT;x)`fDIXB;pqO!Or2L}?q3r-o zlxNUqILk&FU>-$?3HALL77E1uV&Blen#|pmM5Q!_mD|K}`?0fn4hnB8RZ&{1FPV@~ zx#gvWI4EJkTKEAL794vG)}(*zs&#%D!It>T4vl2#4Lq3JL~KDB&Z(%ie+V9fz^3}0Jt~hBa zodY^k*0?FZ860a~`?ek)N_VO#hr0PhGnoV)5(Dq!uNvL;jz=cWs}Gf8;QG8ac6jpr z1T_C1<}>Ts(MYE0KEJJlk%7o={}c9QpKLZ$+od+yaSRfk;vOc>pvv$+Zw<372mD1K_7lew#x{{eAnFFeBx_YHi`S1B*C&{>EO z^B6HO@}m)A5S_meY?NmKv5s*lI%ZX5rM-in$VSK~8KpQ+1fe4zoB_+=!xNCt4oM)p z*c+q?LGWZ?JEx~wHi^Y14dIRw7p@%(Nct>y?~1HFzp>9v#5SoG6{g|k${$BgYy&Dp zc4wm1DrxDT&;n>0Y2^u>3&{v_vfv?hXaY~-q41K%yH4$NTH6#@jC;uNSj?ABmOH|O z^Qj&ErEzCYAkJnY@8QCOTw|U;A+nA+`p5=u~fjiHCk=2uq-Mwnp%Uu!W`#OS2HL+0KTU=E& zAiPT*lsUiVMen2H)o{*8ZnhZm@5d~Fp>w|IH%4hCCKARWhz&LyA^7ry-W#2UdgD`e zS!S{vK?8rC*lJnc8nTmyFhUrVsqLYMVcUDGDBHqNIHV-RPD?mQg-O?nApgqaTsCvc zqj`-={O&M8BU!aXF%-E`?2);|m=Olt@)iOmJ17xL(+#C|bIDFvQq+M3OYGp# z#))s@@7&aou_56ak%%m`Q08sh_vAu z29Cup5h8t})^XE%#EDrEK1f^(-YLx8>IQ?ziUM7g7ra1@eu~F8^1br+^3XRCU8Gzc zi`ryWr98svxw47f=P?=o#)Socir3DMr>zD-|84W>U>u(S0WG_#rwFD9<$;CdbF0bT zOR>ls4S~N{dO(!NpqONtT8V2VHQ|Y1m~G!E%+5T@k$bEwcA$O>ek>>HGiRtM^Z%K- z)zvGY3Ge)AJ&db*Kg!FZs2K=Z-RGI&nrZMWIM|#vuR(r*c>R-Y_{3pTle7tc195lWFX#Nq`ee*kQ%9@hYc#CE z;RDFvwNP^cxUA<4Ut-Hb((t*O^fwtB43k>5bQ`I7N#@hD>p5*@MIIYqck`bZH!Iy}zNcHodkOOs3pelh_@+yW&dwbHO`#klU3YaTYhl zTUeM9Rtb$e$@O<-f%>z(jBD11V`3x78#Xlanwo9Xxb5-T$>T@3ZFsb#vE&Oj1y!Ow zCrVczHgzUmh2i!DDKhqqh!rRGt*F~Ms#c8Fiam{(ZbDNY`8p^*#8@dfb|gyYQ-KkZ z4o32sR=%;y;uK@X{{q}YB@((DB9mqAye2I?*Ng+07zU%Zie&ddmfFSnS?AH%6FiSq z@H8#Dej19fPYXnnDrc%R8QACv;&tRS-o}lw?*wk5c65wuPMR2c-V~r43g$3oJMP|a zBu5YCdtOB|KGOarm?FAbv9Rikvy8npINIj*ZZFhj-9CZbAW?Lo$G&*qGY*m^=MsF} zs1MVjj&a8gA{j$5RP*^G-Y{GM@u?@HQgkxM2|BLY-?^7Dh^a!sdS@JxDu}9Gw$?qj zt;J=B(m<%dDWI_8liAvtPk8KA80z%LiGuu1rF>W0O@PL#J1N4~&SFf�oaYP8R6^ zbE_vR>a!HIxH{v3PrM>@-876a2pmEwR{AjCaim!a1$qEXtehjwRInhLygmHY`MPN! zR{&$&@^W!h6|JNc@5_ymf%kRE6p|IJc2S;#E&5dSr(AMXLHFSaA1kgn(aNN)tmgI-v&zy|a3 zSmJ=SKv8)KC@-1a%&Veq+?EJl=2K zcXYz)SrkmF+FmeV({eYleD^|!Ai)C|H<3cyc?qllxuIz~WA3EUsT$iMnvJYS$Z0Zm{zt>c}>NyQy}A6R~B zX!@gpzjxMZa!!@lxFLt+CtTWpvC1=m);vqK&BArBSTXYqBIpI!H>&@9C#!f2c=xDD z8H?_aFh&c`65F(vS+#1`5$4>WVOW-ismY5UGU7Sajf=?>WYI17bW9S93`@DyFpyR@vo}L?eVCA5B8?F(-TSY^-xJ=TL2G^5H%z9nh zkp|H5NEz9bHKbjq&SID7fa5qsm@C$gzBOj(pBi@1iW4@{5if!Ityj{ylWF8zbdG>89qMk8iV@H-+_e?83U3BI~A~mJ6&?#tiOnm@C-S3l~J{X!)&F&p^>rsN1#P5=lI38uYI#7$JXzOW`G^Lji30( z^Psruu>&$h(f;pWsXCm=*O;QrFYWsyU%HyZL$gGicME>x4BCrcHPf#oDe6C*aS8Zl zAw2?2O%V+f-L4?ba(Hqm{I2rRm%0v>+dEZG=xc}STBl{3KGf*shBGV;e@+s6-@HOk4rTeZY40}QJiimRXFmx)_>CIUB?R-6_iL#oq@AR$9E39N9i7ft95u#F z8*08A;%`xi7r7>rO6F0wqfH!A@(_f!y}vykeH|GF_W^Y z5E42Ja%QX3F3N-_iHk+A86T8S+f7^$eA?)hl|LiEK(AKaS13MM-7|RrK6l%{lXz)i z24!)n@5w*5E!o+R0{kUTJjk-&(%^YBHfy0LeOKf-MAg&2WXl+lu~LhOXm zz=UP0c#+C1E!P^wO@WEwu)&7*yd#D=F!!zA3>DqXIWePu1_*zCaPcr}iGPsMGCWv3 zmIeA4Y4CR*7jOe`o~h83ywAi;8v{68@+40G0Qr*|&82xD5JF*Cfd`YPXEqUmYcYj( zG7Xk`K*8j_C;DdqA)3jut@&KVG$D$r&hRAgqBk$eB60~1YeJztu;~cGr$v?%YzXT= zE9-Z#j_Z3QC&wqr-;nmfL}J0_OXDCqKanX4PM5vs<}Hd`d@gFl)p~qu^R>X9k{Rg! zk)K!0O3(#0zEgx1PZWJ>=^mk>E44*vCJ?j-iEG6F&Jd7AhfjfJqDFnWcQoIRzCKwrKOrTzoG5tq=&Ip8Ia@fu*zNB`#a?| zo>wQ0A%|)LW5Yed!u{4TN+hSuyuH0r$!^y}+pB`YH!WhNg2y`$bmx=^HD4HI46a=a zWa+)_mpl9RbSB1`alEN;S$z=2 zZgOvd-Tnmq?7lYLEqDa3e+O5mirInM#IW|g`Z~`Y*R>4SdZS}GJ?CUx&BZ4p$mp!tnn zi7-sH5fGaPQDk^K#`U{5o9>@Br`AJX9FVGZ32acn^^?(RuEv=h1Q;EqHaqE zlio*!Yspv~bMQ(pn23vdv28Ll2hvSFnx*#_c3ZG+1|@8D*jDAuMh?TRBFtKzn`@0T zJ{g;_r9sQ?W7||ysnepRBe6P4whny3M=@(L7Q4s1TWW~L66lKEVqm(IdauciPlxg^ z2>v5uDGHbbLJy^bc2Gf#umKrUI8_|+S)}z*dWa8U-f8PVyZPQfY6McTnm5fFO9|6i zXBVJe1)$}6elv73(VF18=g5x&`WGB&RTXvk8=nm?B^_|%=S$x+QCRe(EPW5mol+C&tvffiIAxV|wTOo1Q`*AFv zpc-R8uv^fU;*(_;Y!v?X=Auh zJp)h-Kj-fDY@{;6w>z$wO=%O25}BGAc0A*1uC$pw(7CoLOnvpqn&|A5pZ{9O7T16- z$giBqUxN(*WH{S zxe@q{C+q1$&7KRI^b2Z<8iSlci!8htF|aSbygCIee=v%u#lbjBiCy`lbeYmN?K*Wg z#wld$sBIufRQC+G41XO2_X;>34#k8($4q>O3J-`fACN;l*@q8eJKdMN9{vnUE5dS7*V#2??iJq zUZiB0Tr4I74Ir}P1Y)8Z1v=*4^A~R#QZzDH_F^Td{2FX=jDQ_{lp9=E-u=QPMepGe zO)m{!h&HBEp)^C!2pNE5krLU$QD(L(MSGoi@DVObM8iE(KDI;Rx(HC3dKSA+8!IyR z^iIzRKgG@b=IK zX-tYm69ZxcNtZZXHV6mTi!<;3_?9cO@1I{ZS`D?FQ5{&$@yb)7N3y8^9lf2Z)KanX zyX`-{LtI_*BjpcZcB_g|xn;$G%8#ds;#bZXV*LnlrZrmjNCo_LN=K)K%k*C1rsr#; z8)bf}xj&q=X*hlS(nZPJGR4O0`AVX?H)@<=ZjE-!XmOOjy7AR|8eb5mqs+=?oOxHpCq;SV%$0gXeN{%IXc96-$-!0i zcscxK^f(~)W}i&S$;_^Ceivr9OQUn>$q10SUEo0$iH#WWS8XrfJytrfx4~B_!%IL# z$F`{FD2O*+eSIN1bj~Z+dIi5Bvjs*r(!u;J_Cl;Je18YxxBh0Ng$}FIRAhvcnSrCU z*8OP*dR69m9r0sco@Lmq>vHiJRtk9eXkDDRY=1RDO?k-a%tD;6#XArn%MT(3ohg@a^IVo}Y z^st)oT@~ip%sWBWlYRwxZz(Q9Ptr5*;kKn@s!V&9LrNnhK8vl%vkII9r^tpL%sY zVtHTnPxk|8;1TE6Hzul*@EPr`Zjsm_CXN%-gW!I7Py}Q3FLWuqxHYJs$5~;}2!%ow ztZY$wivQ5;OP$)?msk?k)UCNzDpUuwi*b+jdp`bTRJYXkF%)Lu z!w4>i6)wK(yru{W`|i@+u?Pr^93{sTe)Wwf1PyhsQ9cn1I>t3l!KMf!Pp+-uG^Q4v zkb{X*Bz0OzVSsbgYXd^z|76s-UIp9bqNmC&&MB?`w2Gg+&`%*jqyqGg9;2I%+4}`$ z9S=lLPnsaAc9tW9Sy{xx!Sa2+ z0xkO@6gv0D8nueciGzSCGbx9t4J8x3lXdqKgMW10Q&7 zE3AZ?MxV7|ywF`Ar*Ht^1IdhA~$xzmzHslFw{{|6fgW zb?(aIjDK$1!^EtktetxCMK}b_^D9cz7AL^zP&1`ydioH;qFE@~7r6xeV79^fU*IWr zl~fU?TC6@9W#f1#${noq(@uYr=!rQn_xi|>T{8+~^kESFj=Z(ZUyU@3RxTHp2n9!z z-Bm1jOWNAZ{2{sp6g^iP_K-)}Z0sDC9H`_v44#pwW|qfE>kGm@yO_ZtIhZ)pgC|%S7HYyqsP82QQpYHy zca?bFEQrivEme_{KBsEy(s?$yNL_4EBc)4t!iNdB8FI&XGsu78W0nS3aPIdLRA*(*SRPq5oaj&h3Ey|DKfncE;_4^iuyi6ZEzLKXrQN%>MoYfBN6K zzfuG4%Ax_oyuz7x?kZCtmEZkI*ZTPmaG5R+c5BXV&`6k4CPka@>M9ErY?BUUF-&DCli027 zX&K-ghzXBgwxlg$CZCqHT-8OhmoMMkLU11pFKC1VG-` zxj71#$`jWKKty<*Joevw`tPRP362EZ5j+2TUsL}t)O!X*TnkYB)Ljew`GNcd{2KJx z5cGNbK61Y1?JRx?aPRo${I*d6G|D;wM^gOx`kWrOO+WUIB!B-`>)~-FA@OT&!ji(5 zJzXqAWAMG|XQ#=C6mU*wc^T7qw9S_7lYbsJ zx5SAMd%dFX|E0E(|A+0t@jGMq_wn(o)WuL!uspkt zBFJMPd(o-rxm|bR+WQ3qYh50@>$q&0FnsQu#;wxOCsqwOv>Cu)=VD!9c`L}c{l-1LMZJw(>hHqp z%-qg9)_FMdB4V%>!Ez-moK<~R3cK2<4T>)%so$4s%$#HE;gM7ey|^zk<{!TXnc$j~ z;yj;61aZOTV+CvQpepfi2Ew>bQLiIXmrrFFMq4$`=W_R%3Y`xW4}OX{auNhCDr8*! zNA*InuI5$VnmDxfb3)Dt93-h|iGIKNh|%2sDK)EvMXokkkf)-cu?}TQ%>92jz2R;~ zZWe7Yq4!n6hqQEYK45V3pl_dfkDvh;%jGUpdCuoUBt4=;nPT4??!QXvWcdb7@6%Zi zGLHQ*cG-+v|8Jl-(h?>D$%2rWmcdfE?YCTw%N+xA=NZE6rP%X-XxK>oV!=oYp!o*N9EZWi`)5CKse_CE{!m>^SdxE2#)7o-MG#8e1|a<0i0y~@ zjrm>vlX=M}5e>ARX&N3#mboZ7T|Dd8lM5i`mj6TW3Vp1Gb%#iCZmBLgiF;d~qHMt($EUn8JN-#52_yiixEmiv!PF%9r^n8$xyGrAN$kfvq2yIg{Fr%B zm^5%A80$&;IYi~Gk-%y2f#cg_8L_emi0ijR4p{$=GMg-fAz8Vo$V?eN?|9s zGvim*d~5%}k1^x7|EqC(4QF}*zyLnEv}2)MA{CktVJP$zA`~Hvnajy#$BAJZQf_B1 z)mkn`52aF#%q^DoUkih3we?L$RevJx5tz-ygL*4_NPEnYZ%Jq!_t<;!(&s?*b z*Xu9v*Y0I5*lG6pvvyXGCQW0b<%P;L4*>$~Ed95TLlxy~M+Mj^N#v6lKDG`DK3}R~ z>za=nmDfZO#S#Q>RZtOJ}CW5&OaUvtFz{ z57!zH2f4jGl9uK`4ntag&>x0Kc5&h&?BS5;$znAcGo!E2fdAl_7yGG;H(q1GP+oei z{z8F2NB@RImUf-yWtQP1kYdV?O>5PQs7+<;}%>*M#ehh*2MJEZ6` zyAa$e=q{GD=-$+IY6j!w$&j&N9>mVKxlee7^aT=jm+G z%{I`AY~=RHq)2UFUNmz%G{~s8nVSj2ClHb+az-a=8|>0MbJGVi|KQ4dl1+!0Ey47c zS_(43T^5RJreNCrdm^-h^CWyc!xaa%7zZM?!tsqe*5_fW>P5*1*$)=1q3H7BtNqQT z;7?TqTXm<7N{n}`mM5Ese}$TmW~~po`q2?YRVPYv2B-njDB)Y!0Pf#e;9EYB6(pr({o4&GP5}z{pShm_N z;gof$^|Cuh(gZ#gXygN*(Me0(b8jR7v6wg<#1l*}vpZy953jxWh7p1n6M4JSdYb~) zOW<>@OxXsbgnzQc_zJOdO2xQ@YV6a^EJdD?P71gj+=b2f09PA#-2x?((aRF>jUZH6 zRjPjWn^dD7AB~y)9_(rwB7-`HTqz8tDJ9(yYU}98b{356ayG zYPYhs8C%hfm{;QbLc}+qg#WU`$^b2`)w?uAAYkVvKzFi*ojze%{tOBGca;(quyMp`>=XYRF9$F_y$R@OIGU97APT2zhVsKBWC3v-WvO> zLFH``4dPAQEH*8s7UGaYdhOy3*d{W#VOFuO%GQQ;UoM@XI6j(^DmJ?v(obbBKp^I~ zstcC}uM*wVnU!8x<>gf8Q5g)?OS;`ejy8YN9^10xt;wn%@t5D3tjuZYrC)$tS*zRk zo(U;<;@DQx?I4ZQ)~VGzX02Uk`k7vHS*^NB2OHX~go?HD#oXc>(BcC$h=kl9>!EFM zN<^la$4B?1XenYHHtBXx89JGJ6p>xc?Z0zKCzMu=4i2Ma0V+@cAz-{C36VUY zZ2qD)pg~RW3jknmfvE8@p&$3|)!lfg0H-7O{v 523 pamda.flatten(data=data) #=> ['a','b',1,2] 524 ``` 525 """ - 526 def iter_flatten(data): - 527 out = [] - 528 for i in data: - 529 if isinstance(i, list): - 530 out.extend(iter_flatten(i)) - 531 else: - 532 out.append(i) - 533 return out - 534 return iter_flatten(data) + 526 + 527 def iter_flatten(data): + 528 out = [] + 529 for i in data: + 530 if isinstance(i, list): + 531 out.extend(iter_flatten(i)) + 532 else: + 533 out.append(i) + 534 return out 535 - 536 def flip(self, fn): - 537 """ - 538 Function: - 539 - 540 - Returns a new function equivalent to the supplied function except that the first two inputs are flipped + 536 return iter_flatten(data) + 537 + 538 def flip(self, fn): + 539 """ + 540 Function: 541 - 542 Requires: + 542 - Returns a new function equivalent to the supplied function except that the first two inputs are flipped 543 - 544 - `fn`: - 545 - Type: function | method - 546 - What: The function or method to flip - 547 - Note: This function must have an arity of at least 2 (take two inputs) - 548 - Note: Only args are flipped, kwargs are passed as normal - 549 - 550 Notes: + 544 Requires: + 545 + 546 - `fn`: + 547 - Type: function | method + 548 - What: The function or method to flip + 549 - Note: This function must have an arity of at least 2 (take two inputs) + 550 - Note: Only args are flipped, kwargs are passed as normal 551 - 552 - Input functions are not flipped in place - 553 - The returned function is a flipped version of the input function - 554 - A curried function can be flipped in place by calling fn.flip() - 555 - A function can be flipped multiple times: - 556 - At each flip, the first and second inputs for the function as it is currently curried are switched - 557 - Flipping a function two times before adding an input will return the initial value - 558 - 559 Examples: + 552 Notes: + 553 + 554 - Input functions are not flipped in place + 555 - The returned function is a flipped version of the input function + 556 - A curried function can be flipped in place by calling fn.flip() + 557 - A function can be flipped multiple times: + 558 - At each flip, the first and second inputs for the function as it is currently curried are switched + 559 - Flipping a function two times before adding an input will return the initial value 560 - 561 ``` - 562 def concat(a,b,c,d): - 563 return str(a)+str(b)+str(c)+str(d) - 564 - 565 flip_concat=pamda.flip(concat) + 561 Examples: + 562 + 563 ``` + 564 def concat(a,b,c,d): + 565 return str(a)+str(b)+str(c)+str(d) 566 - 567 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' - 568 flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' - 569 ``` - 570 + 567 flip_concat=pamda.flip(concat) + 568 + 569 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' + 570 flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' 571 ``` - 572 @pamda.curry - 573 def concat(a,b,c,d): - 574 return str(a)+str(b)+str(c)+str(d) - 575 - 576 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' + 572 + 573 ``` + 574 @pamda.curry + 575 def concat(a,b,c,d): + 576 return str(a)+str(b)+str(c)+str(d) 577 - 578 concat.flip() + 578 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' 579 - 580 concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' - 581 ``` - 582 + 580 concat.flip() + 581 + 582 concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' 583 ``` - 584 @pamda.curry - 585 def concat(a,b,c,d): - 586 return str(a)+str(b)+str(c)+str(d) - 587 - 588 a=pamda.flip(concat)('fi-') - 589 b=pamda.flip(a)('fo-') - 590 c=pamda.flip(b)('fum') - 591 c('fe-') #=> 'fe-fi-fo-fum' - 592 ``` - 593 + 584 + 585 ``` + 586 @pamda.curry + 587 def concat(a,b,c,d): + 588 return str(a)+str(b)+str(c)+str(d) + 589 + 590 a=pamda.flip(concat)('fi-') + 591 b=pamda.flip(a)('fo-') + 592 c=pamda.flip(b)('fum') + 593 c('fe-') #=> 'fe-fi-fo-fum' 594 ``` - 595 def concat(a,b,c,d): - 596 return str(a)+str(b)+str(c)+str(d) - 597 - 598 a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum') - 599 a('fe-') #=> 'fe-fi-fo-fum' - 600 ``` - 601 """ - 602 fn = self.curry(fn) - 603 return fn.flip() - 604 - 605 def getArity(self, fn): - 606 """ - 607 Function: - 608 - 609 - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried) + 595 + 596 ``` + 597 def concat(a,b,c,d): + 598 return str(a)+str(b)+str(c)+str(d) + 599 + 600 a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum') + 601 a('fe-') #=> 'fe-fi-fo-fum' + 602 ``` + 603 """ + 604 fn = self.curry(fn) + 605 return fn.flip() + 606 + 607 def getArity(self, fn): + 608 """ + 609 Function: 610 - 611 Requires: + 611 - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried) 612 - 613 - `fn`: - 614 - Type: function | method - 615 - What: The function or method to get the arity of - 616 - Note: Class methods remove one arity to account for self - 617 - 618 Examples: + 613 Requires: + 614 + 615 - `fn`: + 616 - Type: function | method + 617 - What: The function or method to get the arity of + 618 - Note: Class methods remove one arity to account for self 619 - 620 ``` - 621 pamda.getArity(pamda.zip) #=> 2 - 622 curriedZip=pamda.curry(pamda.zip) - 623 ABCuriedZip=curriedZip(['a','b']) - 624 pamda.getArity(ABCuriedZip) #=> 1 - 625 ``` - 626 """ - 627 fn = self.curry(fn) - 628 return fn.__arity__ - 629 - 630 def groupBy(self, fn, data: list): - 631 """ - 632 Function: - 633 - 634 - Splits a list into a dictionary of sublists keyed by the return string of a provided function + 620 Examples: + 621 + 622 ``` + 623 pamda.getArity(pamda.zip) #=> 2 + 624 curriedZip=pamda.curry(pamda.zip) + 625 ABCuriedZip=curriedZip(['a','b']) + 626 pamda.getArity(ABCuriedZip) #=> 1 + 627 ``` + 628 """ + 629 fn = self.curry(fn) + 630 return fn.__arity__ + 631 + 632 def groupBy(self, fn, data: list): + 633 """ + 634 Function: 635 - 636 Requires: + 636 - Splits a list into a dictionary of sublists keyed by the return string of a provided function 637 - 638 - `fn`: - 639 - Type: function | method - 640 - What: The function or method to group by - 641 - Note: Must return a string - 642 - Note: This function must be unary (take one input) - 643 - Note: This function is applied to each item in the list recursively - 644 - `data`: - 645 - Type: list - 646 - What: List of items to apply the function to and then group by the results - 647 - 648 Examples: + 638 Requires: + 639 + 640 - `fn`: + 641 - Type: function | method + 642 - What: The function or method to group by + 643 - Note: Must return a string + 644 - Note: This function must be unary (take one input) + 645 - Note: This function is applied to each item in the list recursively + 646 - `data`: + 647 - Type: list + 648 - What: List of items to apply the function to and then group by the results 649 - 650 ``` - 651 def getGrade(item): - 652 score=item['score'] - 653 if score>90: - 654 return 'A' - 655 elif score>80: - 656 return 'B' - 657 elif score>70: - 658 return 'C' - 659 elif score>60: - 660 return 'D' - 661 else: - 662 return 'F' - 663 - 664 data=[ - 665 {'name':'Connor', 'score':75}, - 666 {'name':'Fred', 'score':79}, - 667 {'name':'Joe', 'score':84}, - 668 ] - 669 pamda.groupBy(getGrade,data) - 670 #=>{ - 671 #=> 'B':[{'name':'Joe', 'score':84}] - 672 #=> 'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}] - 673 #=>} - 674 ``` - 675 """ - 676 curried_fn = self.curry(fn) - 677 if curried_fn.__arity__ != 1: - 678 raise Exception( - 679 "groupBy `fn` must only take one parameter as its input" - 680 ) - 681 output = {} - 682 for i in data: - 683 path = fn(i) - 684 if not isinstance(path, str): - 685 raise Exception( - 686 f"groupBy `fn` must return a str but instead returned {path}" - 687 ) - 688 if path not in output: - 689 output[path] = [] - 690 output[path].append(i) - 691 return output - 692 - 693 def groupKeys(self, keys: list, data: list): - 694 """ - 695 Function: - 696 - 697 - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys + 650 Examples: + 651 + 652 ``` + 653 def getGrade(item): + 654 score=item['score'] + 655 if score>90: + 656 return 'A' + 657 elif score>80: + 658 return 'B' + 659 elif score>70: + 660 return 'C' + 661 elif score>60: + 662 return 'D' + 663 else: + 664 return 'F' + 665 + 666 data=[ + 667 {'name':'Connor', 'score':75}, + 668 {'name':'Fred', 'score':79}, + 669 {'name':'Joe', 'score':84}, + 670 ] + 671 pamda.groupBy(getGrade,data) + 672 #=>{ + 673 #=> 'B':[{'name':'Joe', 'score':84}] + 674 #=> 'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}] + 675 #=>} + 676 ``` + 677 """ + 678 curried_fn = self.curry(fn) + 679 if curried_fn.__arity__ != 1: + 680 raise Exception( + 681 "groupBy `fn` must only take one parameter as its input" + 682 ) + 683 output = {} + 684 for i in data: + 685 path = fn(i) + 686 if not isinstance(path, str): + 687 raise Exception( + 688 f"groupBy `fn` must return a str but instead returned {path}" + 689 ) + 690 if path not in output: + 691 output[path] = [] + 692 output[path].append(i) + 693 return output + 694 + 695 def groupKeys(self, keys: list, data: list): + 696 """ + 697 Function: 698 - 699 Requires: + 699 - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys 700 - 701 - `keys`: - 702 - Type: list of strs - 703 - What: The keys to group by - 704 - `data`: - 705 - Type: list of dicts - 706 - What: List of dictionaries with which to match keys - 707 - 708 Examples: + 701 Requires: + 702 + 703 - `keys`: + 704 - Type: list of strs + 705 - What: The keys to group by + 706 - `data`: + 707 - Type: list of dicts + 708 - What: List of dictionaries with which to match keys 709 - 710 ``` - 711 data=[ - 712 {'color':'red', 'size':9, 'shape':'ball'}, - 713 {'color':'red', 'size':10, 'shape':'ball'}, - 714 {'color':'green', 'size':11, 'shape':'ball'}, - 715 {'color':'green', 'size':12, 'shape':'square'} - 716 ] - 717 pamda.groupKeys(['color','shape'],data) - 718 #=> [ - 719 #=> [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}], - 720 #=> [{'color': 'green', 'size': 11, 'shape': 'ball'}], - 721 #=> [{'color': 'green', 'size': 12, 'shape': 'square'}] - 722 #=> ] - 723 ``` - 724 """ - 725 def keyFn(item): - 726 return str(([item[key] for key in keys])) - 727 return list(self.groupBy(keyFn, data).values()) - 728 - 729 def groupWith(self, fn, data: list): - 730 """ - 731 Function: + 710 Examples: + 711 + 712 ``` + 713 data=[ + 714 {'color':'red', 'size':9, 'shape':'ball'}, + 715 {'color':'red', 'size':10, 'shape':'ball'}, + 716 {'color':'green', 'size':11, 'shape':'ball'}, + 717 {'color':'green', 'size':12, 'shape':'square'} + 718 ] + 719 pamda.groupKeys(['color','shape'],data) + 720 #=> [ + 721 #=> [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}], + 722 #=> [{'color': 'green', 'size': 11, 'shape': 'ball'}], + 723 #=> [{'color': 'green', 'size': 12, 'shape': 'square'}] + 724 #=> ] + 725 ``` + 726 """ + 727 + 728 def keyFn(item): + 729 return str(([item[key] for key in keys])) + 730 + 731 return list(self.groupBy(keyFn, data).values()) 732 - 733 - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function - 734 - 735 Requires: + 733 def groupWith(self, fn, data: list): + 734 """ + 735 Function: 736 - 737 - `fn`: - 738 - Type: function | method - 739 - What: The function or method to groub with - 740 - Note: Must return a boolean value - 741 - Note: This function must have an arity of two (take two inputs) - 742 - Note: This function is applied to each item plus the next adjacent item in the list recursively - 743 - `data`: - 744 - Type: list - 745 - What: List of items to apply the function to and then group the results - 746 - 747 Examples: - 748 - 749 ``` - 750 def areEqual(a,b): - 751 return a==b + 737 - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function + 738 + 739 Requires: + 740 + 741 - `fn`: + 742 - Type: function | method + 743 - What: The function or method to groub with + 744 - Note: Must return a boolean value + 745 - Note: This function must have an arity of two (take two inputs) + 746 - Note: This function is applied to each item plus the next adjacent item in the list recursively + 747 - `data`: + 748 - Type: list + 749 - What: List of items to apply the function to and then group the results + 750 + 751 Examples: 752 - 753 data=[1,2,3,1,1,2,2,3,3,3] - 754 pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]] - 755 ``` - 756 """ - 757 curried_fn = self.curry(fn) - 758 if curried_fn.__arity__ != 2: - 759 raise Exception("groupWith `fn` must take exactly two parameters") - 760 output = [] - 761 start = True - 762 for i in data: - 763 if start: - 764 sublist = [i] - 765 start = False - 766 elif fn(i, previous): - 767 sublist.append(i) - 768 else: - 769 output.append(sublist) - 770 sublist = [i] - 771 previous = i - 772 output.append(sublist) - 773 return output - 774 - 775 def hasPath(self, path: [list, str], data: dict): - 776 """ - 777 Function: + 753 ``` + 754 def areEqual(a,b): + 755 return a==b + 756 + 757 data=[1,2,3,1,1,2,2,3,3,3] + 758 pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]] + 759 ``` + 760 """ + 761 curried_fn = self.curry(fn) + 762 if curried_fn.__arity__ != 2: + 763 raise Exception("groupWith `fn` must take exactly two parameters") + 764 output = [] + 765 start = True + 766 for i in data: + 767 if start: + 768 sublist = [i] + 769 start = False + 770 elif fn(i, previous): + 771 sublist.append(i) + 772 else: + 773 output.append(sublist) + 774 sublist = [i] + 775 previous = i + 776 output.append(sublist) + 777 return output 778 - 779 - Checks if a path exists within a nested dictionary - 780 - 781 Requires: + 779 def hasPath(self, path: [list, str], data: dict): + 780 """ + 781 Function: 782 - 783 - `path`: - 784 - Type: list of strs | str - 785 - What: The path to check - 786 - Note: If a string is passed, assumes a single item path list with that string - 787 - `data`: - 788 - Type: dict - 789 - What: A dictionary to check if the path exists - 790 - 791 Example: - 792 - 793 ``` - 794 data={'a':{'b':1}} - 795 pamda.hasPath(path=['a','b'], data=data) #=> True - 796 pamda.hasPath(path=['a','d'], data=data) #=> False + 783 - Checks if a path exists within a nested dictionary + 784 + 785 Requires: + 786 + 787 - `path`: + 788 - Type: list of strs | str + 789 - What: The path to check + 790 - Note: If a string is passed, assumes a single item path list with that string + 791 - `data`: + 792 - Type: dict + 793 - What: A dictionary to check if the path exists + 794 + 795 Example: + 796 797 ``` - 798 """ - 799 if isinstance(path, str): - 800 path = [path] - 801 return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data) - 802 - 803 def hardRound(self, decimal_places: int, a: [int, float]): - 804 """ - 805 Function: + 798 data={'a':{'b':1}} + 799 pamda.hasPath(path=['a','b'], data=data) #=> True + 800 pamda.hasPath(path=['a','d'], data=data) #=> False + 801 ``` + 802 """ + 803 if isinstance(path, str): + 804 path = [path] + 805 return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data) 806 - 807 - Rounds to a set number of decimal places regardless of floating point math in python - 808 - 809 Requires: + 807 def hardRound(self, decimal_places: int, a: [int, float]): + 808 """ + 809 Function: 810 - 811 - `decimal_places`: - 812 - Type: int - 813 - What: The number of decimal places to round to - 814 - Default: 0 - 815 - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10) - 816 - `a`: - 817 - Type: int | float - 818 - What: The number to round - 819 - 820 Example: - 821 - 822 ``` - 823 a=12.345 - 824 pamda.hardRound(1,a) #=> 12.3 - 825 pamda.hardRound(-1,a) #=> 10 + 811 - Rounds to a set number of decimal places regardless of floating point math in python + 812 + 813 Requires: + 814 + 815 - `decimal_places`: + 816 - Type: int + 817 - What: The number of decimal places to round to + 818 - Default: 0 + 819 - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10) + 820 - `a`: + 821 - Type: int | float + 822 - What: The number to round + 823 + 824 Example: + 825 826 ``` - 827 """ - 828 return int(a * (10**decimal_places) + 0.5) / (10**decimal_places) - 829 - 830 def head(self, data: [list, str]): - 831 """ - 832 Function: + 827 a=12.345 + 828 pamda.hardRound(1,a) #=> 12.3 + 829 pamda.hardRound(-1,a) #=> 10 + 830 ``` + 831 """ + 832 return int(a * (10**decimal_places) + 0.5) / (10**decimal_places) 833 - 834 - Picks the first item out of a list or string - 835 - 836 Requires: + 834 def head(self, data: [list, str]): + 835 """ + 836 Function: 837 - 838 - `data`: - 839 - Type: list | str - 840 - What: A list or string + 838 - Picks the first item out of a list or string + 839 + 840 Requires: 841 - 842 Example: - 843 - 844 ``` - 845 data=['fe','fi','fo','fum'] - 846 pamda.first( - 847 data=data - 848 ) #=> fe - 849 ``` - 850 """ - 851 if not isinstance(data, (list, str)): - 852 raise Exception("`head` can only be called on a `str` or a `list`") - 853 if not len(data) > 0: - 854 raise Exception("Attempting to call `head` on an empty list or str") - 855 return data[0] - 856 - 857 def inc(self, a: [int, float]): - 858 """ - 859 Function: + 842 - `data`: + 843 - Type: list | str + 844 - What: A list or string + 845 + 846 Example: + 847 + 848 ``` + 849 data=['fe','fi','fo','fum'] + 850 pamda.first( + 851 data=data + 852 ) #=> fe + 853 ``` + 854 """ + 855 if not isinstance(data, (list, str)): + 856 raise Exception("`head` can only be called on a `str` or a `list`") + 857 if not len(data) > 0: + 858 raise Exception("Attempting to call `head` on an empty list or str") + 859 return data[0] 860 - 861 - Increments a number by one - 862 - 863 Requires: + 861 def inc(self, a: [int, float]): + 862 """ + 863 Function: 864 - 865 - `a`: - 866 - Type: int | float - 867 - What: The number to increment + 865 - Increments a number by one + 866 + 867 Requires: 868 - 869 Example: - 870 - 871 ``` - 872 pamda.inc(42) #=> 43 - 873 ``` - 874 """ - 875 if not isinstance(a, (int, float)): - 876 raise Exception("`a` must be an `int` or a `float`") - 877 return a + 1 - 878 - 879 def intersection(self, a: list, b: list): - 880 """ - 881 Function: + 869 - `a`: + 870 - Type: int | float + 871 - What: The number to increment + 872 + 873 Example: + 874 + 875 ``` + 876 pamda.inc(42) #=> 43 + 877 ``` + 878 """ + 879 if not isinstance(a, (int, float)): + 880 raise Exception("`a` must be an `int` or a `float`") + 881 return a + 1 882 - 883 - Combines two lists into a list of no duplicates composed of those elements common to both lists - 884 - 885 Requires: + 883 def intersection(self, a: list, b: list): + 884 """ + 885 Function: 886 - 887 - `a`: - 888 - Type: list - 889 - What: List of items in which to look for an intersection - 890 - `b`: - 891 - Type: list - 892 - What: List of items in which to look for an intersection - 893 - 894 Example: - 895 - 896 ``` - 897 a=['a','b'] - 898 b=['b','c'] - 899 pamda.intersection(a=a, b=b) #=> ['b'] + 887 - Combines two lists into a list of no duplicates composed of those elements common to both lists + 888 + 889 Requires: + 890 + 891 - `a`: + 892 - Type: list + 893 - What: List of items in which to look for an intersection + 894 - `b`: + 895 - Type: list + 896 - What: List of items in which to look for an intersection + 897 + 898 Example: + 899 900 ``` - 901 """ - 902 return list(set(a).intersection(set(b))) - 903 - 904 def map(self, fn, data: [list, dict]): - 905 """ - 906 Function: + 901 a=['a','b'] + 902 b=['b','c'] + 903 pamda.intersection(a=a, b=b) #=> ['b'] + 904 ``` + 905 """ + 906 return list(set(a).intersection(set(b))) 907 - 908 - Maps a function over a list or a dictionary - 909 - 910 Requires: + 908 def map(self, fn, data: [list, dict]): + 909 """ + 910 Function: 911 - 912 - `fn`: - 913 - Type: function | method - 914 - What: The function or method to map over the list or dictionary - 915 - Note: This function should have an arity of 1 - 916 - `data`: - 917 - Type: list | dict - 918 - What: The list or dict of items to map the function over - 919 - 920 Examples: - 921 - 922 ``` - 923 data=[1,2,3] - 924 pamda.map( - 925 fn=pamda.inc, - 926 data=data - 927 ) - 928 #=> [2,3,4] - 929 ``` - 930 - 931 ``` - 932 data={'a':1,'b':2,'c':3} - 933 pamda.map( - 934 fn=pamda.inc, - 935 data=data - 936 ) - 937 #=> {'a':2,'b':3,'c':4} - 938 ``` - 939 - 940 """ - 941 fn = self.curry(fn) - 942 if fn.__arity__ != 1: - 943 raise Exception("`map` `fn` must be unary (take one input)") - 944 if not len(data) > 0: - 945 raise Exception( - 946 "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it" - 947 ) - 948 if isinstance(data, dict): - 949 return {key: fn(value) for key, value in data.items()} - 950 else: - 951 return [fn(i) for i in data] - 952 - 953 def mean(self, data: list): - 954 """ - 955 Function: + 912 - Maps a function over a list or a dictionary + 913 + 914 Requires: + 915 + 916 - `fn`: + 917 - Type: function | method + 918 - What: The function or method to map over the list or dictionary + 919 - Note: This function should have an arity of 1 + 920 - `data`: + 921 - Type: list | dict + 922 - What: The list or dict of items to map the function over + 923 + 924 Examples: + 925 + 926 ``` + 927 data=[1,2,3] + 928 pamda.map( + 929 fn=pamda.inc, + 930 data=data + 931 ) + 932 #=> [2,3,4] + 933 ``` + 934 + 935 ``` + 936 data={'a':1,'b':2,'c':3} + 937 pamda.map( + 938 fn=pamda.inc, + 939 data=data + 940 ) + 941 #=> {'a':2,'b':3,'c':4} + 942 ``` + 943 + 944 """ + 945 fn = self.curry(fn) + 946 if fn.__arity__ != 1: + 947 raise Exception("`map` `fn` must be unary (take one input)") + 948 if not len(data) > 0: + 949 raise Exception( + 950 "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it" + 951 ) + 952 if isinstance(data, dict): + 953 return {key: fn(value) for key, value in data.items()} + 954 else: + 955 return [fn(i) for i in data] 956 - 957 - Calculates the mean of a given list - 958 - 959 Requires: + 957 def mean(self, data: list): + 958 """ + 959 Function: 960 - 961 - `data`: - 962 - Type: list of (floats | ints) - 963 - What: The list with wich to calculate the mean - 964 - Note: If the length of this list is 0, returns None - 965 - 966 Example: - 967 - 968 ``` - 969 data=[1,2,3] - 970 pamda.mean(data=data) - 971 #=> 2 + 961 - Calculates the mean of a given list + 962 + 963 Requires: + 964 + 965 - `data`: + 966 - Type: list of (floats | ints) + 967 - What: The list with wich to calculate the mean + 968 - Note: If the length of this list is 0, returns None + 969 + 970 Example: + 971 972 ``` - 973 - 974 ``` - 975 data=[] - 976 pamda.mean(data=data) - 977 #=> None + 973 data=[1,2,3] + 974 pamda.mean(data=data) + 975 #=> 2 + 976 ``` + 977 978 ``` - 979 """ - 980 if len(data) == 0: - 981 return None - 982 return sum(data) / len(data) - 983 - 984 def median(self, data: list): - 985 """ - 986 Function: + 979 data=[] + 980 pamda.mean(data=data) + 981 #=> None + 982 ``` + 983 """ + 984 if len(data) == 0: + 985 return None + 986 return sum(data) / len(data) 987 - 988 - Calculates the median of a given list - 989 - If the length of the list is even, calculates the mean of the two central values - 990 - 991 Requires: - 992 - 993 - `data`: - 994 - Type: list of (floats | ints) - 995 - What: The list with wich to calculate the mean - 996 - Note: If the length of this list is 0, returns None - 997 - 998 Examples: - 999 -1000 ``` -1001 data=[7,2,8,9] -1002 pamda.median(data=data) -1003 #=> 7.5 + 988 def median(self, data: list): + 989 """ + 990 Function: + 991 + 992 - Calculates the median of a given list + 993 - If the length of the list is even, calculates the mean of the two central values + 994 + 995 Requires: + 996 + 997 - `data`: + 998 - Type: list of (floats | ints) + 999 - What: The list with wich to calculate the mean +1000 - Note: If the length of this list is 0, returns None +1001 +1002 Examples: +1003 1004 ``` -1005 -1006 ``` -1007 data=[7,8,9] -1008 pamda.median(data=data) -1009 #=> 8 +1005 data=[7,2,8,9] +1006 pamda.median(data=data) +1007 #=> 7.5 +1008 ``` +1009 1010 ``` -1011 -1012 ``` -1013 data=[] -1014 pamda.median(data=data) -1015 #=> None +1011 data=[7,8,9] +1012 pamda.median(data=data) +1013 #=> 8 +1014 ``` +1015 1016 ``` -1017 """ -1018 if not isinstance(data, (list)): -1019 raise Exception("`median` `data` must be a list") -1020 length = len(data) -1021 if length == 0: -1022 return None -1023 data = sorted(data) -1024 if length % 2 == 0: -1025 return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2 -1026 return data[int(length / 2)] -1027 -1028 def mergeDeep(self, update_data, data): -1029 """ -1030 Function: +1017 data=[] +1018 pamda.median(data=data) +1019 #=> None +1020 ``` +1021 """ +1022 if not isinstance(data, (list)): +1023 raise Exception("`median` `data` must be a list") +1024 length = len(data) +1025 if length == 0: +1026 return None +1027 data = sorted(data) +1028 if length % 2 == 0: +1029 return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2 +1030 return data[int(length / 2)] 1031 -1032 - Recursively merges two nested dictionaries keeping all keys at each layer -1033 - Values from `update_data` are used when keys are present in both dictionaries -1034 -1035 Requires: -1036 -1037 - `update_data`: -1038 - Type: any -1039 - What: The new data that will take precedence during merging -1040 - `data`: -1041 - Type: any -1042 - What: The original data that will be merged into -1043 -1044 Example: -1045 -1046 ``` -1047 data={'a':{'b':{'c':'d'},'e':'f'}} -1048 update_data={'a':{'b':{'h':'i'},'e':'g'}} -1049 pamda.mergeDeep( -1050 update_data=update_data, -1051 data=data -1052 ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}} -1053 ``` -1054 """ -1055 if not isinstance(data, dict) or not isinstance(update_data, dict): -1056 return update_data -1057 output = dict(data) -1058 keys_original = set(data.keys()) -1059 keys_update = set(update_data.keys()) -1060 similar_keys = keys_original.intersection(keys_update) -1061 similar_dict = { -1062 key: self.mergeDeep(update_data[key], data[key]) -1063 for key in similar_keys -1064 } -1065 new_keys = keys_update.difference(keys_original) -1066 new_dict = {key: update_data[key] for key in new_keys} -1067 output.update(similar_dict) -1068 output.update(new_dict) -1069 return output -1070 -1071 def nest(self, path_keys: list, value_key: str, data: list): -1072 """ -1073 Function: +1032 def mergeDeep(self, update_data, data): +1033 """ +1034 Function: +1035 +1036 - Recursively merges two nested dictionaries keeping all keys at each layer +1037 - Values from `update_data` are used when keys are present in both dictionaries +1038 +1039 Requires: +1040 +1041 - `update_data`: +1042 - Type: any +1043 - What: The new data that will take precedence during merging +1044 - `data`: +1045 - Type: any +1046 - What: The original data that will be merged into +1047 +1048 Example: +1049 +1050 ``` +1051 data={'a':{'b':{'c':'d'},'e':'f'}} +1052 update_data={'a':{'b':{'h':'i'},'e':'g'}} +1053 pamda.mergeDeep( +1054 update_data=update_data, +1055 data=data +1056 ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}} +1057 ``` +1058 """ +1059 if not isinstance(data, dict) or not isinstance(update_data, dict): +1060 return update_data +1061 output = dict(data) +1062 keys_original = set(data.keys()) +1063 keys_update = set(update_data.keys()) +1064 similar_keys = keys_original.intersection(keys_update) +1065 similar_dict = { +1066 key: self.mergeDeep(update_data[key], data[key]) +1067 for key in similar_keys +1068 } +1069 new_keys = keys_update.difference(keys_original) +1070 new_dict = {key: update_data[key] for key in new_keys} +1071 output.update(similar_dict) +1072 output.update(new_dict) +1073 return output 1074 -1075 - Nests a list of dictionaries into a nested dictionary -1076 - Similar items are appended to a list in the end of the nested dictionary -1077 -1078 Requires: -1079 -1080 - `path_keys`: -1081 - Type: list of strs -1082 - What: The variables to pull from each item in data -1083 - Note: Used to build out the nested dicitonary -1084 - Note: Order matters as the nesting occurs in order of variable -1085 - `value_key`: -1086 - Type: str -1087 - What: The variable to add to the list at the end of the nested dictionary path -1088 - `data`: -1089 - Type: list of dicts -1090 - What: A list of dictionaries to use for nesting purposes -1091 -1092 Example: -1093 -1094 ``` -1095 data=[ -1096 {'x_1':'a','x_2':'b', 'output':'c'}, -1097 {'x_1':'a','x_2':'b', 'output':'d'}, -1098 {'x_1':'a','x_2':'e', 'output':'f'} -1099 ] -1100 pamda.nest( -1101 path_keys=['x_1','x_2'], -1102 value_key='output', -1103 data=data -1104 ) #=> {'a':{'b':['c','d'], 'e':['f']}} -1105 ``` -1106 """ -1107 if not isinstance(data, list): -1108 raise Exception("Attempting to `nest` an object that is not a list") -1109 if len(data) == 0: -1110 raise Exception("Attempting to `nest` from an empty list") -1111 nested_output = {} -1112 grouped_data = self.groupKeys(keys=path_keys, data=data) -1113 for item in grouped_data: -1114 nested_output = self.assocPath( -1115 path = [item[0].get(key) for key in path_keys], -1116 value = [i.get(value_key) for i in item], -1117 data = nested_output -1118 ) -1119 return nested_output -1120 -1121 def nestItem(self, path_keys: list, data: list): -1122 """ -1123 Function: +1075 def nest(self, path_keys: list, value_key: str, data: list): +1076 """ +1077 Function: +1078 +1079 - Nests a list of dictionaries into a nested dictionary +1080 - Similar items are appended to a list in the end of the nested dictionary +1081 +1082 Requires: +1083 +1084 - `path_keys`: +1085 - Type: list of strs +1086 - What: The variables to pull from each item in data +1087 - Note: Used to build out the nested dicitonary +1088 - Note: Order matters as the nesting occurs in order of variable +1089 - `value_key`: +1090 - Type: str +1091 - What: The variable to add to the list at the end of the nested dictionary path +1092 - `data`: +1093 - Type: list of dicts +1094 - What: A list of dictionaries to use for nesting purposes +1095 +1096 Example: +1097 +1098 ``` +1099 data=[ +1100 {'x_1':'a','x_2':'b', 'output':'c'}, +1101 {'x_1':'a','x_2':'b', 'output':'d'}, +1102 {'x_1':'a','x_2':'e', 'output':'f'} +1103 ] +1104 pamda.nest( +1105 path_keys=['x_1','x_2'], +1106 value_key='output', +1107 data=data +1108 ) #=> {'a':{'b':['c','d'], 'e':['f']}} +1109 ``` +1110 """ +1111 if not isinstance(data, list): +1112 raise Exception("Attempting to `nest` an object that is not a list") +1113 if len(data) == 0: +1114 raise Exception("Attempting to `nest` from an empty list") +1115 nested_output = {} +1116 grouped_data = self.groupKeys(keys=path_keys, data=data) +1117 for item in grouped_data: +1118 nested_output = self.assocPath( +1119 path=[item[0].get(key) for key in path_keys], +1120 value=[i.get(value_key) for i in item], +1121 data=nested_output, +1122 ) +1123 return nested_output 1124 -1125 - Nests a list of dictionaries into a nested dictionary -1126 - Similar items are appended to a list in the end of the nested dictionary -1127 - Similar to `nest`, except no values are plucked for the aggregated list +1125 def nestItem(self, path_keys: list, data: list): +1126 """ +1127 Function: 1128 -1129 Requires: -1130 -1131 - `path_keys`: -1132 - Type: list of strs -1133 - What: The variables to pull from each item in data -1134 - Note: Used to build out the nested dicitonary -1135 - Note: Order matters as the nesting occurs in order of variable -1136 - `data`: -1137 - Type: list of dicts -1138 - What: A list of dictionaries to use for nesting purposes -1139 -1140 Example: -1141 -1142 ``` -1143 data=[ -1144 {'x_1':'a','x_2':'b'}, -1145 {'x_1':'a','x_2':'b'}, -1146 {'x_1':'a','x_2':'e'} -1147 ] -1148 pamda.nestItem -1149 path_keys=['x_1','x_2'], -1150 data=data -1151 ) -1152 #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}} -1153 -1154 ``` -1155 """ -1156 if not isinstance(data, list): -1157 raise Exception("Attempting to `nest` an object that is not a list") -1158 if len(data) == 0: -1159 raise Exception("Attempting to `nest` from an empty list") -1160 nested_output = {} -1161 grouped_data = self.groupKeys(keys=path_keys, data=data) -1162 for item in grouped_data: -1163 nested_output = self.assocPath( -1164 path = [item[0].get(key) for key in path_keys], -1165 value = item, -1166 data = nested_output -1167 ) -1168 return nested_output -1169 -1170 def path(self, path: [list, str], data: dict): -1171 """ -1172 Function: +1129 - Nests a list of dictionaries into a nested dictionary +1130 - Similar items are appended to a list in the end of the nested dictionary +1131 - Similar to `nest`, except no values are plucked for the aggregated list +1132 +1133 Requires: +1134 +1135 - `path_keys`: +1136 - Type: list of strs +1137 - What: The variables to pull from each item in data +1138 - Note: Used to build out the nested dicitonary +1139 - Note: Order matters as the nesting occurs in order of variable +1140 - `data`: +1141 - Type: list of dicts +1142 - What: A list of dictionaries to use for nesting purposes +1143 +1144 Example: +1145 +1146 ``` +1147 data=[ +1148 {'x_1':'a','x_2':'b'}, +1149 {'x_1':'a','x_2':'b'}, +1150 {'x_1':'a','x_2':'e'} +1151 ] +1152 pamda.nestItem +1153 path_keys=['x_1','x_2'], +1154 data=data +1155 ) +1156 #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}} +1157 +1158 ``` +1159 """ +1160 if not isinstance(data, list): +1161 raise Exception("Attempting to `nest` an object that is not a list") +1162 if len(data) == 0: +1163 raise Exception("Attempting to `nest` from an empty list") +1164 nested_output = {} +1165 grouped_data = self.groupKeys(keys=path_keys, data=data) +1166 for item in grouped_data: +1167 nested_output = self.assocPath( +1168 path=[item[0].get(key) for key in path_keys], +1169 value=item, +1170 data=nested_output, +1171 ) +1172 return nested_output 1173 -1174 - Returns the value of a path within a nested dictionary or None if the path does not exist -1175 -1176 Requires: +1174 def path(self, path: [list, str], data: dict): +1175 """ +1176 Function: 1177 -1178 - `path`: -1179 - Type: list of strs | str -1180 - What: The path to pull given the data -1181 - Note: If a string is passed, assumes a single item path list with that string -1182 - `data`: -1183 - Type: dict -1184 - What: A dictionary to get the path from -1185 -1186 Example: -1187 -1188 ``` -1189 data={'a':{'b':1}} -1190 pamda.path(path=['a','b'], data=data) #=> 1 -1191 ``` -1192 """ -1193 return self.pathOr(None, path, data) -1194 -1195 def pathOr(self, default, path: [list, str], data: dict): -1196 """ -1197 Function: +1178 - Returns the value of a path within a nested dictionary or None if the path does not exist +1179 +1180 Requires: +1181 +1182 - `path`: +1183 - Type: list of strs | str +1184 - What: The path to pull given the data +1185 - Note: If a string is passed, assumes a single item path list with that string +1186 - `data`: +1187 - Type: dict +1188 - What: A dictionary to get the path from +1189 +1190 Example: +1191 +1192 ``` +1193 data={'a':{'b':1}} +1194 pamda.path(path=['a','b'], data=data) #=> 1 +1195 ``` +1196 """ +1197 return self.pathOr(None, path, data) 1198 -1199 - Returns the value of a path within a nested dictionary or a default value if that path does not exist -1200 -1201 Requires: +1199 def pathOr(self, default, path: [list, str], data: dict): +1200 """ +1201 Function: 1202 -1203 - `default`: -1204 - Type: any -1205 - What: The object to return if the path does not exist -1206 - `path`: -1207 - Type: list of strs | str -1208 - What: The path to pull given the data -1209 - Note: If a string is passed, assumes a single item path list with that string -1210 - `data`: -1211 - Type: dict -1212 - What: A dictionary to get the path from -1213 -1214 Example: -1215 -1216 ``` -1217 data={'a':{'b':1}} -1218 pamda.path(default=2, path=['a','c'], data=data) #=> 2 -1219 ``` -1220 """ -1221 if isinstance(path, str): -1222 path = [path] -1223 return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get( -1224 path[-1], default -1225 ) -1226 -1227 def pipe(self, fns: list, args:tuple, kwargs:dict): -1228 """ -1229 Function: +1203 - Returns the value of a path within a nested dictionary or a default value if that path does not exist +1204 +1205 Requires: +1206 +1207 - `default`: +1208 - Type: any +1209 - What: The object to return if the path does not exist +1210 - `path`: +1211 - Type: list of strs | str +1212 - What: The path to pull given the data +1213 - Note: If a string is passed, assumes a single item path list with that string +1214 - `data`: +1215 - Type: dict +1216 - What: A dictionary to get the path from +1217 +1218 Example: +1219 +1220 ``` +1221 data={'a':{'b':1}} +1222 pamda.path(default=2, path=['a','c'], data=data) #=> 2 +1223 ``` +1224 """ +1225 if isinstance(path, str): +1226 path = [path] +1227 return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get( +1228 path[-1], default +1229 ) 1230 -1231 - Pipes data through n functions in order (left to right composition) and returns the output -1232 -1233 Requires: +1231 def pipe(self, fns: list, args: tuple, kwargs: dict): +1232 """ +1233 Function: 1234 -1235 - `fns`: -1236 - Type: list of (functions | methods) -1237 - What: The list of functions and methods to pipe the data through -1238 - Notes: The first function in the list can be any arity (accepting any number of inputs) -1239 - Notes: Any further function in the list can only be unary (single input) -1240 - Notes: A function can be curried, but is not required to be -1241 - Notes: You may opt to curry functions and add inputs to make them unary -1242 - `args`: -1243 - Type: tuple -1244 - What: a tuple of positional arguments to pass to the first function in `fns` -1245 - `kwargs`: -1246 - Type: dict -1247 - What: a dictionary of keyword arguments to pass to the first function in `fns` -1248 -1249 Examples: -1250 -1251 ``` -1252 data=['abc','def'] -1253 pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c' -1254 pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c' +1235 - Pipes data through n functions in order (left to right composition) and returns the output +1236 +1237 Requires: +1238 +1239 - `fns`: +1240 - Type: list of (functions | methods) +1241 - What: The list of functions and methods to pipe the data through +1242 - Notes: The first function in the list can be any arity (accepting any number of inputs) +1243 - Notes: Any further function in the list can only be unary (single input) +1244 - Notes: A function can be curried, but is not required to be +1245 - Notes: You may opt to curry functions and add inputs to make them unary +1246 - `args`: +1247 - Type: tuple +1248 - What: a tuple of positional arguments to pass to the first function in `fns` +1249 - `kwargs`: +1250 - Type: dict +1251 - What: a dictionary of keyword arguments to pass to the first function in `fns` +1252 +1253 Examples: +1254 1255 ``` -1256 -1257 ``` -1258 data={'a':{'b':'c'}} -1259 curriedPath=pamda.curry(pamda.path) -1260 pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c' +1256 data=['abc','def'] +1257 pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c' +1258 pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c' +1259 ``` +1260 1261 ``` -1262 """ -1263 if len(fns) == 0: -1264 raise Exception("`fns` must be a list with at least one function") -1265 if self.getArity(fns[0]) == 0: -1266 raise Exception( -1267 "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0." -1268 ) -1269 if not all([(self.getArity(fn) == 1) for fn in fns[1:]]): +1262 data={'a':{'b':'c'}} +1263 curriedPath=pamda.curry(pamda.path) +1264 pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c' +1265 ``` +1266 """ +1267 if len(fns) == 0: +1268 raise Exception("`fns` must be a list with at least one function") +1269 if self.getArity(fns[0]) == 0: 1270 raise Exception( -1271 "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)." +1271 "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0." 1272 ) -1273 out = fns[0](*args, **kwargs) -1274 for fn in fns[1:]: -1275 out = fn(out) -1276 return out -1277 -1278 def pluck(self, path: [list, str], data: list): -1279 """ -1280 Function: +1273 if not all([(self.getArity(fn) == 1) for fn in fns[1:]]): +1274 raise Exception( +1275 "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)." +1276 ) +1277 out = fns[0](*args, **kwargs) +1278 for fn in fns[1:]: +1279 out = fn(out) +1280 return out 1281 -1282 - Returns the values of a path within a list of nested dictionaries -1283 -1284 Requires: +1282 def pluck(self, path: [list, str], data: list): +1283 """ +1284 Function: 1285 -1286 - `path`: -1287 - Type: list of strs -1288 - What: The path to pull given the data -1289 - Note: If a string is passed, assumes a single item path list with that string -1290 - `data`: -1291 - Type: list of dicts -1292 - What: A list of dictionaries to get the path from -1293 -1294 Example: -1295 -1296 ``` -1297 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] -1298 pamda.pluck(path=['a','b'], data=data) #=> [1,2] -1299 ``` -1300 """ -1301 if len(data) == 0: -1302 raise Exception("Attempting to pluck from an empty list") -1303 return [self.path(data=i, path=path) for i in data] -1304 -1305 def pluckIf( -1306 self, fn, path: [list, str], data: list -1307 ): -1308 """ -1309 Function: -1310 -1311 - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value +1286 - Returns the values of a path within a list of nested dictionaries +1287 +1288 Requires: +1289 +1290 - `path`: +1291 - Type: list of strs +1292 - What: The path to pull given the data +1293 - Note: If a string is passed, assumes a single item path list with that string +1294 - `data`: +1295 - Type: list of dicts +1296 - What: A list of dictionaries to get the path from +1297 +1298 Example: +1299 +1300 ``` +1301 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] +1302 pamda.pluck(path=['a','b'], data=data) #=> [1,2] +1303 ``` +1304 """ +1305 if len(data) == 0: +1306 raise Exception("Attempting to pluck from an empty list") +1307 return [self.path(data=i, path=path) for i in data] +1308 +1309 def pluckIf(self, fn, path: [list, str], data: list): +1310 """ +1311 Function: 1312 -1313 Requires: +1313 - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value 1314 -1315 - `fn`: -1316 - Type: function -1317 - What: A function to take in each item in data and return a boolean -1318 - Note: Only items that return true are plucked -1319 - `path`: -1320 - Type: list of strs -1321 - What: The path to pull given the data -1322 - Note: If a string is passed, assumes a single item path list with that string -1323 - `data`: -1324 - Type: list of dicts -1325 - What: A list of dictionary to get the path from -1326 -1327 Example: +1315 Requires: +1316 +1317 - `fn`: +1318 - Type: function +1319 - What: A function to take in each item in data and return a boolean +1320 - Note: Only items that return true are plucked +1321 - `path`: +1322 - Type: list of strs +1323 - What: The path to pull given the data +1324 - Note: If a string is passed, assumes a single item path list with that string +1325 - `data`: +1326 - Type: list of dicts +1327 - What: A list of dictionary to get the path from 1328 -1329 ``` +1329 Example: 1330 -1331 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] -1332 pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d'] -1333 ``` -1334 """ -1335 if len(data) == 0: -1336 raise Exception("Attempting to pluck from an empty list") -1337 return [self.path(data=i, path=path) for i in data if fn(i)] -1338 -1339 def reduce(self, fn, initial_accumulator, data: list): -1340 """ -1341 Function: -1342 -1343 - Returns a single item by iterating a function starting with an accumulator over a list +1331 ``` +1332 +1333 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] +1334 pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d'] +1335 ``` +1336 """ +1337 if len(data) == 0: +1338 raise Exception("Attempting to pluck from an empty list") +1339 return [self.path(data=i, path=path) for i in data if fn(i)] +1340 +1341 def reduce(self, fn, initial_accumulator, data: list): +1342 """ +1343 Function: 1344 -1345 Requires: +1345 - Returns a single item by iterating a function starting with an accumulator over a list 1346 -1347 - `fn`: -1348 - Type: function | method -1349 - What: The function or method to reduce -1350 - Note: This function should have an arity of 2 (take two inputs) -1351 - Note: The first input should take the accumulator value -1352 - Note: The second input should take the data value -1353 -`initial_accumulator`: -1354 - Type: any -1355 - What: The initial item to pass into the function when starting the accumulation process -1356 - `data`: -1357 - Type: list -1358 - What: The list of items to iterate over -1359 -1360 Example: +1347 Requires: +1348 +1349 - `fn`: +1350 - Type: function | method +1351 - What: The function or method to reduce +1352 - Note: This function should have an arity of 2 (take two inputs) +1353 - Note: The first input should take the accumulator value +1354 - Note: The second input should take the data value +1355 -`initial_accumulator`: +1356 - Type: any +1357 - What: The initial item to pass into the function when starting the accumulation process +1358 - `data`: +1359 - Type: list +1360 - What: The list of items to iterate over 1361 -1362 ``` -1363 data=[1,2,3,4] -1364 pamda.reduce( -1365 fn=pamda.add, -1366 initial_accumulator=0, -1367 data=data -1368 ) -1369 #=> 10 -1370 -1371 ``` -1372 """ -1373 fn = self.curry(fn) -1374 if fn.__arity__ != 2: -1375 raise Exception( -1376 "`reduce` `fn` must have an arity of 2 (take two inputs)" -1377 ) -1378 if not isinstance(data, (list)): -1379 raise Exception("`reduce` `data` must be a list") -1380 if not len(data) > 0: -1381 raise Exception( -1382 "`reduce` `data` has a length of 0, however it must have a length of at least 1" -1383 ) -1384 acc = initial_accumulator -1385 for i in data: -1386 acc = fn(acc, i) -1387 return acc -1388 -1389 def safeDivide(self, denominator: [int, float], a: [int, float]): -1390 """ -1391 Function: -1392 -1393 - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero +1362 Example: +1363 +1364 ``` +1365 data=[1,2,3,4] +1366 pamda.reduce( +1367 fn=pamda.add, +1368 initial_accumulator=0, +1369 data=data +1370 ) +1371 #=> 10 +1372 +1373 ``` +1374 """ +1375 fn = self.curry(fn) +1376 if fn.__arity__ != 2: +1377 raise Exception( +1378 "`reduce` `fn` must have an arity of 2 (take two inputs)" +1379 ) +1380 if not isinstance(data, (list)): +1381 raise Exception("`reduce` `data` must be a list") +1382 if not len(data) > 0: +1383 raise Exception( +1384 "`reduce` `data` has a length of 0, however it must have a length of at least 1" +1385 ) +1386 acc = initial_accumulator +1387 for i in data: +1388 acc = fn(acc, i) +1389 return acc +1390 +1391 def safeDivide(self, denominator: [int, float], a: [int, float]): +1392 """ +1393 Function: 1394 -1395 Requires: +1395 - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero 1396 -1397 - `denominator`: -1398 - Type: int | float -1399 - What: The denominator -1400 -1401 - `a`: -1402 - Type: int | float -1403 - What: The numerator -1404 -1405 Example: +1397 Requires: +1398 +1399 - `denominator`: +1400 - Type: int | float +1401 - What: The denominator +1402 +1403 - `a`: +1404 - Type: int | float +1405 - What: The numerator 1406 -1407 ``` -1408 pamda.safeDivide(2,10) #=> 5 -1409 pamda.safeDivide(0,10) #=> 10 -1410 ``` -1411 """ -1412 return a / denominator if denominator != 0 else a -1413 -1414 def safeDivideDefault( -1415 self, -1416 default_denominator: [int, float], -1417 denominator: [int, float], -1418 a: [int, float], -1419 ): -1420 """ -1421 Function: -1422 -1423 - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero +1407 Example: +1408 +1409 ``` +1410 pamda.safeDivide(2,10) #=> 5 +1411 pamda.safeDivide(0,10) #=> 10 +1412 ``` +1413 """ +1414 return a / denominator if denominator != 0 else a +1415 +1416 def safeDivideDefault( +1417 self, +1418 default_denominator: [int, float], +1419 denominator: [int, float], +1420 a: [int, float], +1421 ): +1422 """ +1423 Function: 1424 -1425 Requires: +1425 - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero 1426 -1427 - `default_denominator`: -1428 - Type: int | float -1429 - What: A non zero denominator to use if denominator is zero -1430 - Default: 1 -1431 - `denominator`: -1432 - Type: int | float -1433 - What: The denominator -1434 - `a`: -1435 - Type: int | float -1436 - What: The numerator -1437 -1438 Example: +1427 Requires: +1428 +1429 - `default_denominator`: +1430 - Type: int | float +1431 - What: A non zero denominator to use if denominator is zero +1432 - Default: 1 +1433 - `denominator`: +1434 - Type: int | float +1435 - What: The denominator +1436 - `a`: +1437 - Type: int | float +1438 - What: The numerator 1439 -1440 ``` -1441 pamda.safeDivideDefault(2,5,10) #=> 2 -1442 pamda.safeDivideDefault(2,0,10) #=> 5 -1443 ``` -1444 """ -1445 if default_denominator == 0: -1446 raise Exception( -1447 "`safeDivideDefault` `default_denominator` can not be 0" -1448 ) -1449 return a / denominator if denominator != 0 else a / default_denominator -1450 -1451 def symmetricDifference(self, a: list, b: list): -1452 """ -1453 Function: -1454 -1455 - Combines two lists into a list of no duplicates items present in one list but not the other +1440 Example: +1441 +1442 ``` +1443 pamda.safeDivideDefault(2,5,10) #=> 2 +1444 pamda.safeDivideDefault(2,0,10) #=> 5 +1445 ``` +1446 """ +1447 if default_denominator == 0: +1448 raise Exception( +1449 "`safeDivideDefault` `default_denominator` can not be 0" +1450 ) +1451 return a / denominator if denominator != 0 else a / default_denominator +1452 +1453 def symmetricDifference(self, a: list, b: list): +1454 """ +1455 Function: 1456 -1457 Requires: +1457 - Combines two lists into a list of no duplicates items present in one list but not the other 1458 -1459 - `a`: -1460 - Type: list -1461 - What: List of items in which to look for a difference -1462 - `b`: -1463 - Type: list -1464 - What: List of items in which to look for a difference -1465 -1466 Example: +1459 Requires: +1460 +1461 - `a`: +1462 - Type: list +1463 - What: List of items in which to look for a difference +1464 - `b`: +1465 - Type: list +1466 - What: List of items in which to look for a difference 1467 -1468 ``` -1469 a=['a','b'] -1470 b=['b','c'] -1471 pamda.symmetricDifference(a=a, b=b) #=> ['a','c'] -1472 ``` -1473 """ -1474 return list(set(a).difference(set(b))) + list(set(b).difference(set(a))) -1475 -1476 def tail(self, data: [str, list]): -1477 """ -1478 Function: -1479 -1480 - Picks the last item out of a list or string +1468 Example: +1469 +1470 ``` +1471 a=['a','b'] +1472 b=['b','c'] +1473 pamda.symmetricDifference(a=a, b=b) #=> ['a','c'] +1474 ``` +1475 """ +1476 return list(set(a).difference(set(b))) + list(set(b).difference(set(a))) +1477 +1478 def tail(self, data: [str, list]): +1479 """ +1480 Function: 1481 -1482 Requires: +1482 - Picks the last item out of a list or string 1483 -1484 - `data`: -1485 - Type: list | str -1486 - What: A list or string -1487 -1488 Example: +1484 Requires: +1485 +1486 - `data`: +1487 - Type: list | str +1488 - What: A list or string 1489 -1490 ``` -1491 data=['fe','fi','fo','fum'] -1492 pamda.tail( -1493 data=data -1494 ) #=> fum -1495 ``` -1496 """ -1497 if not len(data) > 0: -1498 raise Exception("Attempting to call `tail` on an empty list or str") -1499 return data[-1] -1500 -1501 def thunkify(self, fn): -1502 """ -1503 Function: -1504 -1505 - Creates a curried thunk out of a function -1506 - Evaluation of the thunk lazy and is delayed until called -1507 -1508 Requires: +1490 Example: +1491 +1492 ``` +1493 data=['fe','fi','fo','fum'] +1494 pamda.tail( +1495 data=data +1496 ) #=> fum +1497 ``` +1498 """ +1499 if not len(data) > 0: +1500 raise Exception("Attempting to call `tail` on an empty list or str") +1501 return data[-1] +1502 +1503 def thunkify(self, fn): +1504 """ +1505 Function: +1506 +1507 - Creates a curried thunk out of a function +1508 - Evaluation of the thunk lazy and is delayed until called 1509 -1510 - `fn`: -1511 - Type: function | method -1512 - What: The function or method to thunkify -1513 - Note: Thunkified functions are automatically curried -1514 - Note: Class methods auto apply self during thunkify -1515 -1516 Notes: +1510 Requires: +1511 +1512 - `fn`: +1513 - Type: function | method +1514 - What: The function or method to thunkify +1515 - Note: Thunkified functions are automatically curried +1516 - Note: Class methods auto apply self during thunkify 1517 -1518 - Input functions are not thunkified in place -1519 - The returned function is a thunkified version of the input function -1520 - A curried function can be thunkified in place by calling fn.thunkify() -1521 -1522 Examples: +1518 Notes: +1519 +1520 - Input functions are not thunkified in place +1521 - The returned function is a thunkified version of the input function +1522 - A curried function can be thunkified in place by calling fn.thunkify() 1523 -1524 ``` -1525 def add(a,b): -1526 return a+b -1527 -1528 addThunk=pamda.thunkify(add) +1524 Examples: +1525 +1526 ``` +1527 def add(a,b): +1528 return a+b 1529 -1530 add(1,2) #=> 3 -1531 addThunk(1,2) -1532 addThunk(1,2)() #=> 3 -1533 -1534 x=addThunk(1,2) -1535 x() #=> 3 -1536 ``` -1537 +1530 addThunk=pamda.thunkify(add) +1531 +1532 add(1,2) #=> 3 +1533 addThunk(1,2) +1534 addThunk(1,2)() #=> 3 +1535 +1536 x=addThunk(1,2) +1537 x() #=> 3 1538 ``` -1539 @pamda.curry -1540 def add(a,b): -1541 return a+b -1542 -1543 add(1,2) #=> 3 +1539 +1540 ``` +1541 @pamda.curry +1542 def add(a,b): +1543 return a+b 1544 -1545 add.thunkify() +1545 add(1,2) #=> 3 1546 -1547 add(1,2) -1548 add(1,2)() #=> 3 -1549 ``` -1550 """ -1551 fn = self.curry(fn) -1552 return fn.thunkify() -1553 -1554 def unnest(self, data: list): -1555 """ -1556 Function: -1557 -1558 - Removes one level of depth for all items in a list +1547 add.thunkify() +1548 +1549 add(1,2) +1550 add(1,2)() #=> 3 +1551 ``` +1552 """ +1553 fn = self.curry(fn) +1554 return fn.thunkify() +1555 +1556 def unnest(self, data: list): +1557 """ +1558 Function: 1559 -1560 Requires: +1560 - Removes one level of depth for all items in a list 1561 -1562 - `data`: -1563 - Type: list -1564 - What: A list of items to unnest by one level -1565 -1566 Examples: +1562 Requires: +1563 +1564 - `data`: +1565 - Type: list +1566 - What: A list of items to unnest by one level 1567 -1568 ``` -1569 data=['fe','fi',['fo',['fum']]] -1570 pamda.unnest( -1571 data=data -1572 ) #=> ['fe','fi','fo',['fum']] -1573 ``` -1574 """ -1575 if not len(data) > 0: -1576 raise Exception("Attempting to call `unnest` on an empty list") -1577 output = [] -1578 for i in data: -1579 if isinstance(i, list): -1580 output += i -1581 else: -1582 output.append(i) -1583 return output -1584 -1585 def zip(self, a: list, b: list): -1586 """ -1587 Function: -1588 -1589 - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists +1568 Examples: +1569 +1570 ``` +1571 data=['fe','fi',['fo',['fum']]] +1572 pamda.unnest( +1573 data=data +1574 ) #=> ['fe','fi','fo',['fum']] +1575 ``` +1576 """ +1577 if not len(data) > 0: +1578 raise Exception("Attempting to call `unnest` on an empty list") +1579 output = [] +1580 for i in data: +1581 if isinstance(i, list): +1582 output += i +1583 else: +1584 output.append(i) +1585 return output +1586 +1587 def zip(self, a: list, b: list): +1588 """ +1589 Function: 1590 -1591 Requires: +1591 - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists 1592 -1593 - `a`: -1594 - Type: list -1595 - What: List of items to appear in new list first -1596 - `b`: -1597 - Type: list -1598 - What: List of items to appear in new list second -1599 -1600 Example: +1593 Requires: +1594 +1595 - `a`: +1596 - Type: list +1597 - What: List of items to appear in new list first +1598 - `b`: +1599 - Type: list +1600 - What: List of items to appear in new list second 1601 -1602 ``` -1603 a=['a','b'] -1604 b=[1,2] -1605 pamda.zip(a=a, b=b) #=> [['a',1],['b',2]] -1606 ``` -1607 """ -1608 return [list(item) for item in zip(a, b)] -1609 -1610 def zipObj(self, a: list, b: list): -1611 """ -1612 Function: -1613 -1614 - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists -1615 - The first list represents keys and the second values -1616 -1617 Requires: +1602 Example: +1603 +1604 ``` +1605 a=['a','b'] +1606 b=[1,2] +1607 pamda.zip(a=a, b=b) #=> [['a',1],['b',2]] +1608 ``` +1609 """ +1610 return [list(item) for item in zip(a, b)] +1611 +1612 def zipObj(self, a: list, b: list): +1613 """ +1614 Function: +1615 +1616 - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists +1617 - The first list represents keys and the second values 1618 -1619 - `a`: -1620 - Type: list -1621 - What: List of items to appear in new list first -1622 - `b`: -1623 - Type: list -1624 - What: List of items to appear in new list second -1625 -1626 Example: +1619 Requires: +1620 +1621 - `a`: +1622 - Type: list +1623 - What: List of items to appear in new list first +1624 - `b`: +1625 - Type: list +1626 - What: List of items to appear in new list second 1627 -1628 ``` -1629 a=['a','b'] -1630 b=[1,2] -1631 pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2} -1632 ``` -1633 """ -1634 return dict(zip(a, b)) +1628 Example: +1629 +1630 ``` +1631 a=['a','b'] +1632 b=[1,2] +1633 pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2} +1634 ``` +1635 """ +1636 return dict(zip(a, b)) @@ -2359,1115 +2361,1117 @@

524 pamda.flatten(data=data) #=> ['a','b',1,2] 525 ``` 526 """ - 527 def iter_flatten(data): - 528 out = [] - 529 for i in data: - 530 if isinstance(i, list): - 531 out.extend(iter_flatten(i)) - 532 else: - 533 out.append(i) - 534 return out - 535 return iter_flatten(data) + 527 + 528 def iter_flatten(data): + 529 out = [] + 530 for i in data: + 531 if isinstance(i, list): + 532 out.extend(iter_flatten(i)) + 533 else: + 534 out.append(i) + 535 return out 536 - 537 def flip(self, fn): - 538 """ - 539 Function: - 540 - 541 - Returns a new function equivalent to the supplied function except that the first two inputs are flipped + 537 return iter_flatten(data) + 538 + 539 def flip(self, fn): + 540 """ + 541 Function: 542 - 543 Requires: + 543 - Returns a new function equivalent to the supplied function except that the first two inputs are flipped 544 - 545 - `fn`: - 546 - Type: function | method - 547 - What: The function or method to flip - 548 - Note: This function must have an arity of at least 2 (take two inputs) - 549 - Note: Only args are flipped, kwargs are passed as normal - 550 - 551 Notes: + 545 Requires: + 546 + 547 - `fn`: + 548 - Type: function | method + 549 - What: The function or method to flip + 550 - Note: This function must have an arity of at least 2 (take two inputs) + 551 - Note: Only args are flipped, kwargs are passed as normal 552 - 553 - Input functions are not flipped in place - 554 - The returned function is a flipped version of the input function - 555 - A curried function can be flipped in place by calling fn.flip() - 556 - A function can be flipped multiple times: - 557 - At each flip, the first and second inputs for the function as it is currently curried are switched - 558 - Flipping a function two times before adding an input will return the initial value - 559 - 560 Examples: + 553 Notes: + 554 + 555 - Input functions are not flipped in place + 556 - The returned function is a flipped version of the input function + 557 - A curried function can be flipped in place by calling fn.flip() + 558 - A function can be flipped multiple times: + 559 - At each flip, the first and second inputs for the function as it is currently curried are switched + 560 - Flipping a function two times before adding an input will return the initial value 561 - 562 ``` - 563 def concat(a,b,c,d): - 564 return str(a)+str(b)+str(c)+str(d) - 565 - 566 flip_concat=pamda.flip(concat) + 562 Examples: + 563 + 564 ``` + 565 def concat(a,b,c,d): + 566 return str(a)+str(b)+str(c)+str(d) 567 - 568 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' - 569 flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' - 570 ``` - 571 + 568 flip_concat=pamda.flip(concat) + 569 + 570 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' + 571 flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' 572 ``` - 573 @pamda.curry - 574 def concat(a,b,c,d): - 575 return str(a)+str(b)+str(c)+str(d) - 576 - 577 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' + 573 + 574 ``` + 575 @pamda.curry + 576 def concat(a,b,c,d): + 577 return str(a)+str(b)+str(c)+str(d) 578 - 579 concat.flip() + 579 concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum' 580 - 581 concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' - 582 ``` - 583 + 581 concat.flip() + 582 + 583 concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum' 584 ``` - 585 @pamda.curry - 586 def concat(a,b,c,d): - 587 return str(a)+str(b)+str(c)+str(d) - 588 - 589 a=pamda.flip(concat)('fi-') - 590 b=pamda.flip(a)('fo-') - 591 c=pamda.flip(b)('fum') - 592 c('fe-') #=> 'fe-fi-fo-fum' - 593 ``` - 594 + 585 + 586 ``` + 587 @pamda.curry + 588 def concat(a,b,c,d): + 589 return str(a)+str(b)+str(c)+str(d) + 590 + 591 a=pamda.flip(concat)('fi-') + 592 b=pamda.flip(a)('fo-') + 593 c=pamda.flip(b)('fum') + 594 c('fe-') #=> 'fe-fi-fo-fum' 595 ``` - 596 def concat(a,b,c,d): - 597 return str(a)+str(b)+str(c)+str(d) - 598 - 599 a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum') - 600 a('fe-') #=> 'fe-fi-fo-fum' - 601 ``` - 602 """ - 603 fn = self.curry(fn) - 604 return fn.flip() - 605 - 606 def getArity(self, fn): - 607 """ - 608 Function: - 609 - 610 - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried) + 596 + 597 ``` + 598 def concat(a,b,c,d): + 599 return str(a)+str(b)+str(c)+str(d) + 600 + 601 a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum') + 602 a('fe-') #=> 'fe-fi-fo-fum' + 603 ``` + 604 """ + 605 fn = self.curry(fn) + 606 return fn.flip() + 607 + 608 def getArity(self, fn): + 609 """ + 610 Function: 611 - 612 Requires: + 612 - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried) 613 - 614 - `fn`: - 615 - Type: function | method - 616 - What: The function or method to get the arity of - 617 - Note: Class methods remove one arity to account for self - 618 - 619 Examples: + 614 Requires: + 615 + 616 - `fn`: + 617 - Type: function | method + 618 - What: The function or method to get the arity of + 619 - Note: Class methods remove one arity to account for self 620 - 621 ``` - 622 pamda.getArity(pamda.zip) #=> 2 - 623 curriedZip=pamda.curry(pamda.zip) - 624 ABCuriedZip=curriedZip(['a','b']) - 625 pamda.getArity(ABCuriedZip) #=> 1 - 626 ``` - 627 """ - 628 fn = self.curry(fn) - 629 return fn.__arity__ - 630 - 631 def groupBy(self, fn, data: list): - 632 """ - 633 Function: - 634 - 635 - Splits a list into a dictionary of sublists keyed by the return string of a provided function + 621 Examples: + 622 + 623 ``` + 624 pamda.getArity(pamda.zip) #=> 2 + 625 curriedZip=pamda.curry(pamda.zip) + 626 ABCuriedZip=curriedZip(['a','b']) + 627 pamda.getArity(ABCuriedZip) #=> 1 + 628 ``` + 629 """ + 630 fn = self.curry(fn) + 631 return fn.__arity__ + 632 + 633 def groupBy(self, fn, data: list): + 634 """ + 635 Function: 636 - 637 Requires: + 637 - Splits a list into a dictionary of sublists keyed by the return string of a provided function 638 - 639 - `fn`: - 640 - Type: function | method - 641 - What: The function or method to group by - 642 - Note: Must return a string - 643 - Note: This function must be unary (take one input) - 644 - Note: This function is applied to each item in the list recursively - 645 - `data`: - 646 - Type: list - 647 - What: List of items to apply the function to and then group by the results - 648 - 649 Examples: + 639 Requires: + 640 + 641 - `fn`: + 642 - Type: function | method + 643 - What: The function or method to group by + 644 - Note: Must return a string + 645 - Note: This function must be unary (take one input) + 646 - Note: This function is applied to each item in the list recursively + 647 - `data`: + 648 - Type: list + 649 - What: List of items to apply the function to and then group by the results 650 - 651 ``` - 652 def getGrade(item): - 653 score=item['score'] - 654 if score>90: - 655 return 'A' - 656 elif score>80: - 657 return 'B' - 658 elif score>70: - 659 return 'C' - 660 elif score>60: - 661 return 'D' - 662 else: - 663 return 'F' - 664 - 665 data=[ - 666 {'name':'Connor', 'score':75}, - 667 {'name':'Fred', 'score':79}, - 668 {'name':'Joe', 'score':84}, - 669 ] - 670 pamda.groupBy(getGrade,data) - 671 #=>{ - 672 #=> 'B':[{'name':'Joe', 'score':84}] - 673 #=> 'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}] - 674 #=>} - 675 ``` - 676 """ - 677 curried_fn = self.curry(fn) - 678 if curried_fn.__arity__ != 1: - 679 raise Exception( - 680 "groupBy `fn` must only take one parameter as its input" - 681 ) - 682 output = {} - 683 for i in data: - 684 path = fn(i) - 685 if not isinstance(path, str): - 686 raise Exception( - 687 f"groupBy `fn` must return a str but instead returned {path}" - 688 ) - 689 if path not in output: - 690 output[path] = [] - 691 output[path].append(i) - 692 return output - 693 - 694 def groupKeys(self, keys: list, data: list): - 695 """ - 696 Function: - 697 - 698 - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys + 651 Examples: + 652 + 653 ``` + 654 def getGrade(item): + 655 score=item['score'] + 656 if score>90: + 657 return 'A' + 658 elif score>80: + 659 return 'B' + 660 elif score>70: + 661 return 'C' + 662 elif score>60: + 663 return 'D' + 664 else: + 665 return 'F' + 666 + 667 data=[ + 668 {'name':'Connor', 'score':75}, + 669 {'name':'Fred', 'score':79}, + 670 {'name':'Joe', 'score':84}, + 671 ] + 672 pamda.groupBy(getGrade,data) + 673 #=>{ + 674 #=> 'B':[{'name':'Joe', 'score':84}] + 675 #=> 'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}] + 676 #=>} + 677 ``` + 678 """ + 679 curried_fn = self.curry(fn) + 680 if curried_fn.__arity__ != 1: + 681 raise Exception( + 682 "groupBy `fn` must only take one parameter as its input" + 683 ) + 684 output = {} + 685 for i in data: + 686 path = fn(i) + 687 if not isinstance(path, str): + 688 raise Exception( + 689 f"groupBy `fn` must return a str but instead returned {path}" + 690 ) + 691 if path not in output: + 692 output[path] = [] + 693 output[path].append(i) + 694 return output + 695 + 696 def groupKeys(self, keys: list, data: list): + 697 """ + 698 Function: 699 - 700 Requires: + 700 - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys 701 - 702 - `keys`: - 703 - Type: list of strs - 704 - What: The keys to group by - 705 - `data`: - 706 - Type: list of dicts - 707 - What: List of dictionaries with which to match keys - 708 - 709 Examples: + 702 Requires: + 703 + 704 - `keys`: + 705 - Type: list of strs + 706 - What: The keys to group by + 707 - `data`: + 708 - Type: list of dicts + 709 - What: List of dictionaries with which to match keys 710 - 711 ``` - 712 data=[ - 713 {'color':'red', 'size':9, 'shape':'ball'}, - 714 {'color':'red', 'size':10, 'shape':'ball'}, - 715 {'color':'green', 'size':11, 'shape':'ball'}, - 716 {'color':'green', 'size':12, 'shape':'square'} - 717 ] - 718 pamda.groupKeys(['color','shape'],data) - 719 #=> [ - 720 #=> [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}], - 721 #=> [{'color': 'green', 'size': 11, 'shape': 'ball'}], - 722 #=> [{'color': 'green', 'size': 12, 'shape': 'square'}] - 723 #=> ] - 724 ``` - 725 """ - 726 def keyFn(item): - 727 return str(([item[key] for key in keys])) - 728 return list(self.groupBy(keyFn, data).values()) - 729 - 730 def groupWith(self, fn, data: list): - 731 """ - 732 Function: + 711 Examples: + 712 + 713 ``` + 714 data=[ + 715 {'color':'red', 'size':9, 'shape':'ball'}, + 716 {'color':'red', 'size':10, 'shape':'ball'}, + 717 {'color':'green', 'size':11, 'shape':'ball'}, + 718 {'color':'green', 'size':12, 'shape':'square'} + 719 ] + 720 pamda.groupKeys(['color','shape'],data) + 721 #=> [ + 722 #=> [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}], + 723 #=> [{'color': 'green', 'size': 11, 'shape': 'ball'}], + 724 #=> [{'color': 'green', 'size': 12, 'shape': 'square'}] + 725 #=> ] + 726 ``` + 727 """ + 728 + 729 def keyFn(item): + 730 return str(([item[key] for key in keys])) + 731 + 732 return list(self.groupBy(keyFn, data).values()) 733 - 734 - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function - 735 - 736 Requires: + 734 def groupWith(self, fn, data: list): + 735 """ + 736 Function: 737 - 738 - `fn`: - 739 - Type: function | method - 740 - What: The function or method to groub with - 741 - Note: Must return a boolean value - 742 - Note: This function must have an arity of two (take two inputs) - 743 - Note: This function is applied to each item plus the next adjacent item in the list recursively - 744 - `data`: - 745 - Type: list - 746 - What: List of items to apply the function to and then group the results - 747 - 748 Examples: - 749 - 750 ``` - 751 def areEqual(a,b): - 752 return a==b + 738 - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function + 739 + 740 Requires: + 741 + 742 - `fn`: + 743 - Type: function | method + 744 - What: The function or method to groub with + 745 - Note: Must return a boolean value + 746 - Note: This function must have an arity of two (take two inputs) + 747 - Note: This function is applied to each item plus the next adjacent item in the list recursively + 748 - `data`: + 749 - Type: list + 750 - What: List of items to apply the function to and then group the results + 751 + 752 Examples: 753 - 754 data=[1,2,3,1,1,2,2,3,3,3] - 755 pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]] - 756 ``` - 757 """ - 758 curried_fn = self.curry(fn) - 759 if curried_fn.__arity__ != 2: - 760 raise Exception("groupWith `fn` must take exactly two parameters") - 761 output = [] - 762 start = True - 763 for i in data: - 764 if start: - 765 sublist = [i] - 766 start = False - 767 elif fn(i, previous): - 768 sublist.append(i) - 769 else: - 770 output.append(sublist) - 771 sublist = [i] - 772 previous = i - 773 output.append(sublist) - 774 return output - 775 - 776 def hasPath(self, path: [list, str], data: dict): - 777 """ - 778 Function: + 754 ``` + 755 def areEqual(a,b): + 756 return a==b + 757 + 758 data=[1,2,3,1,1,2,2,3,3,3] + 759 pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]] + 760 ``` + 761 """ + 762 curried_fn = self.curry(fn) + 763 if curried_fn.__arity__ != 2: + 764 raise Exception("groupWith `fn` must take exactly two parameters") + 765 output = [] + 766 start = True + 767 for i in data: + 768 if start: + 769 sublist = [i] + 770 start = False + 771 elif fn(i, previous): + 772 sublist.append(i) + 773 else: + 774 output.append(sublist) + 775 sublist = [i] + 776 previous = i + 777 output.append(sublist) + 778 return output 779 - 780 - Checks if a path exists within a nested dictionary - 781 - 782 Requires: + 780 def hasPath(self, path: [list, str], data: dict): + 781 """ + 782 Function: 783 - 784 - `path`: - 785 - Type: list of strs | str - 786 - What: The path to check - 787 - Note: If a string is passed, assumes a single item path list with that string - 788 - `data`: - 789 - Type: dict - 790 - What: A dictionary to check if the path exists - 791 - 792 Example: - 793 - 794 ``` - 795 data={'a':{'b':1}} - 796 pamda.hasPath(path=['a','b'], data=data) #=> True - 797 pamda.hasPath(path=['a','d'], data=data) #=> False + 784 - Checks if a path exists within a nested dictionary + 785 + 786 Requires: + 787 + 788 - `path`: + 789 - Type: list of strs | str + 790 - What: The path to check + 791 - Note: If a string is passed, assumes a single item path list with that string + 792 - `data`: + 793 - Type: dict + 794 - What: A dictionary to check if the path exists + 795 + 796 Example: + 797 798 ``` - 799 """ - 800 if isinstance(path, str): - 801 path = [path] - 802 return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data) - 803 - 804 def hardRound(self, decimal_places: int, a: [int, float]): - 805 """ - 806 Function: + 799 data={'a':{'b':1}} + 800 pamda.hasPath(path=['a','b'], data=data) #=> True + 801 pamda.hasPath(path=['a','d'], data=data) #=> False + 802 ``` + 803 """ + 804 if isinstance(path, str): + 805 path = [path] + 806 return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data) 807 - 808 - Rounds to a set number of decimal places regardless of floating point math in python - 809 - 810 Requires: + 808 def hardRound(self, decimal_places: int, a: [int, float]): + 809 """ + 810 Function: 811 - 812 - `decimal_places`: - 813 - Type: int - 814 - What: The number of decimal places to round to - 815 - Default: 0 - 816 - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10) - 817 - `a`: - 818 - Type: int | float - 819 - What: The number to round - 820 - 821 Example: - 822 - 823 ``` - 824 a=12.345 - 825 pamda.hardRound(1,a) #=> 12.3 - 826 pamda.hardRound(-1,a) #=> 10 + 812 - Rounds to a set number of decimal places regardless of floating point math in python + 813 + 814 Requires: + 815 + 816 - `decimal_places`: + 817 - Type: int + 818 - What: The number of decimal places to round to + 819 - Default: 0 + 820 - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10) + 821 - `a`: + 822 - Type: int | float + 823 - What: The number to round + 824 + 825 Example: + 826 827 ``` - 828 """ - 829 return int(a * (10**decimal_places) + 0.5) / (10**decimal_places) - 830 - 831 def head(self, data: [list, str]): - 832 """ - 833 Function: + 828 a=12.345 + 829 pamda.hardRound(1,a) #=> 12.3 + 830 pamda.hardRound(-1,a) #=> 10 + 831 ``` + 832 """ + 833 return int(a * (10**decimal_places) + 0.5) / (10**decimal_places) 834 - 835 - Picks the first item out of a list or string - 836 - 837 Requires: + 835 def head(self, data: [list, str]): + 836 """ + 837 Function: 838 - 839 - `data`: - 840 - Type: list | str - 841 - What: A list or string + 839 - Picks the first item out of a list or string + 840 + 841 Requires: 842 - 843 Example: - 844 - 845 ``` - 846 data=['fe','fi','fo','fum'] - 847 pamda.first( - 848 data=data - 849 ) #=> fe - 850 ``` - 851 """ - 852 if not isinstance(data, (list, str)): - 853 raise Exception("`head` can only be called on a `str` or a `list`") - 854 if not len(data) > 0: - 855 raise Exception("Attempting to call `head` on an empty list or str") - 856 return data[0] - 857 - 858 def inc(self, a: [int, float]): - 859 """ - 860 Function: + 843 - `data`: + 844 - Type: list | str + 845 - What: A list or string + 846 + 847 Example: + 848 + 849 ``` + 850 data=['fe','fi','fo','fum'] + 851 pamda.first( + 852 data=data + 853 ) #=> fe + 854 ``` + 855 """ + 856 if not isinstance(data, (list, str)): + 857 raise Exception("`head` can only be called on a `str` or a `list`") + 858 if not len(data) > 0: + 859 raise Exception("Attempting to call `head` on an empty list or str") + 860 return data[0] 861 - 862 - Increments a number by one - 863 - 864 Requires: + 862 def inc(self, a: [int, float]): + 863 """ + 864 Function: 865 - 866 - `a`: - 867 - Type: int | float - 868 - What: The number to increment + 866 - Increments a number by one + 867 + 868 Requires: 869 - 870 Example: - 871 - 872 ``` - 873 pamda.inc(42) #=> 43 - 874 ``` - 875 """ - 876 if not isinstance(a, (int, float)): - 877 raise Exception("`a` must be an `int` or a `float`") - 878 return a + 1 - 879 - 880 def intersection(self, a: list, b: list): - 881 """ - 882 Function: + 870 - `a`: + 871 - Type: int | float + 872 - What: The number to increment + 873 + 874 Example: + 875 + 876 ``` + 877 pamda.inc(42) #=> 43 + 878 ``` + 879 """ + 880 if not isinstance(a, (int, float)): + 881 raise Exception("`a` must be an `int` or a `float`") + 882 return a + 1 883 - 884 - Combines two lists into a list of no duplicates composed of those elements common to both lists - 885 - 886 Requires: + 884 def intersection(self, a: list, b: list): + 885 """ + 886 Function: 887 - 888 - `a`: - 889 - Type: list - 890 - What: List of items in which to look for an intersection - 891 - `b`: - 892 - Type: list - 893 - What: List of items in which to look for an intersection - 894 - 895 Example: - 896 - 897 ``` - 898 a=['a','b'] - 899 b=['b','c'] - 900 pamda.intersection(a=a, b=b) #=> ['b'] + 888 - Combines two lists into a list of no duplicates composed of those elements common to both lists + 889 + 890 Requires: + 891 + 892 - `a`: + 893 - Type: list + 894 - What: List of items in which to look for an intersection + 895 - `b`: + 896 - Type: list + 897 - What: List of items in which to look for an intersection + 898 + 899 Example: + 900 901 ``` - 902 """ - 903 return list(set(a).intersection(set(b))) - 904 - 905 def map(self, fn, data: [list, dict]): - 906 """ - 907 Function: + 902 a=['a','b'] + 903 b=['b','c'] + 904 pamda.intersection(a=a, b=b) #=> ['b'] + 905 ``` + 906 """ + 907 return list(set(a).intersection(set(b))) 908 - 909 - Maps a function over a list or a dictionary - 910 - 911 Requires: + 909 def map(self, fn, data: [list, dict]): + 910 """ + 911 Function: 912 - 913 - `fn`: - 914 - Type: function | method - 915 - What: The function or method to map over the list or dictionary - 916 - Note: This function should have an arity of 1 - 917 - `data`: - 918 - Type: list | dict - 919 - What: The list or dict of items to map the function over - 920 - 921 Examples: - 922 - 923 ``` - 924 data=[1,2,3] - 925 pamda.map( - 926 fn=pamda.inc, - 927 data=data - 928 ) - 929 #=> [2,3,4] - 930 ``` - 931 - 932 ``` - 933 data={'a':1,'b':2,'c':3} - 934 pamda.map( - 935 fn=pamda.inc, - 936 data=data - 937 ) - 938 #=> {'a':2,'b':3,'c':4} - 939 ``` - 940 - 941 """ - 942 fn = self.curry(fn) - 943 if fn.__arity__ != 1: - 944 raise Exception("`map` `fn` must be unary (take one input)") - 945 if not len(data) > 0: - 946 raise Exception( - 947 "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it" - 948 ) - 949 if isinstance(data, dict): - 950 return {key: fn(value) for key, value in data.items()} - 951 else: - 952 return [fn(i) for i in data] - 953 - 954 def mean(self, data: list): - 955 """ - 956 Function: + 913 - Maps a function over a list or a dictionary + 914 + 915 Requires: + 916 + 917 - `fn`: + 918 - Type: function | method + 919 - What: The function or method to map over the list or dictionary + 920 - Note: This function should have an arity of 1 + 921 - `data`: + 922 - Type: list | dict + 923 - What: The list or dict of items to map the function over + 924 + 925 Examples: + 926 + 927 ``` + 928 data=[1,2,3] + 929 pamda.map( + 930 fn=pamda.inc, + 931 data=data + 932 ) + 933 #=> [2,3,4] + 934 ``` + 935 + 936 ``` + 937 data={'a':1,'b':2,'c':3} + 938 pamda.map( + 939 fn=pamda.inc, + 940 data=data + 941 ) + 942 #=> {'a':2,'b':3,'c':4} + 943 ``` + 944 + 945 """ + 946 fn = self.curry(fn) + 947 if fn.__arity__ != 1: + 948 raise Exception("`map` `fn` must be unary (take one input)") + 949 if not len(data) > 0: + 950 raise Exception( + 951 "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it" + 952 ) + 953 if isinstance(data, dict): + 954 return {key: fn(value) for key, value in data.items()} + 955 else: + 956 return [fn(i) for i in data] 957 - 958 - Calculates the mean of a given list - 959 - 960 Requires: + 958 def mean(self, data: list): + 959 """ + 960 Function: 961 - 962 - `data`: - 963 - Type: list of (floats | ints) - 964 - What: The list with wich to calculate the mean - 965 - Note: If the length of this list is 0, returns None - 966 - 967 Example: - 968 - 969 ``` - 970 data=[1,2,3] - 971 pamda.mean(data=data) - 972 #=> 2 + 962 - Calculates the mean of a given list + 963 + 964 Requires: + 965 + 966 - `data`: + 967 - Type: list of (floats | ints) + 968 - What: The list with wich to calculate the mean + 969 - Note: If the length of this list is 0, returns None + 970 + 971 Example: + 972 973 ``` - 974 - 975 ``` - 976 data=[] - 977 pamda.mean(data=data) - 978 #=> None + 974 data=[1,2,3] + 975 pamda.mean(data=data) + 976 #=> 2 + 977 ``` + 978 979 ``` - 980 """ - 981 if len(data) == 0: - 982 return None - 983 return sum(data) / len(data) - 984 - 985 def median(self, data: list): - 986 """ - 987 Function: + 980 data=[] + 981 pamda.mean(data=data) + 982 #=> None + 983 ``` + 984 """ + 985 if len(data) == 0: + 986 return None + 987 return sum(data) / len(data) 988 - 989 - Calculates the median of a given list - 990 - If the length of the list is even, calculates the mean of the two central values - 991 - 992 Requires: - 993 - 994 - `data`: - 995 - Type: list of (floats | ints) - 996 - What: The list with wich to calculate the mean - 997 - Note: If the length of this list is 0, returns None - 998 - 999 Examples: -1000 -1001 ``` -1002 data=[7,2,8,9] -1003 pamda.median(data=data) -1004 #=> 7.5 + 989 def median(self, data: list): + 990 """ + 991 Function: + 992 + 993 - Calculates the median of a given list + 994 - If the length of the list is even, calculates the mean of the two central values + 995 + 996 Requires: + 997 + 998 - `data`: + 999 - Type: list of (floats | ints) +1000 - What: The list with wich to calculate the mean +1001 - Note: If the length of this list is 0, returns None +1002 +1003 Examples: +1004 1005 ``` -1006 -1007 ``` -1008 data=[7,8,9] -1009 pamda.median(data=data) -1010 #=> 8 +1006 data=[7,2,8,9] +1007 pamda.median(data=data) +1008 #=> 7.5 +1009 ``` +1010 1011 ``` -1012 -1013 ``` -1014 data=[] -1015 pamda.median(data=data) -1016 #=> None +1012 data=[7,8,9] +1013 pamda.median(data=data) +1014 #=> 8 +1015 ``` +1016 1017 ``` -1018 """ -1019 if not isinstance(data, (list)): -1020 raise Exception("`median` `data` must be a list") -1021 length = len(data) -1022 if length == 0: -1023 return None -1024 data = sorted(data) -1025 if length % 2 == 0: -1026 return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2 -1027 return data[int(length / 2)] -1028 -1029 def mergeDeep(self, update_data, data): -1030 """ -1031 Function: +1018 data=[] +1019 pamda.median(data=data) +1020 #=> None +1021 ``` +1022 """ +1023 if not isinstance(data, (list)): +1024 raise Exception("`median` `data` must be a list") +1025 length = len(data) +1026 if length == 0: +1027 return None +1028 data = sorted(data) +1029 if length % 2 == 0: +1030 return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2 +1031 return data[int(length / 2)] 1032 -1033 - Recursively merges two nested dictionaries keeping all keys at each layer -1034 - Values from `update_data` are used when keys are present in both dictionaries -1035 -1036 Requires: -1037 -1038 - `update_data`: -1039 - Type: any -1040 - What: The new data that will take precedence during merging -1041 - `data`: -1042 - Type: any -1043 - What: The original data that will be merged into -1044 -1045 Example: -1046 -1047 ``` -1048 data={'a':{'b':{'c':'d'},'e':'f'}} -1049 update_data={'a':{'b':{'h':'i'},'e':'g'}} -1050 pamda.mergeDeep( -1051 update_data=update_data, -1052 data=data -1053 ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}} -1054 ``` -1055 """ -1056 if not isinstance(data, dict) or not isinstance(update_data, dict): -1057 return update_data -1058 output = dict(data) -1059 keys_original = set(data.keys()) -1060 keys_update = set(update_data.keys()) -1061 similar_keys = keys_original.intersection(keys_update) -1062 similar_dict = { -1063 key: self.mergeDeep(update_data[key], data[key]) -1064 for key in similar_keys -1065 } -1066 new_keys = keys_update.difference(keys_original) -1067 new_dict = {key: update_data[key] for key in new_keys} -1068 output.update(similar_dict) -1069 output.update(new_dict) -1070 return output -1071 -1072 def nest(self, path_keys: list, value_key: str, data: list): -1073 """ -1074 Function: +1033 def mergeDeep(self, update_data, data): +1034 """ +1035 Function: +1036 +1037 - Recursively merges two nested dictionaries keeping all keys at each layer +1038 - Values from `update_data` are used when keys are present in both dictionaries +1039 +1040 Requires: +1041 +1042 - `update_data`: +1043 - Type: any +1044 - What: The new data that will take precedence during merging +1045 - `data`: +1046 - Type: any +1047 - What: The original data that will be merged into +1048 +1049 Example: +1050 +1051 ``` +1052 data={'a':{'b':{'c':'d'},'e':'f'}} +1053 update_data={'a':{'b':{'h':'i'},'e':'g'}} +1054 pamda.mergeDeep( +1055 update_data=update_data, +1056 data=data +1057 ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}} +1058 ``` +1059 """ +1060 if not isinstance(data, dict) or not isinstance(update_data, dict): +1061 return update_data +1062 output = dict(data) +1063 keys_original = set(data.keys()) +1064 keys_update = set(update_data.keys()) +1065 similar_keys = keys_original.intersection(keys_update) +1066 similar_dict = { +1067 key: self.mergeDeep(update_data[key], data[key]) +1068 for key in similar_keys +1069 } +1070 new_keys = keys_update.difference(keys_original) +1071 new_dict = {key: update_data[key] for key in new_keys} +1072 output.update(similar_dict) +1073 output.update(new_dict) +1074 return output 1075 -1076 - Nests a list of dictionaries into a nested dictionary -1077 - Similar items are appended to a list in the end of the nested dictionary -1078 -1079 Requires: -1080 -1081 - `path_keys`: -1082 - Type: list of strs -1083 - What: The variables to pull from each item in data -1084 - Note: Used to build out the nested dicitonary -1085 - Note: Order matters as the nesting occurs in order of variable -1086 - `value_key`: -1087 - Type: str -1088 - What: The variable to add to the list at the end of the nested dictionary path -1089 - `data`: -1090 - Type: list of dicts -1091 - What: A list of dictionaries to use for nesting purposes -1092 -1093 Example: -1094 -1095 ``` -1096 data=[ -1097 {'x_1':'a','x_2':'b', 'output':'c'}, -1098 {'x_1':'a','x_2':'b', 'output':'d'}, -1099 {'x_1':'a','x_2':'e', 'output':'f'} -1100 ] -1101 pamda.nest( -1102 path_keys=['x_1','x_2'], -1103 value_key='output', -1104 data=data -1105 ) #=> {'a':{'b':['c','d'], 'e':['f']}} -1106 ``` -1107 """ -1108 if not isinstance(data, list): -1109 raise Exception("Attempting to `nest` an object that is not a list") -1110 if len(data) == 0: -1111 raise Exception("Attempting to `nest` from an empty list") -1112 nested_output = {} -1113 grouped_data = self.groupKeys(keys=path_keys, data=data) -1114 for item in grouped_data: -1115 nested_output = self.assocPath( -1116 path = [item[0].get(key) for key in path_keys], -1117 value = [i.get(value_key) for i in item], -1118 data = nested_output -1119 ) -1120 return nested_output -1121 -1122 def nestItem(self, path_keys: list, data: list): -1123 """ -1124 Function: +1076 def nest(self, path_keys: list, value_key: str, data: list): +1077 """ +1078 Function: +1079 +1080 - Nests a list of dictionaries into a nested dictionary +1081 - Similar items are appended to a list in the end of the nested dictionary +1082 +1083 Requires: +1084 +1085 - `path_keys`: +1086 - Type: list of strs +1087 - What: The variables to pull from each item in data +1088 - Note: Used to build out the nested dicitonary +1089 - Note: Order matters as the nesting occurs in order of variable +1090 - `value_key`: +1091 - Type: str +1092 - What: The variable to add to the list at the end of the nested dictionary path +1093 - `data`: +1094 - Type: list of dicts +1095 - What: A list of dictionaries to use for nesting purposes +1096 +1097 Example: +1098 +1099 ``` +1100 data=[ +1101 {'x_1':'a','x_2':'b', 'output':'c'}, +1102 {'x_1':'a','x_2':'b', 'output':'d'}, +1103 {'x_1':'a','x_2':'e', 'output':'f'} +1104 ] +1105 pamda.nest( +1106 path_keys=['x_1','x_2'], +1107 value_key='output', +1108 data=data +1109 ) #=> {'a':{'b':['c','d'], 'e':['f']}} +1110 ``` +1111 """ +1112 if not isinstance(data, list): +1113 raise Exception("Attempting to `nest` an object that is not a list") +1114 if len(data) == 0: +1115 raise Exception("Attempting to `nest` from an empty list") +1116 nested_output = {} +1117 grouped_data = self.groupKeys(keys=path_keys, data=data) +1118 for item in grouped_data: +1119 nested_output = self.assocPath( +1120 path=[item[0].get(key) for key in path_keys], +1121 value=[i.get(value_key) for i in item], +1122 data=nested_output, +1123 ) +1124 return nested_output 1125 -1126 - Nests a list of dictionaries into a nested dictionary -1127 - Similar items are appended to a list in the end of the nested dictionary -1128 - Similar to `nest`, except no values are plucked for the aggregated list +1126 def nestItem(self, path_keys: list, data: list): +1127 """ +1128 Function: 1129 -1130 Requires: -1131 -1132 - `path_keys`: -1133 - Type: list of strs -1134 - What: The variables to pull from each item in data -1135 - Note: Used to build out the nested dicitonary -1136 - Note: Order matters as the nesting occurs in order of variable -1137 - `data`: -1138 - Type: list of dicts -1139 - What: A list of dictionaries to use for nesting purposes -1140 -1141 Example: -1142 -1143 ``` -1144 data=[ -1145 {'x_1':'a','x_2':'b'}, -1146 {'x_1':'a','x_2':'b'}, -1147 {'x_1':'a','x_2':'e'} -1148 ] -1149 pamda.nestItem -1150 path_keys=['x_1','x_2'], -1151 data=data -1152 ) -1153 #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}} -1154 -1155 ``` -1156 """ -1157 if not isinstance(data, list): -1158 raise Exception("Attempting to `nest` an object that is not a list") -1159 if len(data) == 0: -1160 raise Exception("Attempting to `nest` from an empty list") -1161 nested_output = {} -1162 grouped_data = self.groupKeys(keys=path_keys, data=data) -1163 for item in grouped_data: -1164 nested_output = self.assocPath( -1165 path = [item[0].get(key) for key in path_keys], -1166 value = item, -1167 data = nested_output -1168 ) -1169 return nested_output -1170 -1171 def path(self, path: [list, str], data: dict): -1172 """ -1173 Function: +1130 - Nests a list of dictionaries into a nested dictionary +1131 - Similar items are appended to a list in the end of the nested dictionary +1132 - Similar to `nest`, except no values are plucked for the aggregated list +1133 +1134 Requires: +1135 +1136 - `path_keys`: +1137 - Type: list of strs +1138 - What: The variables to pull from each item in data +1139 - Note: Used to build out the nested dicitonary +1140 - Note: Order matters as the nesting occurs in order of variable +1141 - `data`: +1142 - Type: list of dicts +1143 - What: A list of dictionaries to use for nesting purposes +1144 +1145 Example: +1146 +1147 ``` +1148 data=[ +1149 {'x_1':'a','x_2':'b'}, +1150 {'x_1':'a','x_2':'b'}, +1151 {'x_1':'a','x_2':'e'} +1152 ] +1153 pamda.nestItem +1154 path_keys=['x_1','x_2'], +1155 data=data +1156 ) +1157 #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}} +1158 +1159 ``` +1160 """ +1161 if not isinstance(data, list): +1162 raise Exception("Attempting to `nest` an object that is not a list") +1163 if len(data) == 0: +1164 raise Exception("Attempting to `nest` from an empty list") +1165 nested_output = {} +1166 grouped_data = self.groupKeys(keys=path_keys, data=data) +1167 for item in grouped_data: +1168 nested_output = self.assocPath( +1169 path=[item[0].get(key) for key in path_keys], +1170 value=item, +1171 data=nested_output, +1172 ) +1173 return nested_output 1174 -1175 - Returns the value of a path within a nested dictionary or None if the path does not exist -1176 -1177 Requires: +1175 def path(self, path: [list, str], data: dict): +1176 """ +1177 Function: 1178 -1179 - `path`: -1180 - Type: list of strs | str -1181 - What: The path to pull given the data -1182 - Note: If a string is passed, assumes a single item path list with that string -1183 - `data`: -1184 - Type: dict -1185 - What: A dictionary to get the path from -1186 -1187 Example: -1188 -1189 ``` -1190 data={'a':{'b':1}} -1191 pamda.path(path=['a','b'], data=data) #=> 1 -1192 ``` -1193 """ -1194 return self.pathOr(None, path, data) -1195 -1196 def pathOr(self, default, path: [list, str], data: dict): -1197 """ -1198 Function: +1179 - Returns the value of a path within a nested dictionary or None if the path does not exist +1180 +1181 Requires: +1182 +1183 - `path`: +1184 - Type: list of strs | str +1185 - What: The path to pull given the data +1186 - Note: If a string is passed, assumes a single item path list with that string +1187 - `data`: +1188 - Type: dict +1189 - What: A dictionary to get the path from +1190 +1191 Example: +1192 +1193 ``` +1194 data={'a':{'b':1}} +1195 pamda.path(path=['a','b'], data=data) #=> 1 +1196 ``` +1197 """ +1198 return self.pathOr(None, path, data) 1199 -1200 - Returns the value of a path within a nested dictionary or a default value if that path does not exist -1201 -1202 Requires: +1200 def pathOr(self, default, path: [list, str], data: dict): +1201 """ +1202 Function: 1203 -1204 - `default`: -1205 - Type: any -1206 - What: The object to return if the path does not exist -1207 - `path`: -1208 - Type: list of strs | str -1209 - What: The path to pull given the data -1210 - Note: If a string is passed, assumes a single item path list with that string -1211 - `data`: -1212 - Type: dict -1213 - What: A dictionary to get the path from -1214 -1215 Example: -1216 -1217 ``` -1218 data={'a':{'b':1}} -1219 pamda.path(default=2, path=['a','c'], data=data) #=> 2 -1220 ``` -1221 """ -1222 if isinstance(path, str): -1223 path = [path] -1224 return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get( -1225 path[-1], default -1226 ) -1227 -1228 def pipe(self, fns: list, args:tuple, kwargs:dict): -1229 """ -1230 Function: +1204 - Returns the value of a path within a nested dictionary or a default value if that path does not exist +1205 +1206 Requires: +1207 +1208 - `default`: +1209 - Type: any +1210 - What: The object to return if the path does not exist +1211 - `path`: +1212 - Type: list of strs | str +1213 - What: The path to pull given the data +1214 - Note: If a string is passed, assumes a single item path list with that string +1215 - `data`: +1216 - Type: dict +1217 - What: A dictionary to get the path from +1218 +1219 Example: +1220 +1221 ``` +1222 data={'a':{'b':1}} +1223 pamda.path(default=2, path=['a','c'], data=data) #=> 2 +1224 ``` +1225 """ +1226 if isinstance(path, str): +1227 path = [path] +1228 return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get( +1229 path[-1], default +1230 ) 1231 -1232 - Pipes data through n functions in order (left to right composition) and returns the output -1233 -1234 Requires: +1232 def pipe(self, fns: list, args: tuple, kwargs: dict): +1233 """ +1234 Function: 1235 -1236 - `fns`: -1237 - Type: list of (functions | methods) -1238 - What: The list of functions and methods to pipe the data through -1239 - Notes: The first function in the list can be any arity (accepting any number of inputs) -1240 - Notes: Any further function in the list can only be unary (single input) -1241 - Notes: A function can be curried, but is not required to be -1242 - Notes: You may opt to curry functions and add inputs to make them unary -1243 - `args`: -1244 - Type: tuple -1245 - What: a tuple of positional arguments to pass to the first function in `fns` -1246 - `kwargs`: -1247 - Type: dict -1248 - What: a dictionary of keyword arguments to pass to the first function in `fns` -1249 -1250 Examples: -1251 -1252 ``` -1253 data=['abc','def'] -1254 pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c' -1255 pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c' +1236 - Pipes data through n functions in order (left to right composition) and returns the output +1237 +1238 Requires: +1239 +1240 - `fns`: +1241 - Type: list of (functions | methods) +1242 - What: The list of functions and methods to pipe the data through +1243 - Notes: The first function in the list can be any arity (accepting any number of inputs) +1244 - Notes: Any further function in the list can only be unary (single input) +1245 - Notes: A function can be curried, but is not required to be +1246 - Notes: You may opt to curry functions and add inputs to make them unary +1247 - `args`: +1248 - Type: tuple +1249 - What: a tuple of positional arguments to pass to the first function in `fns` +1250 - `kwargs`: +1251 - Type: dict +1252 - What: a dictionary of keyword arguments to pass to the first function in `fns` +1253 +1254 Examples: +1255 1256 ``` -1257 -1258 ``` -1259 data={'a':{'b':'c'}} -1260 curriedPath=pamda.curry(pamda.path) -1261 pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c' +1257 data=['abc','def'] +1258 pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c' +1259 pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c' +1260 ``` +1261 1262 ``` -1263 """ -1264 if len(fns) == 0: -1265 raise Exception("`fns` must be a list with at least one function") -1266 if self.getArity(fns[0]) == 0: -1267 raise Exception( -1268 "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0." -1269 ) -1270 if not all([(self.getArity(fn) == 1) for fn in fns[1:]]): +1263 data={'a':{'b':'c'}} +1264 curriedPath=pamda.curry(pamda.path) +1265 pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c' +1266 ``` +1267 """ +1268 if len(fns) == 0: +1269 raise Exception("`fns` must be a list with at least one function") +1270 if self.getArity(fns[0]) == 0: 1271 raise Exception( -1272 "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)." +1272 "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0." 1273 ) -1274 out = fns[0](*args, **kwargs) -1275 for fn in fns[1:]: -1276 out = fn(out) -1277 return out -1278 -1279 def pluck(self, path: [list, str], data: list): -1280 """ -1281 Function: +1274 if not all([(self.getArity(fn) == 1) for fn in fns[1:]]): +1275 raise Exception( +1276 "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)." +1277 ) +1278 out = fns[0](*args, **kwargs) +1279 for fn in fns[1:]: +1280 out = fn(out) +1281 return out 1282 -1283 - Returns the values of a path within a list of nested dictionaries -1284 -1285 Requires: +1283 def pluck(self, path: [list, str], data: list): +1284 """ +1285 Function: 1286 -1287 - `path`: -1288 - Type: list of strs -1289 - What: The path to pull given the data -1290 - Note: If a string is passed, assumes a single item path list with that string -1291 - `data`: -1292 - Type: list of dicts -1293 - What: A list of dictionaries to get the path from -1294 -1295 Example: -1296 -1297 ``` -1298 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] -1299 pamda.pluck(path=['a','b'], data=data) #=> [1,2] -1300 ``` -1301 """ -1302 if len(data) == 0: -1303 raise Exception("Attempting to pluck from an empty list") -1304 return [self.path(data=i, path=path) for i in data] -1305 -1306 def pluckIf( -1307 self, fn, path: [list, str], data: list -1308 ): -1309 """ -1310 Function: -1311 -1312 - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value +1287 - Returns the values of a path within a list of nested dictionaries +1288 +1289 Requires: +1290 +1291 - `path`: +1292 - Type: list of strs +1293 - What: The path to pull given the data +1294 - Note: If a string is passed, assumes a single item path list with that string +1295 - `data`: +1296 - Type: list of dicts +1297 - What: A list of dictionaries to get the path from +1298 +1299 Example: +1300 +1301 ``` +1302 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] +1303 pamda.pluck(path=['a','b'], data=data) #=> [1,2] +1304 ``` +1305 """ +1306 if len(data) == 0: +1307 raise Exception("Attempting to pluck from an empty list") +1308 return [self.path(data=i, path=path) for i in data] +1309 +1310 def pluckIf(self, fn, path: [list, str], data: list): +1311 """ +1312 Function: 1313 -1314 Requires: +1314 - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value 1315 -1316 - `fn`: -1317 - Type: function -1318 - What: A function to take in each item in data and return a boolean -1319 - Note: Only items that return true are plucked -1320 - `path`: -1321 - Type: list of strs -1322 - What: The path to pull given the data -1323 - Note: If a string is passed, assumes a single item path list with that string -1324 - `data`: -1325 - Type: list of dicts -1326 - What: A list of dictionary to get the path from -1327 -1328 Example: +1316 Requires: +1317 +1318 - `fn`: +1319 - Type: function +1320 - What: A function to take in each item in data and return a boolean +1321 - Note: Only items that return true are plucked +1322 - `path`: +1323 - Type: list of strs +1324 - What: The path to pull given the data +1325 - Note: If a string is passed, assumes a single item path list with that string +1326 - `data`: +1327 - Type: list of dicts +1328 - What: A list of dictionary to get the path from 1329 -1330 ``` +1330 Example: 1331 -1332 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] -1333 pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d'] -1334 ``` -1335 """ -1336 if len(data) == 0: -1337 raise Exception("Attempting to pluck from an empty list") -1338 return [self.path(data=i, path=path) for i in data if fn(i)] -1339 -1340 def reduce(self, fn, initial_accumulator, data: list): -1341 """ -1342 Function: -1343 -1344 - Returns a single item by iterating a function starting with an accumulator over a list +1332 ``` +1333 +1334 data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}] +1335 pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d'] +1336 ``` +1337 """ +1338 if len(data) == 0: +1339 raise Exception("Attempting to pluck from an empty list") +1340 return [self.path(data=i, path=path) for i in data if fn(i)] +1341 +1342 def reduce(self, fn, initial_accumulator, data: list): +1343 """ +1344 Function: 1345 -1346 Requires: +1346 - Returns a single item by iterating a function starting with an accumulator over a list 1347 -1348 - `fn`: -1349 - Type: function | method -1350 - What: The function or method to reduce -1351 - Note: This function should have an arity of 2 (take two inputs) -1352 - Note: The first input should take the accumulator value -1353 - Note: The second input should take the data value -1354 -`initial_accumulator`: -1355 - Type: any -1356 - What: The initial item to pass into the function when starting the accumulation process -1357 - `data`: -1358 - Type: list -1359 - What: The list of items to iterate over -1360 -1361 Example: +1348 Requires: +1349 +1350 - `fn`: +1351 - Type: function | method +1352 - What: The function or method to reduce +1353 - Note: This function should have an arity of 2 (take two inputs) +1354 - Note: The first input should take the accumulator value +1355 - Note: The second input should take the data value +1356 -`initial_accumulator`: +1357 - Type: any +1358 - What: The initial item to pass into the function when starting the accumulation process +1359 - `data`: +1360 - Type: list +1361 - What: The list of items to iterate over 1362 -1363 ``` -1364 data=[1,2,3,4] -1365 pamda.reduce( -1366 fn=pamda.add, -1367 initial_accumulator=0, -1368 data=data -1369 ) -1370 #=> 10 -1371 -1372 ``` -1373 """ -1374 fn = self.curry(fn) -1375 if fn.__arity__ != 2: -1376 raise Exception( -1377 "`reduce` `fn` must have an arity of 2 (take two inputs)" -1378 ) -1379 if not isinstance(data, (list)): -1380 raise Exception("`reduce` `data` must be a list") -1381 if not len(data) > 0: -1382 raise Exception( -1383 "`reduce` `data` has a length of 0, however it must have a length of at least 1" -1384 ) -1385 acc = initial_accumulator -1386 for i in data: -1387 acc = fn(acc, i) -1388 return acc -1389 -1390 def safeDivide(self, denominator: [int, float], a: [int, float]): -1391 """ -1392 Function: -1393 -1394 - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero +1363 Example: +1364 +1365 ``` +1366 data=[1,2,3,4] +1367 pamda.reduce( +1368 fn=pamda.add, +1369 initial_accumulator=0, +1370 data=data +1371 ) +1372 #=> 10 +1373 +1374 ``` +1375 """ +1376 fn = self.curry(fn) +1377 if fn.__arity__ != 2: +1378 raise Exception( +1379 "`reduce` `fn` must have an arity of 2 (take two inputs)" +1380 ) +1381 if not isinstance(data, (list)): +1382 raise Exception("`reduce` `data` must be a list") +1383 if not len(data) > 0: +1384 raise Exception( +1385 "`reduce` `data` has a length of 0, however it must have a length of at least 1" +1386 ) +1387 acc = initial_accumulator +1388 for i in data: +1389 acc = fn(acc, i) +1390 return acc +1391 +1392 def safeDivide(self, denominator: [int, float], a: [int, float]): +1393 """ +1394 Function: 1395 -1396 Requires: +1396 - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero 1397 -1398 - `denominator`: -1399 - Type: int | float -1400 - What: The denominator -1401 -1402 - `a`: -1403 - Type: int | float -1404 - What: The numerator -1405 -1406 Example: +1398 Requires: +1399 +1400 - `denominator`: +1401 - Type: int | float +1402 - What: The denominator +1403 +1404 - `a`: +1405 - Type: int | float +1406 - What: The numerator 1407 -1408 ``` -1409 pamda.safeDivide(2,10) #=> 5 -1410 pamda.safeDivide(0,10) #=> 10 -1411 ``` -1412 """ -1413 return a / denominator if denominator != 0 else a -1414 -1415 def safeDivideDefault( -1416 self, -1417 default_denominator: [int, float], -1418 denominator: [int, float], -1419 a: [int, float], -1420 ): -1421 """ -1422 Function: -1423 -1424 - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero +1408 Example: +1409 +1410 ``` +1411 pamda.safeDivide(2,10) #=> 5 +1412 pamda.safeDivide(0,10) #=> 10 +1413 ``` +1414 """ +1415 return a / denominator if denominator != 0 else a +1416 +1417 def safeDivideDefault( +1418 self, +1419 default_denominator: [int, float], +1420 denominator: [int, float], +1421 a: [int, float], +1422 ): +1423 """ +1424 Function: 1425 -1426 Requires: +1426 - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero 1427 -1428 - `default_denominator`: -1429 - Type: int | float -1430 - What: A non zero denominator to use if denominator is zero -1431 - Default: 1 -1432 - `denominator`: -1433 - Type: int | float -1434 - What: The denominator -1435 - `a`: -1436 - Type: int | float -1437 - What: The numerator -1438 -1439 Example: +1428 Requires: +1429 +1430 - `default_denominator`: +1431 - Type: int | float +1432 - What: A non zero denominator to use if denominator is zero +1433 - Default: 1 +1434 - `denominator`: +1435 - Type: int | float +1436 - What: The denominator +1437 - `a`: +1438 - Type: int | float +1439 - What: The numerator 1440 -1441 ``` -1442 pamda.safeDivideDefault(2,5,10) #=> 2 -1443 pamda.safeDivideDefault(2,0,10) #=> 5 -1444 ``` -1445 """ -1446 if default_denominator == 0: -1447 raise Exception( -1448 "`safeDivideDefault` `default_denominator` can not be 0" -1449 ) -1450 return a / denominator if denominator != 0 else a / default_denominator -1451 -1452 def symmetricDifference(self, a: list, b: list): -1453 """ -1454 Function: -1455 -1456 - Combines two lists into a list of no duplicates items present in one list but not the other +1441 Example: +1442 +1443 ``` +1444 pamda.safeDivideDefault(2,5,10) #=> 2 +1445 pamda.safeDivideDefault(2,0,10) #=> 5 +1446 ``` +1447 """ +1448 if default_denominator == 0: +1449 raise Exception( +1450 "`safeDivideDefault` `default_denominator` can not be 0" +1451 ) +1452 return a / denominator if denominator != 0 else a / default_denominator +1453 +1454 def symmetricDifference(self, a: list, b: list): +1455 """ +1456 Function: 1457 -1458 Requires: +1458 - Combines two lists into a list of no duplicates items present in one list but not the other 1459 -1460 - `a`: -1461 - Type: list -1462 - What: List of items in which to look for a difference -1463 - `b`: -1464 - Type: list -1465 - What: List of items in which to look for a difference -1466 -1467 Example: +1460 Requires: +1461 +1462 - `a`: +1463 - Type: list +1464 - What: List of items in which to look for a difference +1465 - `b`: +1466 - Type: list +1467 - What: List of items in which to look for a difference 1468 -1469 ``` -1470 a=['a','b'] -1471 b=['b','c'] -1472 pamda.symmetricDifference(a=a, b=b) #=> ['a','c'] -1473 ``` -1474 """ -1475 return list(set(a).difference(set(b))) + list(set(b).difference(set(a))) -1476 -1477 def tail(self, data: [str, list]): -1478 """ -1479 Function: -1480 -1481 - Picks the last item out of a list or string +1469 Example: +1470 +1471 ``` +1472 a=['a','b'] +1473 b=['b','c'] +1474 pamda.symmetricDifference(a=a, b=b) #=> ['a','c'] +1475 ``` +1476 """ +1477 return list(set(a).difference(set(b))) + list(set(b).difference(set(a))) +1478 +1479 def tail(self, data: [str, list]): +1480 """ +1481 Function: 1482 -1483 Requires: +1483 - Picks the last item out of a list or string 1484 -1485 - `data`: -1486 - Type: list | str -1487 - What: A list or string -1488 -1489 Example: +1485 Requires: +1486 +1487 - `data`: +1488 - Type: list | str +1489 - What: A list or string 1490 -1491 ``` -1492 data=['fe','fi','fo','fum'] -1493 pamda.tail( -1494 data=data -1495 ) #=> fum -1496 ``` -1497 """ -1498 if not len(data) > 0: -1499 raise Exception("Attempting to call `tail` on an empty list or str") -1500 return data[-1] -1501 -1502 def thunkify(self, fn): -1503 """ -1504 Function: -1505 -1506 - Creates a curried thunk out of a function -1507 - Evaluation of the thunk lazy and is delayed until called -1508 -1509 Requires: +1491 Example: +1492 +1493 ``` +1494 data=['fe','fi','fo','fum'] +1495 pamda.tail( +1496 data=data +1497 ) #=> fum +1498 ``` +1499 """ +1500 if not len(data) > 0: +1501 raise Exception("Attempting to call `tail` on an empty list or str") +1502 return data[-1] +1503 +1504 def thunkify(self, fn): +1505 """ +1506 Function: +1507 +1508 - Creates a curried thunk out of a function +1509 - Evaluation of the thunk lazy and is delayed until called 1510 -1511 - `fn`: -1512 - Type: function | method -1513 - What: The function or method to thunkify -1514 - Note: Thunkified functions are automatically curried -1515 - Note: Class methods auto apply self during thunkify -1516 -1517 Notes: +1511 Requires: +1512 +1513 - `fn`: +1514 - Type: function | method +1515 - What: The function or method to thunkify +1516 - Note: Thunkified functions are automatically curried +1517 - Note: Class methods auto apply self during thunkify 1518 -1519 - Input functions are not thunkified in place -1520 - The returned function is a thunkified version of the input function -1521 - A curried function can be thunkified in place by calling fn.thunkify() -1522 -1523 Examples: +1519 Notes: +1520 +1521 - Input functions are not thunkified in place +1522 - The returned function is a thunkified version of the input function +1523 - A curried function can be thunkified in place by calling fn.thunkify() 1524 -1525 ``` -1526 def add(a,b): -1527 return a+b -1528 -1529 addThunk=pamda.thunkify(add) +1525 Examples: +1526 +1527 ``` +1528 def add(a,b): +1529 return a+b 1530 -1531 add(1,2) #=> 3 -1532 addThunk(1,2) -1533 addThunk(1,2)() #=> 3 -1534 -1535 x=addThunk(1,2) -1536 x() #=> 3 -1537 ``` -1538 +1531 addThunk=pamda.thunkify(add) +1532 +1533 add(1,2) #=> 3 +1534 addThunk(1,2) +1535 addThunk(1,2)() #=> 3 +1536 +1537 x=addThunk(1,2) +1538 x() #=> 3 1539 ``` -1540 @pamda.curry -1541 def add(a,b): -1542 return a+b -1543 -1544 add(1,2) #=> 3 +1540 +1541 ``` +1542 @pamda.curry +1543 def add(a,b): +1544 return a+b 1545 -1546 add.thunkify() +1546 add(1,2) #=> 3 1547 -1548 add(1,2) -1549 add(1,2)() #=> 3 -1550 ``` -1551 """ -1552 fn = self.curry(fn) -1553 return fn.thunkify() -1554 -1555 def unnest(self, data: list): -1556 """ -1557 Function: -1558 -1559 - Removes one level of depth for all items in a list +1548 add.thunkify() +1549 +1550 add(1,2) +1551 add(1,2)() #=> 3 +1552 ``` +1553 """ +1554 fn = self.curry(fn) +1555 return fn.thunkify() +1556 +1557 def unnest(self, data: list): +1558 """ +1559 Function: 1560 -1561 Requires: +1561 - Removes one level of depth for all items in a list 1562 -1563 - `data`: -1564 - Type: list -1565 - What: A list of items to unnest by one level -1566 -1567 Examples: +1563 Requires: +1564 +1565 - `data`: +1566 - Type: list +1567 - What: A list of items to unnest by one level 1568 -1569 ``` -1570 data=['fe','fi',['fo',['fum']]] -1571 pamda.unnest( -1572 data=data -1573 ) #=> ['fe','fi','fo',['fum']] -1574 ``` -1575 """ -1576 if not len(data) > 0: -1577 raise Exception("Attempting to call `unnest` on an empty list") -1578 output = [] -1579 for i in data: -1580 if isinstance(i, list): -1581 output += i -1582 else: -1583 output.append(i) -1584 return output -1585 -1586 def zip(self, a: list, b: list): -1587 """ -1588 Function: -1589 -1590 - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists +1569 Examples: +1570 +1571 ``` +1572 data=['fe','fi',['fo',['fum']]] +1573 pamda.unnest( +1574 data=data +1575 ) #=> ['fe','fi','fo',['fum']] +1576 ``` +1577 """ +1578 if not len(data) > 0: +1579 raise Exception("Attempting to call `unnest` on an empty list") +1580 output = [] +1581 for i in data: +1582 if isinstance(i, list): +1583 output += i +1584 else: +1585 output.append(i) +1586 return output +1587 +1588 def zip(self, a: list, b: list): +1589 """ +1590 Function: 1591 -1592 Requires: +1592 - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists 1593 -1594 - `a`: -1595 - Type: list -1596 - What: List of items to appear in new list first -1597 - `b`: -1598 - Type: list -1599 - What: List of items to appear in new list second -1600 -1601 Example: +1594 Requires: +1595 +1596 - `a`: +1597 - Type: list +1598 - What: List of items to appear in new list first +1599 - `b`: +1600 - Type: list +1601 - What: List of items to appear in new list second 1602 -1603 ``` -1604 a=['a','b'] -1605 b=[1,2] -1606 pamda.zip(a=a, b=b) #=> [['a',1],['b',2]] -1607 ``` -1608 """ -1609 return [list(item) for item in zip(a, b)] -1610 -1611 def zipObj(self, a: list, b: list): -1612 """ -1613 Function: -1614 -1615 - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists -1616 - The first list represents keys and the second values -1617 -1618 Requires: +1603 Example: +1604 +1605 ``` +1606 a=['a','b'] +1607 b=[1,2] +1608 pamda.zip(a=a, b=b) #=> [['a',1],['b',2]] +1609 ``` +1610 """ +1611 return [list(item) for item in zip(a, b)] +1612 +1613 def zipObj(self, a: list, b: list): +1614 """ +1615 Function: +1616 +1617 - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists +1618 - The first list represents keys and the second values 1619 -1620 - `a`: -1621 - Type: list -1622 - What: List of items to appear in new list first -1623 - `b`: -1624 - Type: list -1625 - What: List of items to appear in new list second -1626 -1627 Example: +1620 Requires: +1621 +1622 - `a`: +1623 - Type: list +1624 - What: List of items to appear in new list first +1625 - `b`: +1626 - Type: list +1627 - What: List of items to appear in new list second 1628 -1629 ``` -1630 a=['a','b'] -1631 b=[1,2] -1632 pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2} -1633 ``` -1634 """ -1635 return dict(zip(a, b)) +1629 Example: +1630 +1631 ``` +1632 a=['a','b'] +1633 b=[1,2] +1634 pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2} +1635 ``` +1636 """ +1637 return dict(zip(a, b)) @@ -4702,15 +4706,17 @@

524 pamda.flatten(data=data) #=> ['a','b',1,2] 525 ``` 526 """ -527 def iter_flatten(data): -528 out = [] -529 for i in data: -530 if isinstance(i, list): -531 out.extend(iter_flatten(i)) -532 else: -533 out.append(i) -534 return out -535 return iter_flatten(data) +527 +528 def iter_flatten(data): +529 out = [] +530 for i in data: +531 if isinstance(i, list): +532 out.extend(iter_flatten(i)) +533 else: +534 out.append(i) +535 return out +536 +537 return iter_flatten(data) @@ -4749,74 +4755,74 @@

-
537    def flip(self, fn):
-538        """
-539        Function:
-540
-541        - Returns a new function equivalent to the supplied function except that the first two inputs are flipped
+            
539    def flip(self, fn):
+540        """
+541        Function:
 542
-543        Requires:
+543        - Returns a new function equivalent to the supplied function except that the first two inputs are flipped
 544
-545        - `fn`:
-546            - Type: function | method
-547            - What: The function or method to flip
-548            - Note: This function must have an arity of at least 2 (take two inputs)
-549            - Note: Only args are flipped, kwargs are passed as normal
-550
-551        Notes:
+545        Requires:
+546
+547        - `fn`:
+548            - Type: function | method
+549            - What: The function or method to flip
+550            - Note: This function must have an arity of at least 2 (take two inputs)
+551            - Note: Only args are flipped, kwargs are passed as normal
 552
-553        - Input functions are not flipped in place
-554        - The returned function is a flipped version of the input function
-555        - A curried function can be flipped in place by calling fn.flip()
-556        - A function can be flipped multiple times:
-557            - At each flip, the first and second inputs for the function as it is currently curried are switched
-558            - Flipping a function two times before adding an input will return the initial value
-559
-560        Examples:
+553        Notes:
+554
+555        - Input functions are not flipped in place
+556        - The returned function is a flipped version of the input function
+557        - A curried function can be flipped in place by calling fn.flip()
+558        - A function can be flipped multiple times:
+559            - At each flip, the first and second inputs for the function as it is currently curried are switched
+560            - Flipping a function two times before adding an input will return the initial value
 561
-562        ```
-563        def concat(a,b,c,d):
-564            return str(a)+str(b)+str(c)+str(d)
-565
-566        flip_concat=pamda.flip(concat)
+562        Examples:
+563
+564        ```
+565        def concat(a,b,c,d):
+566            return str(a)+str(b)+str(c)+str(d)
 567
-568        concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'
-569        flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'
-570        ```
-571
+568        flip_concat=pamda.flip(concat)
+569
+570        concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'
+571        flip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'
 572        ```
-573        @pamda.curry
-574        def concat(a,b,c,d):
-575            return str(a)+str(b)+str(c)+str(d)
-576
-577        concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'
+573
+574        ```
+575        @pamda.curry
+576        def concat(a,b,c,d):
+577            return str(a)+str(b)+str(c)+str(d)
 578
-579        concat.flip()
+579        concat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'
 580
-581        concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'
-582        ```
-583
+581        concat.flip()
+582
+583        concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'
 584        ```
-585        @pamda.curry
-586        def concat(a,b,c,d):
-587            return str(a)+str(b)+str(c)+str(d)
-588
-589        a=pamda.flip(concat)('fi-')
-590        b=pamda.flip(a)('fo-')
-591        c=pamda.flip(b)('fum')
-592        c('fe-') #=> 'fe-fi-fo-fum'
-593        ```
-594
+585
+586        ```
+587        @pamda.curry
+588        def concat(a,b,c,d):
+589            return str(a)+str(b)+str(c)+str(d)
+590
+591        a=pamda.flip(concat)('fi-')
+592        b=pamda.flip(a)('fo-')
+593        c=pamda.flip(b)('fum')
+594        c('fe-') #=> 'fe-fi-fo-fum'
 595        ```
-596        def concat(a,b,c,d):
-597            return str(a)+str(b)+str(c)+str(d)
-598
-599        a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum')
-600        a('fe-') #=> 'fe-fi-fo-fum'
-601        ```
-602        """
-603        fn = self.curry(fn)
-604        return fn.flip()
+596
+597        ```
+598        def concat(a,b,c,d):
+599            return str(a)+str(b)+str(c)+str(d)
+600
+601        a=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum')
+602        a('fe-') #=> 'fe-fi-fo-fum'
+603        ```
+604        """
+605        fn = self.curry(fn)
+606        return fn.flip()
 
@@ -4904,30 +4910,30 @@

-
606    def getArity(self, fn):
-607        """
-608        Function:
-609
-610        - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried)
+            
608    def getArity(self, fn):
+609        """
+610        Function:
 611
-612        Requires:
+612        - Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried)
 613
-614        - `fn`:
-615            - Type: function | method
-616            - What: The function or method to get the arity of
-617            - Note: Class methods remove one arity to account for self
-618
-619        Examples:
+614        Requires:
+615
+616        - `fn`:
+617            - Type: function | method
+618            - What: The function or method to get the arity of
+619            - Note: Class methods remove one arity to account for self
 620
-621        ```
-622        pamda.getArity(pamda.zip) #=> 2
-623        curriedZip=pamda.curry(pamda.zip)
-624        ABCuriedZip=curriedZip(['a','b'])
-625        pamda.getArity(ABCuriedZip) #=> 1
-626        ```
-627        """
-628        fn = self.curry(fn)
-629        return fn.__arity__
+621        Examples:
+622
+623        ```
+624        pamda.getArity(pamda.zip) #=> 2
+625        curriedZip=pamda.curry(pamda.zip)
+626        ABCuriedZip=curriedZip(['a','b'])
+627        pamda.getArity(ABCuriedZip) #=> 1
+628        ```
+629        """
+630        fn = self.curry(fn)
+631        return fn.__arity__
 
@@ -4970,68 +4976,68 @@

-
631    def groupBy(self, fn, data: list):
-632        """
-633        Function:
-634
-635        - Splits a list into a dictionary of sublists keyed by the return string of a provided function
+            
633    def groupBy(self, fn, data: list):
+634        """
+635        Function:
 636
-637        Requires:
+637        - Splits a list into a dictionary of sublists keyed by the return string of a provided function
 638
-639        - `fn`:
-640            - Type: function | method
-641            - What: The function or method to group by
-642            - Note: Must return a string
-643            - Note: This function must be unary (take one input)
-644            - Note: This function is applied to each item in the list recursively
-645        - `data`:
-646            - Type: list
-647            - What: List of items to apply the function to and then group by the results
-648
-649        Examples:
+639        Requires:
+640
+641        - `fn`:
+642            - Type: function | method
+643            - What: The function or method to group by
+644            - Note: Must return a string
+645            - Note: This function must be unary (take one input)
+646            - Note: This function is applied to each item in the list recursively
+647        - `data`:
+648            - Type: list
+649            - What: List of items to apply the function to and then group by the results
 650
-651        ```
-652        def getGrade(item):
-653            score=item['score']
-654            if score>90:
-655                return 'A'
-656            elif score>80:
-657                return 'B'
-658            elif score>70:
-659                return 'C'
-660            elif score>60:
-661                return 'D'
-662            else:
-663                return 'F'
-664
-665        data=[
-666            {'name':'Connor', 'score':75},
-667            {'name':'Fred', 'score':79},
-668            {'name':'Joe', 'score':84},
-669        ]
-670        pamda.groupBy(getGrade,data)
-671        #=>{
-672        #=>    'B':[{'name':'Joe', 'score':84}]
-673        #=>    'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}]
-674        #=>}
-675        ```
-676        """
-677        curried_fn = self.curry(fn)
-678        if curried_fn.__arity__ != 1:
-679            raise Exception(
-680                "groupBy `fn` must only take one parameter as its input"
-681            )
-682        output = {}
-683        for i in data:
-684            path = fn(i)
-685            if not isinstance(path, str):
-686                raise Exception(
-687                    f"groupBy `fn` must return a str but instead returned {path}"
-688                )
-689            if path not in output:
-690                output[path] = []
-691            output[path].append(i)
-692        return output
+651        Examples:
+652
+653        ```
+654        def getGrade(item):
+655            score=item['score']
+656            if score>90:
+657                return 'A'
+658            elif score>80:
+659                return 'B'
+660            elif score>70:
+661                return 'C'
+662            elif score>60:
+663                return 'D'
+664            else:
+665                return 'F'
+666
+667        data=[
+668            {'name':'Connor', 'score':75},
+669            {'name':'Fred', 'score':79},
+670            {'name':'Joe', 'score':84},
+671        ]
+672        pamda.groupBy(getGrade,data)
+673        #=>{
+674        #=>    'B':[{'name':'Joe', 'score':84}]
+675        #=>    'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}]
+676        #=>}
+677        ```
+678        """
+679        curried_fn = self.curry(fn)
+680        if curried_fn.__arity__ != 1:
+681            raise Exception(
+682                "groupBy `fn` must only take one parameter as its input"
+683            )
+684        output = {}
+685        for i in data:
+686            path = fn(i)
+687            if not isinstance(path, str):
+688                raise Exception(
+689                    f"groupBy `fn` must return a str but instead returned {path}"
+690                )
+691            if path not in output:
+692                output[path] = []
+693            output[path].append(i)
+694        return output
 
@@ -5100,41 +5106,43 @@

-
694    def groupKeys(self, keys: list, data: list):
-695        """
-696        Function:
-697
-698        - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys
+            
696    def groupKeys(self, keys: list, data: list):
+697        """
+698        Function:
 699
-700        Requires:
+700        - Splits a list of dicts into a list of sublists of dicts separated by values with equal keys
 701
-702        - `keys`:
-703            - Type: list of strs
-704            - What: The keys to group by
-705        - `data`:
-706            - Type: list of dicts
-707            - What: List of dictionaries with which to match keys
-708
-709        Examples:
+702        Requires:
+703
+704        - `keys`:
+705            - Type: list of strs
+706            - What: The keys to group by
+707        - `data`:
+708            - Type: list of dicts
+709            - What: List of dictionaries with which to match keys
 710
-711        ```
-712        data=[
-713            {'color':'red', 'size':9, 'shape':'ball'},
-714            {'color':'red', 'size':10, 'shape':'ball'},
-715            {'color':'green', 'size':11, 'shape':'ball'},
-716            {'color':'green', 'size':12, 'shape':'square'}
-717        ]
-718        pamda.groupKeys(['color','shape'],data)
-719        #=> [
-720        #=>     [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}],
-721        #=>     [{'color': 'green', 'size': 11, 'shape': 'ball'}],
-722        #=>     [{'color': 'green', 'size': 12, 'shape': 'square'}]
-723        #=> ]
-724        ```
-725        """
-726        def keyFn(item):
-727            return str(([item[key] for key in keys]))
-728        return list(self.groupBy(keyFn, data).values())
+711        Examples:
+712
+713        ```
+714        data=[
+715            {'color':'red', 'size':9, 'shape':'ball'},
+716            {'color':'red', 'size':10, 'shape':'ball'},
+717            {'color':'green', 'size':11, 'shape':'ball'},
+718            {'color':'green', 'size':12, 'shape':'square'}
+719        ]
+720        pamda.groupKeys(['color','shape'],data)
+721        #=> [
+722        #=>     [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}],
+723        #=>     [{'color': 'green', 'size': 11, 'shape': 'ball'}],
+724        #=>     [{'color': 'green', 'size': 12, 'shape': 'square'}]
+725        #=> ]
+726        ```
+727        """
+728
+729        def keyFn(item):
+730            return str(([item[key] for key in keys]))
+731
+732        return list(self.groupBy(keyFn, data).values())
 
@@ -5189,51 +5197,51 @@

-
730    def groupWith(self, fn, data: list):
-731        """
-732        Function:
-733
-734        - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function
-735
-736        Requires:
+            
734    def groupWith(self, fn, data: list):
+735        """
+736        Function:
 737
-738        - `fn`:
-739            - Type: function | method
-740            - What: The function or method to groub with
-741            - Note: Must return a boolean value
-742            - Note: This function must have an arity of two (take two inputs)
-743            - Note: This function is applied to each item plus the next adjacent item in the list recursively
-744        - `data`:
-745            - Type: list
-746            - What: List of items to apply the function to and then group the results
-747
-748        Examples:
-749
-750        ```
-751        def areEqual(a,b):
-752            return a==b
+738        - Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function
+739
+740        Requires:
+741
+742        - `fn`:
+743            - Type: function | method
+744            - What: The function or method to groub with
+745            - Note: Must return a boolean value
+746            - Note: This function must have an arity of two (take two inputs)
+747            - Note: This function is applied to each item plus the next adjacent item in the list recursively
+748        - `data`:
+749            - Type: list
+750            - What: List of items to apply the function to and then group the results
+751
+752        Examples:
 753
-754        data=[1,2,3,1,1,2,2,3,3,3]
-755        pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]]
-756        ```
-757        """
-758        curried_fn = self.curry(fn)
-759        if curried_fn.__arity__ != 2:
-760            raise Exception("groupWith `fn` must take exactly two parameters")
-761        output = []
-762        start = True
-763        for i in data:
-764            if start:
-765                sublist = [i]
-766                start = False
-767            elif fn(i, previous):
-768                sublist.append(i)
-769            else:
-770                output.append(sublist)
-771                sublist = [i]
-772            previous = i
-773        output.append(sublist)
-774        return output
+754        ```
+755        def areEqual(a,b):
+756            return a==b
+757
+758        data=[1,2,3,1,1,2,2,3,3,3]
+759        pamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]]
+760        ```
+761        """
+762        curried_fn = self.curry(fn)
+763        if curried_fn.__arity__ != 2:
+764            raise Exception("groupWith `fn` must take exactly two parameters")
+765        output = []
+766        start = True
+767        for i in data:
+768            if start:
+769                sublist = [i]
+770                start = False
+771            elif fn(i, previous):
+772                sublist.append(i)
+773            else:
+774                output.append(sublist)
+775                sublist = [i]
+776            previous = i
+777        output.append(sublist)
+778        return output
 
@@ -5284,33 +5292,33 @@

-
776    def hasPath(self, path: [list, str], data: dict):
-777        """
-778        Function:
-779
-780        - Checks if a path exists within a nested dictionary
-781
-782        Requires:
+            
780    def hasPath(self, path: [list, str], data: dict):
+781        """
+782        Function:
 783
-784        - `path`:
-785            - Type: list of strs | str
-786            - What: The path to check
-787            - Note: If a string is passed, assumes a single item path list with that string
-788        - `data`:
-789            - Type: dict
-790            - What: A dictionary to check if the path exists
-791
-792        Example:
-793
-794        ```
-795        data={'a':{'b':1}}
-796        pamda.hasPath(path=['a','b'], data=data) #=> True
-797        pamda.hasPath(path=['a','d'], data=data) #=> False
+784        - Checks if a path exists within a nested dictionary
+785
+786        Requires:
+787
+788        - `path`:
+789            - Type: list of strs | str
+790            - What: The path to check
+791            - Note: If a string is passed, assumes a single item path list with that string
+792        - `data`:
+793            - Type: dict
+794            - What: A dictionary to check if the path exists
+795
+796        Example:
+797
 798        ```
-799        """
-800        if isinstance(path, str):
-801            path = [path]
-802        return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data)
+799        data={'a':{'b':1}}
+800        pamda.hasPath(path=['a','b'], data=data) #=> True
+801        pamda.hasPath(path=['a','d'], data=data) #=> False
+802        ```
+803        """
+804        if isinstance(path, str):
+805            path = [path]
+806        return path[-1] in reduce(lambda x, y: x.get(y, {}), path[:-1], data)
 
@@ -5357,32 +5365,32 @@

-
804    def hardRound(self, decimal_places: int, a: [int, float]):
-805        """
-806        Function:
-807
-808        - Rounds to a set number of decimal places regardless of floating point math in python
-809
-810        Requires:
+            
808    def hardRound(self, decimal_places: int, a: [int, float]):
+809        """
+810        Function:
 811
-812        - `decimal_places`:
-813            - Type: int
-814            - What: The number of decimal places to round to
-815            - Default: 0
-816            - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10)
-817        - `a`:
-818            - Type: int | float
-819            - What: The number to round
-820
-821        Example:
-822
-823        ```
-824        a=12.345
-825        pamda.hardRound(1,a) #=> 12.3
-826        pamda.hardRound(-1,a) #=> 10
+812        - Rounds to a set number of decimal places regardless of floating point math in python
+813
+814        Requires:
+815
+816        - `decimal_places`:
+817            - Type: int
+818            - What: The number of decimal places to round to
+819            - Default: 0
+820            - Notes: Negative numbers accepted (EG -1 rounds to the nearest 10)
+821        - `a`:
+822            - Type: int | float
+823            - What: The number to round
+824
+825        Example:
+826
 827        ```
-828        """
-829        return int(a * (10**decimal_places) + 0.5) / (10**decimal_places)
+828        a=12.345
+829        pamda.hardRound(1,a) #=> 12.3
+830        pamda.hardRound(-1,a) #=> 10
+831        ```
+832        """
+833        return int(a * (10**decimal_places) + 0.5) / (10**decimal_places)
 
@@ -5430,32 +5438,32 @@

-
831    def head(self, data: [list, str]):
-832        """
-833        Function:
-834
-835        - Picks the first item out of a list or string
-836
-837        Requires:
+            
835    def head(self, data: [list, str]):
+836        """
+837        Function:
 838
-839        - `data`:
-840            - Type: list | str
-841            - What: A list or string
+839        - Picks the first item out of a list or string
+840
+841        Requires:
 842
-843        Example:
-844
-845        ```
-846        data=['fe','fi','fo','fum']
-847        pamda.first(
-848            data=data
-849        ) #=> fe
-850        ```
-851        """
-852        if not isinstance(data, (list, str)):
-853            raise Exception("`head` can only be called on a `str` or a `list`")
-854        if not len(data) > 0:
-855            raise Exception("Attempting to call `head` on an empty list or str")
-856        return data[0]
+843        - `data`:
+844            - Type: list | str
+845            - What: A list or string
+846
+847        Example:
+848
+849        ```
+850        data=['fe','fi','fo','fum']
+851        pamda.first(
+852            data=data
+853        ) #=> fe
+854        ```
+855        """
+856        if not isinstance(data, (list, str)):
+857            raise Exception("`head` can only be called on a `str` or a `list`")
+858        if not len(data) > 0:
+859            raise Exception("Attempting to call `head` on an empty list or str")
+860        return data[0]
 
@@ -5497,27 +5505,27 @@

-
858    def inc(self, a: [int, float]):
-859        """
-860        Function:
-861
-862        - Increments a number by one
-863
-864        Requires:
+            
862    def inc(self, a: [int, float]):
+863        """
+864        Function:
 865
-866        - `a`:
-867            - Type: int | float
-868            - What: The number to increment
+866        - Increments a number by one
+867
+868        Requires:
 869
-870        Example:
-871
-872        ```
-873        pamda.inc(42) #=> 43
-874        ```
-875        """
-876        if not isinstance(a, (int, float)):
-877            raise Exception("`a` must be an `int` or a `float`")
-878        return a + 1
+870        - `a`:
+871            - Type: int | float
+872            - What: The number to increment
+873
+874        Example:
+875
+876        ```
+877        pamda.inc(42) #=> 43
+878        ```
+879        """
+880        if not isinstance(a, (int, float)):
+881            raise Exception("`a` must be an `int` or a `float`")
+882        return a + 1
 
@@ -5556,30 +5564,30 @@

-
880    def intersection(self, a: list, b: list):
-881        """
-882        Function:
-883
-884        - Combines two lists into a list of no duplicates composed of those elements common to both lists
-885
-886        Requires:
+            
884    def intersection(self, a: list, b: list):
+885        """
+886        Function:
 887
-888        - `a`:
-889            - Type: list
-890            - What: List of items in which to look for an intersection
-891        - `b`:
-892            - Type: list
-893            - What: List of items in which to look for an intersection
-894
-895        Example:
-896
-897        ```
-898        a=['a','b']
-899        b=['b','c']
-900        pamda.intersection(a=a, b=b) #=> ['b']
+888        - Combines two lists into a list of no duplicates composed of those elements common to both lists
+889
+890        Requires:
+891
+892        - `a`:
+893            - Type: list
+894            - What: List of items in which to look for an intersection
+895        - `b`:
+896            - Type: list
+897            - What: List of items in which to look for an intersection
+898
+899        Example:
+900
 901        ```
-902        """
-903        return list(set(a).intersection(set(b)))
+902        a=['a','b']
+903        b=['b','c']
+904        pamda.intersection(a=a, b=b) #=> ['b']
+905        ```
+906        """
+907        return list(set(a).intersection(set(b)))
 
@@ -5625,54 +5633,54 @@

-
905    def map(self, fn, data: [list, dict]):
-906        """
-907        Function:
-908
-909        - Maps a function over a list or a dictionary
-910
-911        Requires:
+            
909    def map(self, fn, data: [list, dict]):
+910        """
+911        Function:
 912
-913        - `fn`:
-914            - Type: function | method
-915            - What: The function or method to map over the list or dictionary
-916            - Note: This function should have an arity of 1
-917        - `data`:
-918            - Type: list | dict
-919            - What: The list or dict of items to map the function over
-920
-921        Examples:
-922
-923        ```
-924        data=[1,2,3]
-925        pamda.map(
-926            fn=pamda.inc,
-927            data=data
-928        )
-929        #=> [2,3,4]
-930        ```
-931
-932        ```
-933        data={'a':1,'b':2,'c':3}
-934        pamda.map(
-935            fn=pamda.inc,
-936            data=data
-937        )
-938        #=> {'a':2,'b':3,'c':4}
-939        ```
-940
-941        """
-942        fn = self.curry(fn)
-943        if fn.__arity__ != 1:
-944            raise Exception("`map` `fn` must be unary (take one input)")
-945        if not len(data) > 0:
-946            raise Exception(
-947                "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it"
-948            )
-949        if isinstance(data, dict):
-950            return {key: fn(value) for key, value in data.items()}
-951        else:
-952            return [fn(i) for i in data]
+913        - Maps a function over a list or a dictionary
+914
+915        Requires:
+916
+917        - `fn`:
+918            - Type: function | method
+919            - What: The function or method to map over the list or dictionary
+920            - Note: This function should have an arity of 1
+921        - `data`:
+922            - Type: list | dict
+923            - What: The list or dict of items to map the function over
+924
+925        Examples:
+926
+927        ```
+928        data=[1,2,3]
+929        pamda.map(
+930            fn=pamda.inc,
+931            data=data
+932        )
+933        #=> [2,3,4]
+934        ```
+935
+936        ```
+937        data={'a':1,'b':2,'c':3}
+938        pamda.map(
+939            fn=pamda.inc,
+940            data=data
+941        )
+942        #=> {'a':2,'b':3,'c':4}
+943        ```
+944
+945        """
+946        fn = self.curry(fn)
+947        if fn.__arity__ != 1:
+948            raise Exception("`map` `fn` must be unary (take one input)")
+949        if not len(data) > 0:
+950            raise Exception(
+951                "`map` `data` has a length of 0 or is an empty dictionary, however it must have at least one element in it"
+952            )
+953        if isinstance(data, dict):
+954            return {key: fn(value) for key, value in data.items()}
+955        else:
+956            return [fn(i) for i in data]
 
@@ -5730,36 +5738,36 @@

-
954    def mean(self, data: list):
-955        """
-956        Function:
-957
-958        - Calculates the mean of a given list
-959
-960        Requires:
+            
958    def mean(self, data: list):
+959        """
+960        Function:
 961
-962        - `data`:
-963            - Type: list of (floats | ints)
-964            - What: The list with wich to calculate the mean
-965            - Note: If the length of this list is 0, returns None
-966
-967        Example:
-968
-969        ```
-970        data=[1,2,3]
-971        pamda.mean(data=data)
-972        #=> 2
+962        - Calculates the mean of a given list
+963
+964        Requires:
+965
+966        - `data`:
+967            - Type: list of (floats | ints)
+968            - What: The list with wich to calculate the mean
+969            - Note: If the length of this list is 0, returns None
+970
+971        Example:
+972
 973        ```
-974
-975        ```
-976        data=[]
-977        pamda.mean(data=data)
-978        #=> None
+974        data=[1,2,3]
+975        pamda.mean(data=data)
+976        #=> 2
+977        ```
+978
 979        ```
-980        """
-981        if len(data) == 0:
-982            return None
-983        return sum(data) / len(data)
+980        data=[]
+981        pamda.mean(data=data)
+982        #=> None
+983        ```
+984        """
+985        if len(data) == 0:
+986            return None
+987        return sum(data) / len(data)
 
@@ -5806,49 +5814,49 @@

-
 985    def median(self, data: list):
- 986        """
- 987        Function:
- 988
- 989        - Calculates the median of a given list
- 990        - If the length of the list is even, calculates the mean of the two central values
- 991
- 992        Requires:
- 993
- 994        - `data`:
- 995            - Type: list of (floats | ints)
- 996            - What: The list with wich to calculate the mean
- 997            - Note: If the length of this list is 0, returns None
- 998
- 999        Examples:
-1000
-1001        ```
-1002        data=[7,2,8,9]
-1003        pamda.median(data=data)
-1004        #=> 7.5
+            
 989    def median(self, data: list):
+ 990        """
+ 991        Function:
+ 992
+ 993        - Calculates the median of a given list
+ 994        - If the length of the list is even, calculates the mean of the two central values
+ 995
+ 996        Requires:
+ 997
+ 998        - `data`:
+ 999            - Type: list of (floats | ints)
+1000            - What: The list with wich to calculate the mean
+1001            - Note: If the length of this list is 0, returns None
+1002
+1003        Examples:
+1004
 1005        ```
-1006
-1007        ```
-1008        data=[7,8,9]
-1009        pamda.median(data=data)
-1010        #=> 8
+1006        data=[7,2,8,9]
+1007        pamda.median(data=data)
+1008        #=> 7.5
+1009        ```
+1010
 1011        ```
-1012
-1013        ```
-1014        data=[]
-1015        pamda.median(data=data)
-1016        #=> None
+1012        data=[7,8,9]
+1013        pamda.median(data=data)
+1014        #=> 8
+1015        ```
+1016
 1017        ```
-1018        """
-1019        if not isinstance(data, (list)):
-1020            raise Exception("`median` `data` must be a list")
-1021        length = len(data)
-1022        if length == 0:
-1023            return None
-1024        data = sorted(data)
-1025        if length % 2 == 0:
-1026            return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2
-1027        return data[int(length / 2)]
+1018        data=[]
+1019        pamda.median(data=data)
+1020        #=> None
+1021        ```
+1022        """
+1023        if not isinstance(data, (list)):
+1024            raise Exception("`median` `data` must be a list")
+1025        length = len(data)
+1026        if length == 0:
+1027            return None
+1028        data = sorted(data)
+1029        if length % 2 == 0:
+1030            return (data[int(length / 2)] + data[int(length / 2) - 1]) / 2
+1031        return data[int(length / 2)]
 
@@ -5901,48 +5909,48 @@

-
1029    def mergeDeep(self, update_data, data):
-1030        """
-1031        Function:
-1032
-1033        - Recursively merges two nested dictionaries keeping all keys at each layer
-1034        - Values from `update_data` are used when keys are present in both dictionaries
-1035
-1036        Requires:
-1037
-1038        - `update_data`:
-1039            - Type: any
-1040            - What: The new data that will take precedence during merging
-1041        - `data`:
-1042            - Type: any
-1043            - What: The original data that will be merged into
-1044
-1045        Example:
-1046
-1047        ```
-1048        data={'a':{'b':{'c':'d'},'e':'f'}}
-1049        update_data={'a':{'b':{'h':'i'},'e':'g'}}
-1050        pamda.mergeDeep(
-1051            update_data=update_data,
-1052            data=data
-1053        ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}}
-1054        ```
-1055        """
-1056        if not isinstance(data, dict) or not isinstance(update_data, dict):
-1057            return update_data
-1058        output = dict(data)
-1059        keys_original = set(data.keys())
-1060        keys_update = set(update_data.keys())
-1061        similar_keys = keys_original.intersection(keys_update)
-1062        similar_dict = {
-1063            key: self.mergeDeep(update_data[key], data[key])
-1064            for key in similar_keys
-1065        }
-1066        new_keys = keys_update.difference(keys_original)
-1067        new_dict = {key: update_data[key] for key in new_keys}
-1068        output.update(similar_dict)
-1069        output.update(new_dict)
-1070        return output
+            
1033    def mergeDeep(self, update_data, data):
+1034        """
+1035        Function:
+1036
+1037        - Recursively merges two nested dictionaries keeping all keys at each layer
+1038        - Values from `update_data` are used when keys are present in both dictionaries
+1039
+1040        Requires:
+1041
+1042        - `update_data`:
+1043            - Type: any
+1044            - What: The new data that will take precedence during merging
+1045        - `data`:
+1046            - Type: any
+1047            - What: The original data that will be merged into
+1048
+1049        Example:
+1050
+1051        ```
+1052        data={'a':{'b':{'c':'d'},'e':'f'}}
+1053        update_data={'a':{'b':{'h':'i'},'e':'g'}}
+1054        pamda.mergeDeep(
+1055            update_data=update_data,
+1056            data=data
+1057        ) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}}
+1058        ```
+1059        """
+1060        if not isinstance(data, dict) or not isinstance(update_data, dict):
+1061            return update_data
+1062        output = dict(data)
+1063        keys_original = set(data.keys())
+1064        keys_update = set(update_data.keys())
+1065        similar_keys = keys_original.intersection(keys_update)
+1066        similar_dict = {
+1067            key: self.mergeDeep(update_data[key], data[key])
+1068            for key in similar_keys
+1069        }
+1070        new_keys = keys_update.difference(keys_original)
+1071        new_dict = {key: update_data[key] for key in new_keys}
+1072        output.update(similar_dict)
+1073        output.update(new_dict)
+1074        return output
 
@@ -5992,55 +6000,55 @@

-
1072    def nest(self, path_keys: list, value_key: str, data: list):
-1073        """
-1074        Function:
-1075
-1076        - Nests a list of dictionaries into a nested dictionary
-1077        - Similar items are appended to a list in the end of the nested dictionary
-1078
-1079        Requires:
-1080
-1081        - `path_keys`:
-1082            - Type: list of strs
-1083            - What: The variables to pull from each item in data
-1084            - Note: Used to build out the nested dicitonary
-1085            - Note: Order matters as the nesting occurs in order of variable
-1086        - `value_key`:
-1087            - Type: str
-1088            - What: The variable to add to the list at the end of the nested dictionary path
-1089        - `data`:
-1090            - Type: list of dicts
-1091            - What: A list of dictionaries to use for nesting purposes
-1092
-1093        Example:
-1094
-1095        ```
-1096        data=[
-1097            {'x_1':'a','x_2':'b', 'output':'c'},
-1098            {'x_1':'a','x_2':'b', 'output':'d'},
-1099            {'x_1':'a','x_2':'e', 'output':'f'}
-1100        ]
-1101        pamda.nest(
-1102            path_keys=['x_1','x_2'],
-1103            value_key='output',
-1104            data=data
-1105        ) #=> {'a':{'b':['c','d'], 'e':['f']}}
-1106        ```
-1107        """
-1108        if not isinstance(data, list):
-1109            raise Exception("Attempting to `nest` an object that is not a list")
-1110        if len(data) == 0:
-1111            raise Exception("Attempting to `nest` from an empty list")
-1112        nested_output = {}
-1113        grouped_data = self.groupKeys(keys=path_keys, data=data)
-1114        for item in grouped_data:
-1115            nested_output = self.assocPath(
-1116                path = [item[0].get(key) for key in path_keys],
-1117                value = [i.get(value_key) for i in item],
-1118                data = nested_output
-1119            )
-1120        return nested_output
+            
1076    def nest(self, path_keys: list, value_key: str, data: list):
+1077        """
+1078        Function:
+1079
+1080        - Nests a list of dictionaries into a nested dictionary
+1081        - Similar items are appended to a list in the end of the nested dictionary
+1082
+1083        Requires:
+1084
+1085        - `path_keys`:
+1086            - Type: list of strs
+1087            - What: The variables to pull from each item in data
+1088            - Note: Used to build out the nested dicitonary
+1089            - Note: Order matters as the nesting occurs in order of variable
+1090        - `value_key`:
+1091            - Type: str
+1092            - What: The variable to add to the list at the end of the nested dictionary path
+1093        - `data`:
+1094            - Type: list of dicts
+1095            - What: A list of dictionaries to use for nesting purposes
+1096
+1097        Example:
+1098
+1099        ```
+1100        data=[
+1101            {'x_1':'a','x_2':'b', 'output':'c'},
+1102            {'x_1':'a','x_2':'b', 'output':'d'},
+1103            {'x_1':'a','x_2':'e', 'output':'f'}
+1104        ]
+1105        pamda.nest(
+1106            path_keys=['x_1','x_2'],
+1107            value_key='output',
+1108            data=data
+1109        ) #=> {'a':{'b':['c','d'], 'e':['f']}}
+1110        ```
+1111        """
+1112        if not isinstance(data, list):
+1113            raise Exception("Attempting to `nest` an object that is not a list")
+1114        if len(data) == 0:
+1115            raise Exception("Attempting to `nest` from an empty list")
+1116        nested_output = {}
+1117        grouped_data = self.groupKeys(keys=path_keys, data=data)
+1118        for item in grouped_data:
+1119            nested_output = self.assocPath(
+1120                path=[item[0].get(key) for key in path_keys],
+1121                value=[i.get(value_key) for i in item],
+1122                data=nested_output,
+1123            )
+1124        return nested_output
 
@@ -6101,54 +6109,54 @@

-
1122    def nestItem(self, path_keys: list, data: list):
-1123        """
-1124        Function:
-1125
-1126        - Nests a list of dictionaries into a nested dictionary
-1127        - Similar items are appended to a list in the end of the nested dictionary
-1128        - Similar to `nest`, except no values are plucked for the aggregated list
+            
1126    def nestItem(self, path_keys: list, data: list):
+1127        """
+1128        Function:
 1129
-1130        Requires:
-1131
-1132        - `path_keys`:
-1133            - Type: list of strs
-1134            - What: The variables to pull from each item in data
-1135            - Note: Used to build out the nested dicitonary
-1136            - Note: Order matters as the nesting occurs in order of variable
-1137        - `data`:
-1138            - Type: list of dicts
-1139            - What: A list of dictionaries to use for nesting purposes
-1140
-1141        Example:
-1142
-1143        ```
-1144        data=[
-1145            {'x_1':'a','x_2':'b'},
-1146            {'x_1':'a','x_2':'b'},
-1147            {'x_1':'a','x_2':'e'}
-1148        ]
-1149        pamda.nestItem
-1150            path_keys=['x_1','x_2'],
-1151            data=data
-1152        )
-1153        #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}}
-1154
-1155        ```
-1156        """
-1157        if not isinstance(data, list):
-1158            raise Exception("Attempting to `nest` an object that is not a list")
-1159        if len(data) == 0:
-1160            raise Exception("Attempting to `nest` from an empty list")
-1161        nested_output = {}
-1162        grouped_data = self.groupKeys(keys=path_keys, data=data)
-1163        for item in grouped_data:
-1164            nested_output = self.assocPath(
-1165                path = [item[0].get(key) for key in path_keys],
-1166                value = item,
-1167                data = nested_output
-1168            )
-1169        return nested_output
+1130        - Nests a list of dictionaries into a nested dictionary
+1131        - Similar items are appended to a list in the end of the nested dictionary
+1132        - Similar to `nest`, except no values are plucked for the aggregated list
+1133
+1134        Requires:
+1135
+1136        - `path_keys`:
+1137            - Type: list of strs
+1138            - What: The variables to pull from each item in data
+1139            - Note: Used to build out the nested dicitonary
+1140            - Note: Order matters as the nesting occurs in order of variable
+1141        - `data`:
+1142            - Type: list of dicts
+1143            - What: A list of dictionaries to use for nesting purposes
+1144
+1145        Example:
+1146
+1147        ```
+1148        data=[
+1149            {'x_1':'a','x_2':'b'},
+1150            {'x_1':'a','x_2':'b'},
+1151            {'x_1':'a','x_2':'e'}
+1152        ]
+1153        pamda.nestItem
+1154            path_keys=['x_1','x_2'],
+1155            data=data
+1156        )
+1157        #=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}}
+1158
+1159        ```
+1160        """
+1161        if not isinstance(data, list):
+1162            raise Exception("Attempting to `nest` an object that is not a list")
+1163        if len(data) == 0:
+1164            raise Exception("Attempting to `nest` from an empty list")
+1165        nested_output = {}
+1166        grouped_data = self.groupKeys(keys=path_keys, data=data)
+1167        for item in grouped_data:
+1168            nested_output = self.assocPath(
+1169                path=[item[0].get(key) for key in path_keys],
+1170                value=item,
+1171                data=nested_output,
+1172            )
+1173        return nested_output
 
@@ -6206,30 +6214,30 @@

-
1171    def path(self, path: [list, str], data: dict):
-1172        """
-1173        Function:
-1174
-1175        - Returns the value of a path within a nested dictionary or None if the path does not exist
-1176
-1177        Requires:
+            
1175    def path(self, path: [list, str], data: dict):
+1176        """
+1177        Function:
 1178
-1179        - `path`:
-1180            - Type: list of strs | str
-1181            - What: The path to pull given the data
-1182            - Note: If a string is passed, assumes a single item path list with that string
-1183        - `data`:
-1184            - Type: dict
-1185            - What: A dictionary to get the path from
-1186
-1187        Example:
-1188
-1189        ```
-1190        data={'a':{'b':1}}
-1191        pamda.path(path=['a','b'], data=data) #=> 1
-1192        ```
-1193        """
-1194        return self.pathOr(None, path, data)
+1179        - Returns the value of a path within a nested dictionary or None if the path does not exist
+1180
+1181        Requires:
+1182
+1183        - `path`:
+1184            - Type: list of strs | str
+1185            - What: The path to pull given the data
+1186            - Note: If a string is passed, assumes a single item path list with that string
+1187        - `data`:
+1188            - Type: dict
+1189            - What: A dictionary to get the path from
+1190
+1191        Example:
+1192
+1193        ```
+1194        data={'a':{'b':1}}
+1195        pamda.path(path=['a','b'], data=data) #=> 1
+1196        ```
+1197        """
+1198        return self.pathOr(None, path, data)
 
@@ -6275,37 +6283,37 @@

-
1196    def pathOr(self, default, path: [list, str], data: dict):
-1197        """
-1198        Function:
-1199
-1200        - Returns the value of a path within a nested dictionary or a default value if that path does not exist
-1201
-1202        Requires:
+            
1200    def pathOr(self, default, path: [list, str], data: dict):
+1201        """
+1202        Function:
 1203
-1204        - `default`:
-1205            - Type: any
-1206            - What: The object to return if the path does not exist
-1207        - `path`:
-1208            - Type: list of strs | str
-1209            - What: The path to pull given the data
-1210            - Note: If a string is passed, assumes a single item path list with that string
-1211        - `data`:
-1212            - Type: dict
-1213            - What: A dictionary to get the path from
-1214
-1215        Example:
-1216
-1217        ```
-1218        data={'a':{'b':1}}
-1219        pamda.path(default=2, path=['a','c'], data=data) #=> 2
-1220        ```
-1221        """
-1222        if isinstance(path, str):
-1223            path = [path]
-1224        return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get(
-1225            path[-1], default
-1226        )
+1204        - Returns the value of a path within a nested dictionary or a default value if that path does not exist
+1205
+1206        Requires:
+1207
+1208        - `default`:
+1209            - Type: any
+1210            - What: The object to return if the path does not exist
+1211        - `path`:
+1212            - Type: list of strs | str
+1213            - What: The path to pull given the data
+1214            - Note: If a string is passed, assumes a single item path list with that string
+1215        - `data`:
+1216            - Type: dict
+1217            - What: A dictionary to get the path from
+1218
+1219        Example:
+1220
+1221        ```
+1222        data={'a':{'b':1}}
+1223        pamda.path(default=2, path=['a','c'], data=data) #=> 2
+1224        ```
+1225        """
+1226        if isinstance(path, str):
+1227            path = [path]
+1228        return reduce(lambda x, y: x.get(y, {}), path[:-1], data).get(
+1229            path[-1], default
+1230        )
 
@@ -6356,56 +6364,56 @@

-
1228    def pipe(self, fns: list, args:tuple, kwargs:dict):
-1229        """
-1230        Function:
-1231
-1232        - Pipes data through n functions in order (left to right composition) and returns the output
-1233
-1234        Requires:
+            
1232    def pipe(self, fns: list, args: tuple, kwargs: dict):
+1233        """
+1234        Function:
 1235
-1236        - `fns`:
-1237            - Type: list of (functions | methods)
-1238            - What: The list of functions and methods to pipe the data through
-1239            - Notes: The first function in the list can be any arity (accepting any number of inputs)
-1240            - Notes: Any further function in the list can only be unary (single input)
-1241            - Notes: A function can be curried, but is not required to be
-1242            - Notes: You may opt to curry functions and add inputs to make them unary
-1243        - `args`:
-1244            - Type: tuple
-1245            - What: a tuple of positional arguments to pass to the first function in `fns`
-1246        - `kwargs`:
-1247            - Type: dict
-1248            - What: a dictionary of keyword arguments to pass to the first function in `fns`
-1249
-1250        Examples:
-1251
-1252        ```
-1253        data=['abc','def']
-1254        pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c'
-1255        pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c'
+1236        - Pipes data through n functions in order (left to right composition) and returns the output
+1237
+1238        Requires:
+1239
+1240        - `fns`:
+1241            - Type: list of (functions | methods)
+1242            - What: The list of functions and methods to pipe the data through
+1243            - Notes: The first function in the list can be any arity (accepting any number of inputs)
+1244            - Notes: Any further function in the list can only be unary (single input)
+1245            - Notes: A function can be curried, but is not required to be
+1246            - Notes: You may opt to curry functions and add inputs to make them unary
+1247        - `args`:
+1248            - Type: tuple
+1249            - What: a tuple of positional arguments to pass to the first function in `fns`
+1250        - `kwargs`:
+1251            - Type: dict
+1252            - What: a dictionary of keyword arguments to pass to the first function in `fns`
+1253
+1254        Examples:
+1255
 1256        ```
-1257
-1258        ```
-1259        data={'a':{'b':'c'}}
-1260        curriedPath=pamda.curry(pamda.path)
-1261        pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c'
+1257        data=['abc','def']
+1258        pamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c'
+1259        pamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c'
+1260        ```
+1261
 1262        ```
-1263        """
-1264        if len(fns) == 0:
-1265            raise Exception("`fns` must be a list with at least one function")
-1266        if self.getArity(fns[0]) == 0:
-1267            raise Exception(
-1268                "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0."
-1269            )
-1270        if not all([(self.getArity(fn) == 1) for fn in fns[1:]]):
+1263        data={'a':{'b':'c'}}
+1264        curriedPath=pamda.curry(pamda.path)
+1265        pamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c'
+1266        ```
+1267        """
+1268        if len(fns) == 0:
+1269            raise Exception("`fns` must be a list with at least one function")
+1270        if self.getArity(fns[0]) == 0:
 1271            raise Exception(
-1272                "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)."
+1272                "The first function in `fns` can have n arity (accepting n args), but this must be greater than 0."
 1273            )
-1274        out = fns[0](*args, **kwargs)
-1275        for fn in fns[1:]:
-1276            out = fn(out)
-1277        return out
+1274        if not all([(self.getArity(fn) == 1) for fn in fns[1:]]):
+1275            raise Exception(
+1276                "Only the first function in `fns` can have n arity (accept n args). All other functions must have an arity of one (accepting one argument)."
+1277            )
+1278        out = fns[0](*args, **kwargs)
+1279        for fn in fns[1:]:
+1280            out = fn(out)
+1281        return out
 
@@ -6465,32 +6473,32 @@

-
1279    def pluck(self, path: [list, str], data: list):
-1280        """
-1281        Function:
-1282
-1283        - Returns the values of a path within a list of nested dictionaries
-1284
-1285        Requires:
+            
1283    def pluck(self, path: [list, str], data: list):
+1284        """
+1285        Function:
 1286
-1287        - `path`:
-1288            - Type: list of strs
-1289            - What: The path to pull given the data
-1290            - Note: If a string is passed, assumes a single item path list with that string
-1291        - `data`:
-1292            - Type: list of dicts
-1293            - What: A list of dictionaries to get the path from
-1294
-1295        Example:
-1296
-1297        ```
-1298        data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]
-1299        pamda.pluck(path=['a','b'], data=data) #=> [1,2]
-1300        ```
-1301        """
-1302        if len(data) == 0:
-1303            raise Exception("Attempting to pluck from an empty list")
-1304        return [self.path(data=i, path=path) for i in data]
+1287        - Returns the values of a path within a list of nested dictionaries
+1288
+1289        Requires:
+1290
+1291        - `path`:
+1292            - Type: list of strs
+1293            - What: The path to pull given the data
+1294            - Note: If a string is passed, assumes a single item path list with that string
+1295        - `data`:
+1296            - Type: list of dicts
+1297            - What: A list of dictionaries to get the path from
+1298
+1299        Example:
+1300
+1301        ```
+1302        data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]
+1303        pamda.pluck(path=['a','b'], data=data) #=> [1,2]
+1304        ```
+1305        """
+1306        if len(data) == 0:
+1307            raise Exception("Attempting to pluck from an empty list")
+1308        return [self.path(data=i, path=path) for i in data]
 
@@ -6536,39 +6544,37 @@

-
1306    def pluckIf(
-1307        self, fn, path: [list, str], data: list
-1308    ):
-1309        """
-1310        Function:
-1311
-1312        - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value
+            
1310    def pluckIf(self, fn, path: [list, str], data: list):
+1311        """
+1312        Function:
 1313
-1314        Requires:
+1314        - Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value
 1315
-1316        - `fn`:
-1317            - Type: function
-1318            - What: A function to take in each item in data and return a boolean
-1319            - Note: Only items that return true are plucked
-1320        - `path`:
-1321            - Type: list of strs
-1322            - What: The path to pull given the data
-1323            - Note: If a string is passed, assumes a single item path list with that string
-1324        - `data`:
-1325            - Type: list of dicts
-1326            - What: A list of dictionary to get the path from
-1327
-1328        Example:
+1316        Requires:
+1317
+1318        - `fn`:
+1319            - Type: function
+1320            - What: A function to take in each item in data and return a boolean
+1321            - Note: Only items that return true are plucked
+1322        - `path`:
+1323            - Type: list of strs
+1324            - What: The path to pull given the data
+1325            - Note: If a string is passed, assumes a single item path list with that string
+1326        - `data`:
+1327            - Type: list of dicts
+1328            - What: A list of dictionary to get the path from
 1329
-1330        ```
+1330        Example:
 1331
-1332        data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]
-1333        pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d']
-1334        ```
-1335        """
-1336        if len(data) == 0:
-1337            raise Exception("Attempting to pluck from an empty list")
-1338        return [self.path(data=i, path=path) for i in data if fn(i)]
+1332        ```
+1333
+1334        data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]
+1335        pamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d']
+1336        ```
+1337        """
+1338        if len(data) == 0:
+1339            raise Exception("Attempting to pluck from an empty list")
+1340        return [self.path(data=i, path=path) for i in data if fn(i)]
 
@@ -6621,55 +6627,55 @@

-
1340    def reduce(self, fn, initial_accumulator, data: list):
-1341        """
-1342        Function:
-1343
-1344        - Returns a single item by iterating a function starting with an accumulator over a list
+            
1342    def reduce(self, fn, initial_accumulator, data: list):
+1343        """
+1344        Function:
 1345
-1346        Requires:
+1346        - Returns a single item by iterating a function starting with an accumulator over a list
 1347
-1348        - `fn`:
-1349            - Type: function | method
-1350            - What: The function or method to reduce
-1351            - Note: This function should have an arity of 2 (take two inputs)
-1352            - Note: The first input should take the accumulator value
-1353            - Note: The second input should take the data value
-1354        -`initial_accumulator`:
-1355            - Type: any
-1356            - What: The initial item to pass into the function when starting the accumulation process
-1357        - `data`:
-1358            - Type: list
-1359            - What: The list of items to iterate over
-1360
-1361        Example:
+1348        Requires:
+1349
+1350        - `fn`:
+1351            - Type: function | method
+1352            - What: The function or method to reduce
+1353            - Note: This function should have an arity of 2 (take two inputs)
+1354            - Note: The first input should take the accumulator value
+1355            - Note: The second input should take the data value
+1356        -`initial_accumulator`:
+1357            - Type: any
+1358            - What: The initial item to pass into the function when starting the accumulation process
+1359        - `data`:
+1360            - Type: list
+1361            - What: The list of items to iterate over
 1362
-1363        ```
-1364        data=[1,2,3,4]
-1365        pamda.reduce(
-1366            fn=pamda.add,
-1367            initial_accumulator=0,
-1368            data=data
-1369        )
-1370        #=> 10
-1371
-1372        ```
-1373        """
-1374        fn = self.curry(fn)
-1375        if fn.__arity__ != 2:
-1376            raise Exception(
-1377                "`reduce` `fn` must have an arity of 2 (take two inputs)"
-1378            )
-1379        if not isinstance(data, (list)):
-1380            raise Exception("`reduce` `data` must be a list")
-1381        if not len(data) > 0:
-1382            raise Exception(
-1383                "`reduce` `data` has a length of 0, however it must have a length of at least 1"
-1384            )
-1385        acc = initial_accumulator
-1386        for i in data:
-1387            acc = fn(acc, i)
-1388        return acc
+1363        Example:
+1364
+1365        ```
+1366        data=[1,2,3,4]
+1367        pamda.reduce(
+1368            fn=pamda.add,
+1369            initial_accumulator=0,
+1370            data=data
+1371        )
+1372        #=> 10
+1373
+1374        ```
+1375        """
+1376        fn = self.curry(fn)
+1377        if fn.__arity__ != 2:
+1378            raise Exception(
+1379                "`reduce` `fn` must have an arity of 2 (take two inputs)"
+1380            )
+1381        if not isinstance(data, (list)):
+1382            raise Exception("`reduce` `data` must be a list")
+1383        if not len(data) > 0:
+1384            raise Exception(
+1385                "`reduce` `data` has a length of 0, however it must have a length of at least 1"
+1386            )
+1387        acc = initial_accumulator
+1388        for i in data:
+1389            acc = fn(acc, i)
+1390        return acc
 
@@ -6726,30 +6732,30 @@

-
1390    def safeDivide(self, denominator: [int, float], a: [int, float]):
-1391        """
-1392        Function:
-1393
-1394        - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero
+            
1392    def safeDivide(self, denominator: [int, float], a: [int, float]):
+1393        """
+1394        Function:
 1395
-1396        Requires:
+1396        - Forces division to work by enforcing a denominator of 1 if the provided denominator is zero
 1397
-1398        - `denominator`:
-1399            - Type: int | float
-1400            - What: The denominator
-1401
-1402        - `a`:
-1403            - Type: int | float
-1404            - What: The numerator
-1405
-1406        Example:
+1398        Requires:
+1399
+1400        - `denominator`:
+1401            - Type: int | float
+1402            - What: The denominator
+1403
+1404        - `a`:
+1405            - Type: int | float
+1406            - What: The numerator
 1407
-1408        ```
-1409        pamda.safeDivide(2,10) #=> 5
-1410        pamda.safeDivide(0,10) #=> 10
-1411        ```
-1412        """
-1413        return a / denominator if denominator != 0 else a
+1408        Example:
+1409
+1410        ```
+1411        pamda.safeDivide(2,10) #=> 5
+1412        pamda.safeDivide(0,10) #=> 10
+1413        ```
+1414        """
+1415        return a / denominator if denominator != 0 else a
 
@@ -6796,42 +6802,42 @@

-
1415    def safeDivideDefault(
-1416        self,
-1417        default_denominator: [int, float],
-1418        denominator: [int, float],
-1419        a: [int, float],
-1420    ):
-1421        """
-1422        Function:
-1423
-1424        - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero
+            
1417    def safeDivideDefault(
+1418        self,
+1419        default_denominator: [int, float],
+1420        denominator: [int, float],
+1421        a: [int, float],
+1422    ):
+1423        """
+1424        Function:
 1425
-1426        Requires:
+1426        - Forces division to work by enforcing a non zero default denominator if the provided denominator is zero
 1427
-1428        - `default_denominator`:
-1429            - Type: int | float
-1430            - What: A non zero denominator to use if denominator is zero
-1431            - Default: 1
-1432        - `denominator`:
-1433            - Type: int | float
-1434            - What: The denominator
-1435        - `a`:
-1436            - Type: int | float
-1437            - What: The numerator
-1438
-1439        Example:
+1428        Requires:
+1429
+1430        - `default_denominator`:
+1431            - Type: int | float
+1432            - What: A non zero denominator to use if denominator is zero
+1433            - Default: 1
+1434        - `denominator`:
+1435            - Type: int | float
+1436            - What: The denominator
+1437        - `a`:
+1438            - Type: int | float
+1439            - What: The numerator
 1440
-1441        ```
-1442        pamda.safeDivideDefault(2,5,10) #=> 2
-1443        pamda.safeDivideDefault(2,0,10) #=> 5
-1444        ```
-1445        """
-1446        if default_denominator == 0:
-1447            raise Exception(
-1448                "`safeDivideDefault` `default_denominator` can not be 0"
-1449            )
-1450        return a / denominator if denominator != 0 else a / default_denominator
+1441        Example:
+1442
+1443        ```
+1444        pamda.safeDivideDefault(2,5,10) #=> 2
+1445        pamda.safeDivideDefault(2,0,10) #=> 5
+1446        ```
+1447        """
+1448        if default_denominator == 0:
+1449            raise Exception(
+1450                "`safeDivideDefault` `default_denominator` can not be 0"
+1451            )
+1452        return a / denominator if denominator != 0 else a / default_denominator
 
@@ -6882,30 +6888,30 @@

-
1452    def symmetricDifference(self, a: list, b: list):
-1453        """
-1454        Function:
-1455
-1456        - Combines two lists into a list of no duplicates items present in one list but not the other
+            
1454    def symmetricDifference(self, a: list, b: list):
+1455        """
+1456        Function:
 1457
-1458        Requires:
+1458        - Combines two lists into a list of no duplicates items present in one list but not the other
 1459
-1460        - `a`:
-1461            - Type: list
-1462            - What: List of items in which to look for a difference
-1463        - `b`:
-1464            - Type: list
-1465            - What: List of items in which to look for a difference
-1466
-1467        Example:
+1460        Requires:
+1461
+1462        - `a`:
+1463            - Type: list
+1464            - What: List of items in which to look for a difference
+1465        - `b`:
+1466            - Type: list
+1467            - What: List of items in which to look for a difference
 1468
-1469        ```
-1470        a=['a','b']
-1471        b=['b','c']
-1472        pamda.symmetricDifference(a=a, b=b) #=> ['a','c']
-1473        ```
-1474        """
-1475        return list(set(a).difference(set(b))) + list(set(b).difference(set(a)))
+1469        Example:
+1470
+1471        ```
+1472        a=['a','b']
+1473        b=['b','c']
+1474        pamda.symmetricDifference(a=a, b=b) #=> ['a','c']
+1475        ```
+1476        """
+1477        return list(set(a).difference(set(b))) + list(set(b).difference(set(a)))
 
@@ -6951,30 +6957,30 @@

-
1477    def tail(self, data: [str, list]):
-1478        """
-1479        Function:
-1480
-1481        - Picks the last item out of a list or string
+            
1479    def tail(self, data: [str, list]):
+1480        """
+1481        Function:
 1482
-1483        Requires:
+1483        - Picks the last item out of a list or string
 1484
-1485        - `data`:
-1486            - Type: list | str
-1487            - What: A list or string
-1488
-1489        Example:
+1485        Requires:
+1486
+1487        - `data`:
+1488            - Type: list | str
+1489            - What: A list or string
 1490
-1491        ```
-1492        data=['fe','fi','fo','fum']
-1493        pamda.tail(
-1494            data=data
-1495        ) #=> fum
-1496        ```
-1497        """
-1498        if not len(data) > 0:
-1499            raise Exception("Attempting to call `tail` on an empty list or str")
-1500        return data[-1]
+1491        Example:
+1492
+1493        ```
+1494        data=['fe','fi','fo','fum']
+1495        pamda.tail(
+1496            data=data
+1497        ) #=> fum
+1498        ```
+1499        """
+1500        if not len(data) > 0:
+1501            raise Exception("Attempting to call `tail` on an empty list or str")
+1502        return data[-1]
 
@@ -7016,58 +7022,58 @@

-
1502    def thunkify(self, fn):
-1503        """
-1504        Function:
-1505
-1506        - Creates a curried thunk out of a function
-1507        - Evaluation of the thunk lazy and is delayed until called
-1508
-1509        Requires:
+            
1504    def thunkify(self, fn):
+1505        """
+1506        Function:
+1507
+1508        - Creates a curried thunk out of a function
+1509        - Evaluation of the thunk lazy and is delayed until called
 1510
-1511        - `fn`:
-1512            - Type: function | method
-1513            - What: The function or method to thunkify
-1514            - Note: Thunkified functions are automatically curried
-1515            - Note: Class methods auto apply self during thunkify
-1516
-1517        Notes:
+1511        Requires:
+1512
+1513        - `fn`:
+1514            - Type: function | method
+1515            - What: The function or method to thunkify
+1516            - Note: Thunkified functions are automatically curried
+1517            - Note: Class methods auto apply self during thunkify
 1518
-1519        - Input functions are not thunkified in place
-1520        - The returned function is a thunkified version of the input function
-1521        - A curried function can be thunkified in place by calling fn.thunkify()
-1522
-1523        Examples:
+1519        Notes:
+1520
+1521        - Input functions are not thunkified in place
+1522        - The returned function is a thunkified version of the input function
+1523        - A curried function can be thunkified in place by calling fn.thunkify()
 1524
-1525        ```
-1526        def add(a,b):
-1527            return a+b
-1528
-1529        addThunk=pamda.thunkify(add)
+1525        Examples:
+1526
+1527        ```
+1528        def add(a,b):
+1529            return a+b
 1530
-1531        add(1,2) #=> 3
-1532        addThunk(1,2)
-1533        addThunk(1,2)() #=> 3
-1534
-1535        x=addThunk(1,2)
-1536        x() #=> 3
-1537        ```
-1538
+1531        addThunk=pamda.thunkify(add)
+1532
+1533        add(1,2) #=> 3
+1534        addThunk(1,2)
+1535        addThunk(1,2)() #=> 3
+1536
+1537        x=addThunk(1,2)
+1538        x() #=> 3
 1539        ```
-1540        @pamda.curry
-1541        def add(a,b):
-1542            return a+b
-1543
-1544        add(1,2) #=> 3
+1540
+1541        ```
+1542        @pamda.curry
+1543        def add(a,b):
+1544            return a+b
 1545
-1546        add.thunkify()
+1546        add(1,2) #=> 3
 1547
-1548        add(1,2)
-1549        add(1,2)() #=> 3
-1550        ```
-1551        """
-1552        fn = self.curry(fn)
-1553        return fn.thunkify()
+1548        add.thunkify()
+1549
+1550        add(1,2)
+1551        add(1,2)() #=> 3
+1552        ```
+1553        """
+1554        fn = self.curry(fn)
+1555        return fn.thunkify()
 
@@ -7139,36 +7145,36 @@

-
1555    def unnest(self, data: list):
-1556        """
-1557        Function:
-1558
-1559        - Removes one level of depth for all items in a list
+            
1557    def unnest(self, data: list):
+1558        """
+1559        Function:
 1560
-1561        Requires:
+1561        - Removes one level of depth for all items in a list
 1562
-1563        - `data`:
-1564            - Type: list
-1565            - What: A list of items to unnest by one level
-1566
-1567        Examples:
+1563        Requires:
+1564
+1565        - `data`:
+1566            - Type: list
+1567            - What: A list of items to unnest by one level
 1568
-1569        ```
-1570        data=['fe','fi',['fo',['fum']]]
-1571        pamda.unnest(
-1572            data=data
-1573        ) #=> ['fe','fi','fo',['fum']]
-1574        ```
-1575        """
-1576        if not len(data) > 0:
-1577            raise Exception("Attempting to call `unnest` on an empty list")
-1578        output = []
-1579        for i in data:
-1580            if isinstance(i, list):
-1581                output += i
-1582            else:
-1583                output.append(i)
-1584        return output
+1569        Examples:
+1570
+1571        ```
+1572        data=['fe','fi',['fo',['fum']]]
+1573        pamda.unnest(
+1574            data=data
+1575        ) #=> ['fe','fi','fo',['fum']]
+1576        ```
+1577        """
+1578        if not len(data) > 0:
+1579            raise Exception("Attempting to call `unnest` on an empty list")
+1580        output = []
+1581        for i in data:
+1582            if isinstance(i, list):
+1583                output += i
+1584            else:
+1585                output.append(i)
+1586        return output
 
@@ -7210,30 +7216,30 @@

-
1586    def zip(self, a: list, b: list):
-1587        """
-1588        Function:
-1589
-1590        - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists
+            
1588    def zip(self, a: list, b: list):
+1589        """
+1590        Function:
 1591
-1592        Requires:
+1592        - Creates a new list out of the two supplied by pairing up equally-positioned items from both lists
 1593
-1594        - `a`:
-1595            - Type: list
-1596            - What: List of items to appear in new list first
-1597        - `b`:
-1598            - Type: list
-1599            - What: List of items to appear in new list second
-1600
-1601        Example:
+1594        Requires:
+1595
+1596        - `a`:
+1597            - Type: list
+1598            - What: List of items to appear in new list first
+1599        - `b`:
+1600            - Type: list
+1601            - What: List of items to appear in new list second
 1602
-1603        ```
-1604        a=['a','b']
-1605        b=[1,2]
-1606        pamda.zip(a=a, b=b) #=> [['a',1],['b',2]]
-1607        ```
-1608        """
-1609        return [list(item) for item in zip(a, b)]
+1603        Example:
+1604
+1605        ```
+1606        a=['a','b']
+1607        b=[1,2]
+1608        pamda.zip(a=a, b=b) #=> [['a',1],['b',2]]
+1609        ```
+1610        """
+1611        return [list(item) for item in zip(a, b)]
 
@@ -7279,31 +7285,31 @@

-
1611    def zipObj(self, a: list, b: list):
-1612        """
-1613        Function:
-1614
-1615        - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists
-1616        - The first list represents keys and the second values
-1617
-1618        Requires:
+            
1613    def zipObj(self, a: list, b: list):
+1614        """
+1615        Function:
+1616
+1617        - Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists
+1618        - The first list represents keys and the second values
 1619
-1620        - `a`:
-1621            - Type: list
-1622            - What: List of items to appear in new list first
-1623        - `b`:
-1624            - Type: list
-1625            - What: List of items to appear in new list second
-1626
-1627        Example:
+1620        Requires:
+1621
+1622        - `a`:
+1623            - Type: list
+1624            - What: List of items to appear in new list first
+1625        - `b`:
+1626            - Type: list
+1627            - What: List of items to appear in new list second
 1628
-1629        ```
-1630        a=['a','b']
-1631        b=[1,2]
-1632        pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2}
-1633        ```
-1634        """
-1635        return dict(zip(a, b))
+1629        Example:
+1630
+1631        ```
+1632        a=['a','b']
+1633        b=[1,2]
+1634        pamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2}
+1635        ```
+1636        """
+1637        return dict(zip(a, b))
 
diff --git a/docs/pamda/pamda_curry.html b/docs/pamda/pamda_curry.html index 3320e19..5c79bb5 100644 --- a/docs/pamda/pamda_curry.html +++ b/docs/pamda/pamda_curry.html @@ -166,7 +166,7 @@

89 args.insert(flip, arg) 90 return tuple(args) 91 - 92 def __exception__(self, message, depth=0): + 92 def __exception__(self, message): 93 pre_message = ( 94 f"({self.__fn__.__module__}.{self.__fn__.__qualname__}_curried): " 95 ) @@ -300,7 +300,7 @@

90 args.insert(flip, arg) 91 return tuple(args) 92 - 93 def __exception__(self, message, depth=0): + 93 def __exception__(self, message): 94 pre_message = ( 95 f"({self.__fn__.__module__}.{self.__fn__.__qualname__}_curried): " 96 ) diff --git a/docs/pamda/pamda_timer.html b/docs/pamda/pamda_timer.html index 1ece9e5..c9677c7 100644 --- a/docs/pamda/pamda_timer.html +++ b/docs/pamda/pamda_timer.html @@ -60,48 +60,47 @@

-
 1from pamda.pamda_curry import curry_obj
- 2from functools import update_wrapper
- 3import time
- 4
- 5class pamda_timer:
- 6    def __init__(self, __fn__):
- 7        """
- 8        Function:
- 9
-10        Initialize a pamda_timer object. 
-11        - Note: This object is used for bare minimum in script timing purposes.
-12
-13        Required:
-14
-15        - `fn`:
-16            - Type: function | method
-17            - What: The name of the process being timed
-18        """
-19        self.__fn__ = __fn__
-20
-21    def __call__(self, *args, **kwargs):
-22        """
-23        Function:
-24
-25        Test the function processing time.
-26
-27        Optional:
-28
-29        - `args`:
-30            - Type: any
-31            - What: The arguments to pass to the function
-32        - `kwargs`:
-33            - Type: any
-34            - What: The keyword arguments to pass to the function
-35        """
-36        start = time.time()
-37        out = self.__fn__(*args, **kwargs)
-38        print(f"{self.__fn__.__qualname__}: {round(time.time() - start,4)}s")
-39        return out
-40
-41    def __repr__(self):
-42        return f"<timed {self.__fn__.__module__}.{self.__fn__.__qualname__} object at {hex(id(self))}>"
+                        
 1import time
+ 2
+ 3
+ 4class pamda_timer:
+ 5    def __init__(self, __fn__):
+ 6        """
+ 7        Function:
+ 8
+ 9        Initialize a pamda_timer object.
+10        - Note: This object is used for bare minimum in script timing purposes.
+11
+12        Required:
+13
+14        - `fn`:
+15            - Type: function | method
+16            - What: The name of the process being timed
+17        """
+18        self.__fn__ = __fn__
+19
+20    def __call__(self, *args, **kwargs):
+21        """
+22        Function:
+23
+24        Test the function processing time.
+25
+26        Optional:
+27
+28        - `args`:
+29            - Type: any
+30            - What: The arguments to pass to the function
+31        - `kwargs`:
+32            - Type: any
+33            - What: The keyword arguments to pass to the function
+34        """
+35        start = time.time()
+36        out = self.__fn__(*args, **kwargs)
+37        print(f"{self.__fn__.__qualname__}: {round(time.time() - start,4)}s")
+38        return out
+39
+40    def __repr__(self):
+41        return f"<timed {self.__fn__.__module__}.{self.__fn__.__qualname__} object at {hex(id(self))}>"
 
@@ -117,44 +116,44 @@

-
 6class pamda_timer:
- 7    def __init__(self, __fn__):
- 8        """
- 9        Function:
-10
-11        Initialize a pamda_timer object. 
-12        - Note: This object is used for bare minimum in script timing purposes.
-13
-14        Required:
-15
-16        - `fn`:
-17            - Type: function | method
-18            - What: The name of the process being timed
-19        """
-20        self.__fn__ = __fn__
-21
-22    def __call__(self, *args, **kwargs):
-23        """
-24        Function:
-25
-26        Test the function processing time.
-27
-28        Optional:
-29
-30        - `args`:
-31            - Type: any
-32            - What: The arguments to pass to the function
-33        - `kwargs`:
-34            - Type: any
-35            - What: The keyword arguments to pass to the function
-36        """
-37        start = time.time()
-38        out = self.__fn__(*args, **kwargs)
-39        print(f"{self.__fn__.__qualname__}: {round(time.time() - start,4)}s")
-40        return out
-41
-42    def __repr__(self):
-43        return f"<timed {self.__fn__.__module__}.{self.__fn__.__qualname__} object at {hex(id(self))}>"
+            
 5class pamda_timer:
+ 6    def __init__(self, __fn__):
+ 7        """
+ 8        Function:
+ 9
+10        Initialize a pamda_timer object.
+11        - Note: This object is used for bare minimum in script timing purposes.
+12
+13        Required:
+14
+15        - `fn`:
+16            - Type: function | method
+17            - What: The name of the process being timed
+18        """
+19        self.__fn__ = __fn__
+20
+21    def __call__(self, *args, **kwargs):
+22        """
+23        Function:
+24
+25        Test the function processing time.
+26
+27        Optional:
+28
+29        - `args`:
+30            - Type: any
+31            - What: The arguments to pass to the function
+32        - `kwargs`:
+33            - Type: any
+34            - What: The keyword arguments to pass to the function
+35        """
+36        start = time.time()
+37        out = self.__fn__(*args, **kwargs)
+38        print(f"{self.__fn__.__qualname__}: {round(time.time() - start,4)}s")
+39        return out
+40
+41    def __repr__(self):
+42        return f"<timed {self.__fn__.__module__}.{self.__fn__.__qualname__} object at {hex(id(self))}>"
 
@@ -170,26 +169,26 @@

-
 7    def __init__(self, __fn__):
- 8        """
- 9        Function:
-10
-11        Initialize a pamda_timer object. 
-12        - Note: This object is used for bare minimum in script timing purposes.
-13
-14        Required:
-15
-16        - `fn`:
-17            - Type: function | method
-18            - What: The name of the process being timed
-19        """
-20        self.__fn__ = __fn__
+            
 6    def __init__(self, __fn__):
+ 7        """
+ 8        Function:
+ 9
+10        Initialize a pamda_timer object.
+11        - Note: This object is used for bare minimum in script timing purposes.
+12
+13        Required:
+14
+15        - `fn`:
+16            - Type: function | method
+17            - What: The name of the process being timed
+18        """
+19        self.__fn__ = __fn__
 

Function:

-

Initialize a pamda_timer object.

+

Initialize a pamda_timer object.

  • Note: This object is used for bare minimum in script timing purposes.
  • diff --git a/docs/pamda/pamda_utils.html b/docs/pamda/pamda_utils.html index e78ff79..ef32579 100644 --- a/docs/pamda/pamda_utils.html +++ b/docs/pamda/pamda_utils.html @@ -86,214 +86,271 @@

    9 ###################### 10 # Data Handling 11 def read_csv( - 12 filename: str, return_dict: bool = True, cast_items:bool = True, cast_dict: [dict, None] = None - 13 ): - 14 """ - 15 Function: - 16 - 17 - Reads the contents of a csv and converts it to list of dicts or list of lists - 18 - Note: The csv must have a header row indicating the names of each column - 19 - 20 Requires: - 21 - 22 - `filename`: - 23 - Type: str - 24 - What: The filepath of the csv to read + 12 filename: str, + 13 return_dict: bool = True, + 14 cast_items: bool = True, + 15 cast_dict: [dict, None] = None, + 16 return_type: [str, None] = None, + 17 ): + 18 """ + 19 Function: + 20 + 21 - Reads the contents of a csv and converts it to list of dicts or list of lists + 22 - Note: The csv must have a header row indicating the names of each column + 23 + 24 Requires: 25 - 26 Optional: - 27 - 28 - `return_dict`: - 29 - Type: bool - 30 - What: Flag to indicate if the csv should be converted to: - 31 - True: list of dicts (with each key being the associated column header) - 32 - False: list of lists (with the first row being the headers) - 33 - Default: True - 34 - `cast_items`: - 35 - Type: bool - 36 - What: Flag to indicate if an attempt to cast each item to a proper type - 37 - Default: True - 38 - Note: This is useful for converting strings to ints, floats, etc. - 39 - Note: This works in conjunction with `cast_dict` - 40 - If `cast_dict` is not None, then an automated attempt to cast the items will be made - 41 - `cast_dict`: - 42 - Type: dict - 43 - What: A dictionary of functions to cast each column (by name) in the csv - 44 - Default: None - 45 - Note: Unspecified column names will be treated as strings - 46 - Note: `cast_items` must be `True` to use this - 47 - EG: { - 48 'user_id': lambda x: int(x), - 49 'year': lambda x: int(x), - 50 'pass': lambda x: x.lower()=='true', - 51 } - 52 """ - 53 with open(filename) as f: - 54 file_data = csv.reader(f, delimiter=",", quotechar='"') - 55 headers = next(file_data) - 56 if cast_items: - 57 if cast_dict is not None: - 58 def cast(obj, name): - 59 return cast_dict.get(name, lambda x: x)(obj) - 60 else: - 61 def cast(obj, name): - 62 if not isinstance(obj, str): - 63 return obj - 64 if obj == "" or obj.lower() == 'none' or obj.lower() == 'null': - 65 return None - 66 if obj.lower() == "true": - 67 return True - 68 if obj.lower() == "false": - 69 return False - 70 try: - 71 float_obj = float(obj) - 72 return int(float_obj) if float_obj == int(float_obj) else float_obj - 73 except: - 74 return obj - 75 data = [{header:cast(item,header) for header, item in zip(headers, row)} for row in file_data] - 76 else: - 77 data = [dict(zip(headers, row)) for row in file_data] - 78 if return_dict: - 79 return data - 80 else: - 81 return [headers]+[list(item.values()) for item in data] - 82 - 83 def write_csv(filename: str, data): - 84 """ - 85 Function: - 86 - 87 - Writes the contents of a list of list or list of dicts to a csv - 88 - 89 Requires: - 90 - 91 - `filename`: - 92 - Type: str - 93 - What: The filepath of the csv to read - 94 - `data`: - 95 - Type: list of lists | list of dicts - 96 - What: The data to write - 97 """ - 98 with open(filename, "w") as f: - 99 if isinstance(data[0], dict): -100 writer = csv.DictWriter(f, fieldnames=data[0].keys()) -101 writer.writeheader() -102 for row in data: -103 writer.writerow(row) -104 elif isinstance(data[0], list): -105 writer = csv.writer(f) -106 for row in data: -107 writer.writerow(row) -108 else: -109 raise Exception( -110 "`write_csv` takes in list of lists or list of dicts only." -111 ) -112 -113 def read_json(filename: str): -114 """ -115 Function: -116 -117 - Reads the contents of a json -118 -119 Requires: -120 - `filename`: -121 - Type: str -122 - What: The filepath of the json to read -123 """ -124 const_map = { -125 "-Infinity": float("-Infinity"), -126 "Infinity": float("Infinity"), -127 "NaN": None, -128 } -129 with open(filename) as f: -130 return json.load(f, parse_constant=lambda x: const_map[x]) -131 -132 def write_json(filename: str, data, pretty: bool = False): -133 """ -134 Function: -135 -136 - Writes the contents of a list of list or list of dicts to a json -137 -138 Requires: + 26 - `filename`: + 27 - Type: str + 28 - What: The filepath of the csv to read + 29 - Note: The first row of the csv must be the header row + 30 + 31 Optional: + 32 + 33 - `return_dict`: + 34 - Type: bool + 35 - What: Flag to indicate if the csv should be converted to: + 36 - True: list of dicts (with each key being the associated column header) + 37 - False: list of lists (with the first row being the headers) + 38 - Default: True + 39 - Notes: + 40 - This has been deprecated in favor of `return_type` + 41 - This has been kept for backwards compatibility + 42 - If return_type is specified, this will be ignored + 43 - `return_type`: + 44 - Type: str + 45 - Options: + 46 - `list_of_dicts` (default if `return_dict` is True) + 47 - A list of dictionaries with each key being the associated column header + 48 - `dict_of_lists` + 49 - A dictionary of lists with each key being the associated column header and each value being a list of the values in that column + 50 - `list_of_row_lists` + 51 - A list of lists (records) with each row being a list of the values in that row + 52 - The first row is the header row + 53 - `list_of_col_lists` + 54 - A list of lists (columns) with each column being a list of the values in that column + 55 - The first item in each sublist is the header for that column + 56 - `cast_items`: + 57 - Type: bool + 58 - What: Flag to indicate if an attempt to cast each item to a proper type + 59 - Default: True + 60 - Note: This is useful for converting strings to ints, floats, etc. + 61 - Note: This works in conjunction with `cast_dict` + 62 - If `cast_dict` is not None, then an automated attempt to cast the items will be made + 63 - For automated casting, the following rules are applied to each item in the data: + 64 - If the item is a string: + 65 - If the string is empty, `None` will be returned + 66 - If the string is "None" or "null", `None` will be returned + 67 - If the string is "True" or "true", `True` will be returned + 68 - If the string is "False" or "false", `False` will be returned + 69 - If the string is a valid float, the float will be returned + 70 - If the string is a valid int, the int will be returned + 71 - Otherwise, the string will be returned + 72 - If the item is not a string, it will be returned as is + 73 - `cast_dict`: + 74 - Type: dict + 75 - What: A dictionary of functions to cast each column (by name) in the csv + 76 - Default: None + 77 - Note: Unspecified column names will be treated as strings + 78 - Note: `cast_items` must be `True` to use this + 79 - EG: { + 80 'user_id': lambda x: int(x), + 81 'year': lambda x: int(x), + 82 'pass': lambda x: x.lower()=='true', + 83 } + 84 """ + 85 assert return_type in [ + 86 None, + 87 "list_of_dicts", + 88 "dict_of_lists", + 89 "list_of_row_lists", + 90 "list_of_col_lists", + 91 ], f"Invalid return_type: {return_type}" + 92 with open(filename) as f: + 93 file_data = csv.reader(f, delimiter=",", quotechar='"') + 94 headers = next(file_data) + 95 data = list(zip(*[row for row in file_data])) + 96 if cast_items: + 97 if cast_dict is not None: + 98 for idx, header in enumerate(headers): + 99 cast_fn = cast_dict.get(header, lambda x: x) +100 data[idx] = [cast_fn(item) for item in data[idx]] +101 else: +102 +103 def cast(obj): +104 if not isinstance(obj, str): +105 return obj +106 obj_lower = obj.lower() +107 if obj == "" or obj_lower == "none" or obj_lower == "null": +108 return None +109 if obj_lower == "true": +110 return True +111 if obj_lower == "false": +112 return False +113 try: +114 float_obj = float(obj) +115 return ( +116 int(float_obj) +117 if float_obj == int(float_obj) +118 else float_obj +119 ) +120 except: +121 return obj +122 +123 for idx, header in enumerate(headers): +124 data[idx] = [cast(item) for item in data[idx]] +125 # Maintain backwards compatibility +126 # TODO: Deprecate this in the next major release +127 if return_type == None: +128 return_type = ( +129 "list_of_dicts" if return_dict else "list_of_row_lists" +130 ) +131 if return_type == "list_of_dicts": +132 return [dict(zip(headers, row)) for row in zip(*data)] +133 elif return_type == "dict_of_lists": +134 return {header: col for header, col in zip(headers, data)} +135 elif return_type == "list_of_row_lists": +136 return [headers] + [list(row) for row in zip(*data)] +137 elif return_type == "list_of_col_lists": +138 return [[header] + list(col) for header, col in zip(headers, data)] 139 -140 - `filename`: -141 - Type: str -142 - What: The filepath of the json to write -143 - `data`: -144 - Type: A json serializable python object -145 - What: The data to write -146 """ -147 with open(filename, "w") as f: -148 if pretty: -149 json.dump(data, f, indent=4) -150 else: -151 json.dump(data, f) -152 -153 ###################### -154 # Helpful Functions -155 def getMethods(object): -156 """ -157 Function: -158 -159 - Returns the callable methods of a class (dunder-excluded) as a list of strs -160 -161 Requires: -162 -163 - `object`: -164 - Type: any -165 - What: Any python object -166 - Default: 1 -167 -168 Example: +140 def write_csv(filename: str, data): +141 """ +142 Function: +143 +144 - Writes the contents of a list of list or list of dicts to a csv +145 +146 Requires: +147 +148 - `filename`: +149 - Type: str +150 - What: The filepath of the csv to read +151 - `data`: +152 - Type: list of lists | list of dicts +153 - What: The data to write +154 """ +155 with open(filename, "w") as f: +156 if isinstance(data[0], dict): +157 writer = csv.DictWriter(f, fieldnames=data[0].keys()) +158 writer.writeheader() +159 for row in data: +160 writer.writerow(row) +161 elif isinstance(data[0], list): +162 writer = csv.writer(f) +163 for row in data: +164 writer.writerow(row) +165 else: +166 raise Exception( +167 "`write_csv` takes in list of lists or list of dicts only." +168 ) 169 -170 ``` -171 class MyClass: -172 def A(self): -173 pass -174 -175 def B(self): -176 pass -177 -178 -179 pamda.getMethods(MyClass) #=> ['A', 'B'] -180 ``` -181 """ -182 return [ -183 fn -184 for fn in dir(object) -185 if callable(getattr(object, fn)) and not fn.startswith("__") -186 ] -187 -188 def getForceDict(object: [dict, list], key: [str, int]): -189 """ -190 Function: -191 -192 - Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list) -193 - Note: This updates the object in place to force the value from the key to be a dictionary +170 def read_json(filename: str): +171 """ +172 Function: +173 +174 - Reads the contents of a json +175 +176 Requires: +177 - `filename`: +178 - Type: str +179 - What: The filepath of the json to read +180 """ +181 const_map = { +182 "-Infinity": float("-Infinity"), +183 "Infinity": float("Infinity"), +184 "NaN": None, +185 } +186 with open(filename) as f: +187 return json.load(f, parse_constant=lambda x: const_map[x]) +188 +189 def write_json(filename: str, data, pretty: bool = False): +190 """ +191 Function: +192 +193 - Writes the contents of a list of list or list of dicts to a json 194 195 Requires: 196 -197 - `object`: -198 - Type: dict | list -199 - What: The object from which to look for a key or index -200 - `key`: -201 - Type: str | int -202 - What: The key or index to look up in the object -203 -204 Example: -205 -206 ``` -207 data = {'a':{}, 'b':1, 'c':[]} -208 -209 pamda.getForceDict(data, 'a') #=> {} -210 pamda.getForceDict(data, 'b') #=> {} -211 pamda.getForceDict(data, 'c') #=> [] -212 -213 # Note that the object has been updated in place -214 data #=> {'a':{}, 'b':{}, 'c':[]} -215 ``` -216 """ -217 if not isinstance(object.get(key), (dict, list)): -218 object.__setitem__(key, {}) -219 return object.get(key) +197 - `filename`: +198 - Type: str +199 - What: The filepath of the json to write +200 - `data`: +201 - Type: A json serializable python object +202 - What: The data to write +203 """ +204 with open(filename, "w") as f: +205 if pretty: +206 json.dump(data, f, indent=4) +207 else: +208 json.dump(data, f) +209 +210 ###################### +211 # Helpful Functions +212 def getMethods(object): +213 """ +214 Function: +215 +216 - Returns the callable methods of a class (dunder-excluded) as a list of strs +217 +218 Requires: +219 +220 - `object`: +221 - Type: any +222 - What: Any python object +223 - Default: 1 +224 +225 Example: +226 +227 ``` +228 class MyClass: +229 def A(self): +230 pass +231 +232 def B(self): +233 pass +234 +235 +236 pamda.getMethods(MyClass) #=> ['A', 'B'] +237 ``` +238 """ +239 return [ +240 fn +241 for fn in dir(object) +242 if callable(getattr(object, fn)) and not fn.startswith("__") +243 ] +244 +245 def getForceDict(object: [dict, list], key: [str, int]): +246 """ +247 Function: +248 +249 - Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list) +250 - Note: This updates the object in place to force the value from the key to be a dictionary +251 +252 Requires: +253 +254 - `object`: +255 - Type: dict | list +256 - What: The object from which to look for a key or index +257 - `key`: +258 - Type: str | int +259 - What: The key or index to look up in the object +260 +261 Example: +262 +263 ``` +264 data = {'a':{}, 'b':1, 'c':[]} +265 +266 pamda.getForceDict(data, 'a') #=> {} +267 pamda.getForceDict(data, 'b') #=> {} +268 pamda.getForceDict(data, 'c') #=> [] +269 +270 # Note that the object has been updated in place +271 data #=> {'a':{}, 'b':{}, 'c':[]} +272 ``` +273 """ +274 if not isinstance(object.get(key), (dict, list)): +275 object.__setitem__(key, {}) +276 return object.get(key)

@@ -317,214 +374,271 @@

10 ###################### 11 # Data Handling 12 def read_csv( - 13 filename: str, return_dict: bool = True, cast_items:bool = True, cast_dict: [dict, None] = None - 14 ): - 15 """ - 16 Function: - 17 - 18 - Reads the contents of a csv and converts it to list of dicts or list of lists - 19 - Note: The csv must have a header row indicating the names of each column - 20 - 21 Requires: - 22 - 23 - `filename`: - 24 - Type: str - 25 - What: The filepath of the csv to read + 13 filename: str, + 14 return_dict: bool = True, + 15 cast_items: bool = True, + 16 cast_dict: [dict, None] = None, + 17 return_type: [str, None] = None, + 18 ): + 19 """ + 20 Function: + 21 + 22 - Reads the contents of a csv and converts it to list of dicts or list of lists + 23 - Note: The csv must have a header row indicating the names of each column + 24 + 25 Requires: 26 - 27 Optional: - 28 - 29 - `return_dict`: - 30 - Type: bool - 31 - What: Flag to indicate if the csv should be converted to: - 32 - True: list of dicts (with each key being the associated column header) - 33 - False: list of lists (with the first row being the headers) - 34 - Default: True - 35 - `cast_items`: - 36 - Type: bool - 37 - What: Flag to indicate if an attempt to cast each item to a proper type - 38 - Default: True - 39 - Note: This is useful for converting strings to ints, floats, etc. - 40 - Note: This works in conjunction with `cast_dict` - 41 - If `cast_dict` is not None, then an automated attempt to cast the items will be made - 42 - `cast_dict`: - 43 - Type: dict - 44 - What: A dictionary of functions to cast each column (by name) in the csv - 45 - Default: None - 46 - Note: Unspecified column names will be treated as strings - 47 - Note: `cast_items` must be `True` to use this - 48 - EG: { - 49 'user_id': lambda x: int(x), - 50 'year': lambda x: int(x), - 51 'pass': lambda x: x.lower()=='true', - 52 } - 53 """ - 54 with open(filename) as f: - 55 file_data = csv.reader(f, delimiter=",", quotechar='"') - 56 headers = next(file_data) - 57 if cast_items: - 58 if cast_dict is not None: - 59 def cast(obj, name): - 60 return cast_dict.get(name, lambda x: x)(obj) - 61 else: - 62 def cast(obj, name): - 63 if not isinstance(obj, str): - 64 return obj - 65 if obj == "" or obj.lower() == 'none' or obj.lower() == 'null': - 66 return None - 67 if obj.lower() == "true": - 68 return True - 69 if obj.lower() == "false": - 70 return False - 71 try: - 72 float_obj = float(obj) - 73 return int(float_obj) if float_obj == int(float_obj) else float_obj - 74 except: - 75 return obj - 76 data = [{header:cast(item,header) for header, item in zip(headers, row)} for row in file_data] - 77 else: - 78 data = [dict(zip(headers, row)) for row in file_data] - 79 if return_dict: - 80 return data - 81 else: - 82 return [headers]+[list(item.values()) for item in data] - 83 - 84 def write_csv(filename: str, data): - 85 """ - 86 Function: - 87 - 88 - Writes the contents of a list of list or list of dicts to a csv - 89 - 90 Requires: - 91 - 92 - `filename`: - 93 - Type: str - 94 - What: The filepath of the csv to read - 95 - `data`: - 96 - Type: list of lists | list of dicts - 97 - What: The data to write - 98 """ - 99 with open(filename, "w") as f: -100 if isinstance(data[0], dict): -101 writer = csv.DictWriter(f, fieldnames=data[0].keys()) -102 writer.writeheader() -103 for row in data: -104 writer.writerow(row) -105 elif isinstance(data[0], list): -106 writer = csv.writer(f) -107 for row in data: -108 writer.writerow(row) -109 else: -110 raise Exception( -111 "`write_csv` takes in list of lists or list of dicts only." -112 ) -113 -114 def read_json(filename: str): -115 """ -116 Function: -117 -118 - Reads the contents of a json -119 -120 Requires: -121 - `filename`: -122 - Type: str -123 - What: The filepath of the json to read -124 """ -125 const_map = { -126 "-Infinity": float("-Infinity"), -127 "Infinity": float("Infinity"), -128 "NaN": None, -129 } -130 with open(filename) as f: -131 return json.load(f, parse_constant=lambda x: const_map[x]) -132 -133 def write_json(filename: str, data, pretty: bool = False): -134 """ -135 Function: -136 -137 - Writes the contents of a list of list or list of dicts to a json -138 -139 Requires: + 27 - `filename`: + 28 - Type: str + 29 - What: The filepath of the csv to read + 30 - Note: The first row of the csv must be the header row + 31 + 32 Optional: + 33 + 34 - `return_dict`: + 35 - Type: bool + 36 - What: Flag to indicate if the csv should be converted to: + 37 - True: list of dicts (with each key being the associated column header) + 38 - False: list of lists (with the first row being the headers) + 39 - Default: True + 40 - Notes: + 41 - This has been deprecated in favor of `return_type` + 42 - This has been kept for backwards compatibility + 43 - If return_type is specified, this will be ignored + 44 - `return_type`: + 45 - Type: str + 46 - Options: + 47 - `list_of_dicts` (default if `return_dict` is True) + 48 - A list of dictionaries with each key being the associated column header + 49 - `dict_of_lists` + 50 - A dictionary of lists with each key being the associated column header and each value being a list of the values in that column + 51 - `list_of_row_lists` + 52 - A list of lists (records) with each row being a list of the values in that row + 53 - The first row is the header row + 54 - `list_of_col_lists` + 55 - A list of lists (columns) with each column being a list of the values in that column + 56 - The first item in each sublist is the header for that column + 57 - `cast_items`: + 58 - Type: bool + 59 - What: Flag to indicate if an attempt to cast each item to a proper type + 60 - Default: True + 61 - Note: This is useful for converting strings to ints, floats, etc. + 62 - Note: This works in conjunction with `cast_dict` + 63 - If `cast_dict` is not None, then an automated attempt to cast the items will be made + 64 - For automated casting, the following rules are applied to each item in the data: + 65 - If the item is a string: + 66 - If the string is empty, `None` will be returned + 67 - If the string is "None" or "null", `None` will be returned + 68 - If the string is "True" or "true", `True` will be returned + 69 - If the string is "False" or "false", `False` will be returned + 70 - If the string is a valid float, the float will be returned + 71 - If the string is a valid int, the int will be returned + 72 - Otherwise, the string will be returned + 73 - If the item is not a string, it will be returned as is + 74 - `cast_dict`: + 75 - Type: dict + 76 - What: A dictionary of functions to cast each column (by name) in the csv + 77 - Default: None + 78 - Note: Unspecified column names will be treated as strings + 79 - Note: `cast_items` must be `True` to use this + 80 - EG: { + 81 'user_id': lambda x: int(x), + 82 'year': lambda x: int(x), + 83 'pass': lambda x: x.lower()=='true', + 84 } + 85 """ + 86 assert return_type in [ + 87 None, + 88 "list_of_dicts", + 89 "dict_of_lists", + 90 "list_of_row_lists", + 91 "list_of_col_lists", + 92 ], f"Invalid return_type: {return_type}" + 93 with open(filename) as f: + 94 file_data = csv.reader(f, delimiter=",", quotechar='"') + 95 headers = next(file_data) + 96 data = list(zip(*[row for row in file_data])) + 97 if cast_items: + 98 if cast_dict is not None: + 99 for idx, header in enumerate(headers): +100 cast_fn = cast_dict.get(header, lambda x: x) +101 data[idx] = [cast_fn(item) for item in data[idx]] +102 else: +103 +104 def cast(obj): +105 if not isinstance(obj, str): +106 return obj +107 obj_lower = obj.lower() +108 if obj == "" or obj_lower == "none" or obj_lower == "null": +109 return None +110 if obj_lower == "true": +111 return True +112 if obj_lower == "false": +113 return False +114 try: +115 float_obj = float(obj) +116 return ( +117 int(float_obj) +118 if float_obj == int(float_obj) +119 else float_obj +120 ) +121 except: +122 return obj +123 +124 for idx, header in enumerate(headers): +125 data[idx] = [cast(item) for item in data[idx]] +126 # Maintain backwards compatibility +127 # TODO: Deprecate this in the next major release +128 if return_type == None: +129 return_type = ( +130 "list_of_dicts" if return_dict else "list_of_row_lists" +131 ) +132 if return_type == "list_of_dicts": +133 return [dict(zip(headers, row)) for row in zip(*data)] +134 elif return_type == "dict_of_lists": +135 return {header: col for header, col in zip(headers, data)} +136 elif return_type == "list_of_row_lists": +137 return [headers] + [list(row) for row in zip(*data)] +138 elif return_type == "list_of_col_lists": +139 return [[header] + list(col) for header, col in zip(headers, data)] 140 -141 - `filename`: -142 - Type: str -143 - What: The filepath of the json to write -144 - `data`: -145 - Type: A json serializable python object -146 - What: The data to write -147 """ -148 with open(filename, "w") as f: -149 if pretty: -150 json.dump(data, f, indent=4) -151 else: -152 json.dump(data, f) -153 -154 ###################### -155 # Helpful Functions -156 def getMethods(object): -157 """ -158 Function: -159 -160 - Returns the callable methods of a class (dunder-excluded) as a list of strs -161 -162 Requires: -163 -164 - `object`: -165 - Type: any -166 - What: Any python object -167 - Default: 1 -168 -169 Example: +141 def write_csv(filename: str, data): +142 """ +143 Function: +144 +145 - Writes the contents of a list of list or list of dicts to a csv +146 +147 Requires: +148 +149 - `filename`: +150 - Type: str +151 - What: The filepath of the csv to read +152 - `data`: +153 - Type: list of lists | list of dicts +154 - What: The data to write +155 """ +156 with open(filename, "w") as f: +157 if isinstance(data[0], dict): +158 writer = csv.DictWriter(f, fieldnames=data[0].keys()) +159 writer.writeheader() +160 for row in data: +161 writer.writerow(row) +162 elif isinstance(data[0], list): +163 writer = csv.writer(f) +164 for row in data: +165 writer.writerow(row) +166 else: +167 raise Exception( +168 "`write_csv` takes in list of lists or list of dicts only." +169 ) 170 -171 ``` -172 class MyClass: -173 def A(self): -174 pass -175 -176 def B(self): -177 pass -178 -179 -180 pamda.getMethods(MyClass) #=> ['A', 'B'] -181 ``` -182 """ -183 return [ -184 fn -185 for fn in dir(object) -186 if callable(getattr(object, fn)) and not fn.startswith("__") -187 ] -188 -189 def getForceDict(object: [dict, list], key: [str, int]): -190 """ -191 Function: -192 -193 - Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list) -194 - Note: This updates the object in place to force the value from the key to be a dictionary +171 def read_json(filename: str): +172 """ +173 Function: +174 +175 - Reads the contents of a json +176 +177 Requires: +178 - `filename`: +179 - Type: str +180 - What: The filepath of the json to read +181 """ +182 const_map = { +183 "-Infinity": float("-Infinity"), +184 "Infinity": float("Infinity"), +185 "NaN": None, +186 } +187 with open(filename) as f: +188 return json.load(f, parse_constant=lambda x: const_map[x]) +189 +190 def write_json(filename: str, data, pretty: bool = False): +191 """ +192 Function: +193 +194 - Writes the contents of a list of list or list of dicts to a json 195 196 Requires: 197 -198 - `object`: -199 - Type: dict | list -200 - What: The object from which to look for a key or index -201 - `key`: -202 - Type: str | int -203 - What: The key or index to look up in the object -204 -205 Example: -206 -207 ``` -208 data = {'a':{}, 'b':1, 'c':[]} -209 -210 pamda.getForceDict(data, 'a') #=> {} -211 pamda.getForceDict(data, 'b') #=> {} -212 pamda.getForceDict(data, 'c') #=> [] -213 -214 # Note that the object has been updated in place -215 data #=> {'a':{}, 'b':{}, 'c':[]} -216 ``` -217 """ -218 if not isinstance(object.get(key), (dict, list)): -219 object.__setitem__(key, {}) -220 return object.get(key) +198 - `filename`: +199 - Type: str +200 - What: The filepath of the json to write +201 - `data`: +202 - Type: A json serializable python object +203 - What: The data to write +204 """ +205 with open(filename, "w") as f: +206 if pretty: +207 json.dump(data, f, indent=4) +208 else: +209 json.dump(data, f) +210 +211 ###################### +212 # Helpful Functions +213 def getMethods(object): +214 """ +215 Function: +216 +217 - Returns the callable methods of a class (dunder-excluded) as a list of strs +218 +219 Requires: +220 +221 - `object`: +222 - Type: any +223 - What: Any python object +224 - Default: 1 +225 +226 Example: +227 +228 ``` +229 class MyClass: +230 def A(self): +231 pass +232 +233 def B(self): +234 pass +235 +236 +237 pamda.getMethods(MyClass) #=> ['A', 'B'] +238 ``` +239 """ +240 return [ +241 fn +242 for fn in dir(object) +243 if callable(getattr(object, fn)) and not fn.startswith("__") +244 ] +245 +246 def getForceDict(object: [dict, list], key: [str, int]): +247 """ +248 Function: +249 +250 - Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list) +251 - Note: This updates the object in place to force the value from the key to be a dictionary +252 +253 Requires: +254 +255 - `object`: +256 - Type: dict | list +257 - What: The object from which to look for a key or index +258 - `key`: +259 - Type: str | int +260 - What: The key or index to look up in the object +261 +262 Example: +263 +264 ``` +265 data = {'a':{}, 'b':1, 'c':[]} +266 +267 pamda.getForceDict(data, 'a') #=> {} +268 pamda.getForceDict(data, 'b') #=> {} +269 pamda.getForceDict(data, 'c') #=> [] +270 +271 # Note that the object has been updated in place +272 data #=> {'a':{}, 'b':{}, 'c':[]} +273 ``` +274 """ +275 if not isinstance(object.get(key), (dict, list)): +276 object.__setitem__(key, {}) +277 return object.get(key)

@@ -535,83 +649,140 @@

def - read_csv( filename: str, return_dict: bool = True, cast_items: bool = True, cast_dict: [<class 'dict'>, None] = None): + read_csv( filename: str, return_dict: bool = True, cast_items: bool = True, cast_dict: [<class 'dict'>, None] = None, return_type: [<class 'str'>, None] = None):
-
12    def read_csv(
-13        filename: str, return_dict: bool = True, cast_items:bool = True, cast_dict: [dict, None] = None
-14    ):
-15        """
-16        Function:
-17
-18        - Reads the contents of a csv and converts it to list of dicts or list of lists
-19        - Note: The csv must have a header row indicating the names of each column
-20
-21        Requires:
-22
-23        - `filename`:
-24            - Type: str
-25            - What: The filepath of the csv to read
-26
-27        Optional:
-28
-29        - `return_dict`:
-30            - Type: bool
-31            - What: Flag to indicate if the csv should be converted to:
-32                - True: list of dicts (with each key being the associated column header)
-33                - False: list of lists (with the first row being the headers)
-34            - Default: True
-35        - `cast_items`:
-36            - Type: bool
-37            - What: Flag to indicate if an attempt to cast each item to a proper type
-38            - Default: True
-39            - Note: This is useful for converting strings to ints, floats, etc.
-40            - Note: This works in conjunction with `cast_dict`
-41                - If `cast_dict` is not None, then an automated attempt to cast the items will be made
-42        - `cast_dict`:
-43            - Type: dict
-44            - What: A dictionary of functions to cast each column (by name) in the csv
-45            - Default: None
-46            - Note: Unspecified column names will be treated as strings
-47            - Note: `cast_items` must be `True` to use this
-48            - EG: {
-49                'user_id': lambda x: int(x),
-50                'year': lambda x: int(x),
-51                'pass': lambda x: x.lower()=='true',
-52            }
-53        """
-54        with open(filename) as f:
-55            file_data = csv.reader(f, delimiter=",", quotechar='"')
-56            headers = next(file_data)
-57            if cast_items:
-58                if cast_dict is not None:
-59                    def cast(obj, name):
-60                        return cast_dict.get(name, lambda x: x)(obj)
-61                else:
-62                    def cast(obj, name):
-63                        if not isinstance(obj, str):
-64                            return obj
-65                        if obj == "" or obj.lower() == 'none' or obj.lower() == 'null':
-66                            return None
-67                        if obj.lower() == "true":
-68                            return True
-69                        if obj.lower() == "false":
-70                            return False
-71                        try:
-72                            float_obj = float(obj)
-73                            return int(float_obj) if float_obj == int(float_obj) else float_obj
-74                        except:
-75                            return obj
-76                data = [{header:cast(item,header) for header, item in zip(headers, row)} for row in file_data]
-77            else:
-78                data = [dict(zip(headers, row)) for row in file_data]
-79            if return_dict:
-80                return data
-81            else:
-82                return [headers]+[list(item.values()) for item in data]
+            
 12    def read_csv(
+ 13        filename: str,
+ 14        return_dict: bool = True,
+ 15        cast_items: bool = True,
+ 16        cast_dict: [dict, None] = None,
+ 17        return_type: [str, None] = None,
+ 18    ):
+ 19        """
+ 20        Function:
+ 21
+ 22        - Reads the contents of a csv and converts it to list of dicts or list of lists
+ 23        - Note: The csv must have a header row indicating the names of each column
+ 24
+ 25        Requires:
+ 26
+ 27        - `filename`:
+ 28            - Type: str
+ 29            - What: The filepath of the csv to read
+ 30                - Note: The first row of the csv must be the header row
+ 31
+ 32        Optional:
+ 33
+ 34        - `return_dict`:
+ 35            - Type: bool
+ 36            - What: Flag to indicate if the csv should be converted to:
+ 37                - True: list of dicts (with each key being the associated column header)
+ 38                - False: list of lists (with the first row being the headers)
+ 39            - Default: True
+ 40            - Notes:
+ 41                - This has been deprecated in favor of `return_type`
+ 42                - This has been kept for backwards compatibility
+ 43                - If return_type is specified, this will be ignored
+ 44        - `return_type`:
+ 45            - Type: str
+ 46            - Options:
+ 47                - `list_of_dicts` (default if `return_dict` is True)
+ 48                    - A list of dictionaries with each key being the associated column header
+ 49                - `dict_of_lists`
+ 50                    - A dictionary of lists with each key being the associated column header and each value being a list of the values in that column
+ 51                - `list_of_row_lists`
+ 52                    - A list of lists (records) with each row being a list of the values in that row
+ 53                    - The first row is the header row
+ 54                - `list_of_col_lists`
+ 55                    - A list of lists (columns) with each column being a list of the values in that column
+ 56                    - The first item in each sublist is the header for that column
+ 57        - `cast_items`:
+ 58            - Type: bool
+ 59            - What: Flag to indicate if an attempt to cast each item to a proper type
+ 60            - Default: True
+ 61            - Note: This is useful for converting strings to ints, floats, etc.
+ 62            - Note: This works in conjunction with `cast_dict`
+ 63                - If `cast_dict` is not None, then an automated attempt to cast the items will be made
+ 64                - For automated casting, the following rules are applied to each item in the data:
+ 65                    - If the item is a string:
+ 66                        - If the string is empty, `None` will be returned
+ 67                        - If the string is "None" or "null", `None` will be returned
+ 68                        - If the string is "True" or "true", `True` will be returned
+ 69                        - If the string is "False" or "false", `False` will be returned
+ 70                        - If the string is a valid float, the float will be returned
+ 71                        - If the string is a valid int, the int will be returned
+ 72                        - Otherwise, the string will be returned
+ 73                    - If the item is not a string, it will be returned as is
+ 74        - `cast_dict`:
+ 75            - Type: dict
+ 76            - What: A dictionary of functions to cast each column (by name) in the csv
+ 77            - Default: None
+ 78            - Note: Unspecified column names will be treated as strings
+ 79            - Note: `cast_items` must be `True` to use this
+ 80            - EG: {
+ 81                'user_id': lambda x: int(x),
+ 82                'year': lambda x: int(x),
+ 83                'pass': lambda x: x.lower()=='true',
+ 84            }
+ 85        """
+ 86        assert return_type in [
+ 87            None,
+ 88            "list_of_dicts",
+ 89            "dict_of_lists",
+ 90            "list_of_row_lists",
+ 91            "list_of_col_lists",
+ 92        ], f"Invalid return_type: {return_type}"
+ 93        with open(filename) as f:
+ 94            file_data = csv.reader(f, delimiter=",", quotechar='"')
+ 95            headers = next(file_data)
+ 96            data = list(zip(*[row for row in file_data]))
+ 97        if cast_items:
+ 98            if cast_dict is not None:
+ 99                for idx, header in enumerate(headers):
+100                    cast_fn = cast_dict.get(header, lambda x: x)
+101                    data[idx] = [cast_fn(item) for item in data[idx]]
+102            else:
+103
+104                def cast(obj):
+105                    if not isinstance(obj, str):
+106                        return obj
+107                    obj_lower = obj.lower()
+108                    if obj == "" or obj_lower == "none" or obj_lower == "null":
+109                        return None
+110                    if obj_lower == "true":
+111                        return True
+112                    if obj_lower == "false":
+113                        return False
+114                    try:
+115                        float_obj = float(obj)
+116                        return (
+117                            int(float_obj)
+118                            if float_obj == int(float_obj)
+119                            else float_obj
+120                        )
+121                    except:
+122                        return obj
+123
+124                for idx, header in enumerate(headers):
+125                    data[idx] = [cast(item) for item in data[idx]]
+126        # Maintain backwards compatibility
+127        # TODO: Deprecate this in the next major release
+128        if return_type == None:
+129            return_type = (
+130                "list_of_dicts" if return_dict else "list_of_row_lists"
+131            )
+132        if return_type == "list_of_dicts":
+133            return [dict(zip(headers, row)) for row in zip(*data)]
+134        elif return_type == "dict_of_lists":
+135            return {header: col for header, col in zip(headers, data)}
+136        elif return_type == "list_of_row_lists":
+137            return [headers] + [list(row) for row in zip(*data)]
+138        elif return_type == "list_of_col_lists":
+139            return [[header] + list(col) for header, col in zip(headers, data)]
 
@@ -628,7 +799,10 @@

  • filename:
    • Type: str
    • -
    • What: The filepath of the csv to read
    • +
    • What: The filepath of the csv to read +
        +
      • Note: The first row of the csv must be the header row
      • +
  • @@ -644,6 +818,37 @@

  • False: list of lists (with the first row being the headers)
  • Default: True
  • +
  • Notes: +
      +
    • This has been deprecated in favor of return_type
    • +
    • This has been kept for backwards compatibility
    • +
    • If return_type is specified, this will be ignored
    • +
  • + +
  • return_type: +
      +
    • Type: str
    • +
    • Options: +
        +
      • list_of_dicts (default if return_dict is True) +
          +
        • A list of dictionaries with each key being the associated column header
        • +
      • +
      • dict_of_lists +
          +
        • A dictionary of lists with each key being the associated column header and each value being a list of the values in that column
        • +
      • +
      • list_of_row_lists +
          +
        • A list of lists (records) with each row being a list of the values in that row
        • +
        • The first row is the header row
        • +
      • +
      • list_of_col_lists +
          +
        • A list of lists (columns) with each column being a list of the values in that column
        • +
        • The first item in each sublist is the header for that column
        • +
      • +
  • cast_items:
      @@ -654,6 +859,20 @@

    • Note: This works in conjunction with cast_dict
      • If cast_dict is not None, then an automated attempt to cast the items will be made
      • +
      • For automated casting, the following rules are applied to each item in the data: +
          +
        • If the item is a string: +
            +
          • If the string is empty, None will be returned
          • +
          • If the string is "None" or "null", None will be returned
          • +
          • If the string is "True" or "true", True will be returned
          • +
          • If the string is "False" or "false", False will be returned
          • +
          • If the string is a valid float, the float will be returned
          • +
          • If the string is a valid int, the int will be returned
          • +
          • Otherwise, the string will be returned
          • +
        • +
        • If the item is not a string, it will be returned as is
        • +
  • cast_dict: @@ -685,35 +904,35 @@

  • -
     84    def write_csv(filename: str, data):
    - 85        """
    - 86        Function:
    - 87
    - 88        - Writes the contents of a list of list or list of dicts to a csv
    - 89
    - 90        Requires:
    - 91
    - 92        - `filename`:
    - 93            - Type: str
    - 94            - What: The filepath of the csv to read
    - 95        - `data`:
    - 96            - Type: list of lists | list of dicts
    - 97            - What: The data to write
    - 98        """
    - 99        with open(filename, "w") as f:
    -100            if isinstance(data[0], dict):
    -101                writer = csv.DictWriter(f, fieldnames=data[0].keys())
    -102                writer.writeheader()
    -103                for row in data:
    -104                    writer.writerow(row)
    -105            elif isinstance(data[0], list):
    -106                writer = csv.writer(f)
    -107                for row in data:
    -108                    writer.writerow(row)
    -109            else:
    -110                raise Exception(
    -111                    "`write_csv` takes in list of lists or list of dicts only."
    -112                )
    +            
    141    def write_csv(filename: str, data):
    +142        """
    +143        Function:
    +144
    +145        - Writes the contents of a list of list or list of dicts to a csv
    +146
    +147        Requires:
    +148
    +149        - `filename`:
    +150            - Type: str
    +151            - What: The filepath of the csv to read
    +152        - `data`:
    +153            - Type: list of lists | list of dicts
    +154            - What: The data to write
    +155        """
    +156        with open(filename, "w") as f:
    +157            if isinstance(data[0], dict):
    +158                writer = csv.DictWriter(f, fieldnames=data[0].keys())
    +159                writer.writeheader()
    +160                for row in data:
    +161                    writer.writerow(row)
    +162            elif isinstance(data[0], list):
    +163                writer = csv.writer(f)
    +164                for row in data:
    +165                    writer.writerow(row)
    +166            else:
    +167                raise Exception(
    +168                    "`write_csv` takes in list of lists or list of dicts only."
    +169                )
     
    @@ -752,24 +971,24 @@

    -
    114    def read_json(filename: str):
    -115        """
    -116        Function:
    -117
    -118        - Reads the contents of a json
    -119
    -120        Requires:
    -121        - `filename`:
    -122            - Type: str
    -123            - What: The filepath of the json to read
    -124        """
    -125        const_map = {
    -126            "-Infinity": float("-Infinity"),
    -127            "Infinity": float("Infinity"),
    -128            "NaN": None,
    -129        }
    -130        with open(filename) as f:
    -131            return json.load(f, parse_constant=lambda x: const_map[x])
    +            
    171    def read_json(filename: str):
    +172        """
    +173        Function:
    +174
    +175        - Reads the contents of a json
    +176
    +177        Requires:
    +178        - `filename`:
    +179            - Type: str
    +180            - What: The filepath of the json to read
    +181        """
    +182        const_map = {
    +183            "-Infinity": float("-Infinity"),
    +184            "Infinity": float("Infinity"),
    +185            "NaN": None,
    +186        }
    +187        with open(filename) as f:
    +188            return json.load(f, parse_constant=lambda x: const_map[x])
     
    @@ -803,26 +1022,26 @@

    -
    133    def write_json(filename: str, data, pretty: bool = False):
    -134        """
    -135        Function:
    -136
    -137        - Writes the contents of a list of list or list of dicts to a json
    -138
    -139        Requires:
    -140
    -141        - `filename`:
    -142            - Type: str
    -143            - What: The filepath of the json to write
    -144        - `data`:
    -145            - Type: A json serializable python object
    -146            - What: The data to write
    -147        """
    -148        with open(filename, "w") as f:
    -149            if pretty:
    -150                json.dump(data, f, indent=4)
    -151            else:
    -152                json.dump(data, f)
    +            
    190    def write_json(filename: str, data, pretty: bool = False):
    +191        """
    +192        Function:
    +193
    +194        - Writes the contents of a list of list or list of dicts to a json
    +195
    +196        Requires:
    +197
    +198        - `filename`:
    +199            - Type: str
    +200            - What: The filepath of the json to write
    +201        - `data`:
    +202            - Type: A json serializable python object
    +203            - What: The data to write
    +204        """
    +205        with open(filename, "w") as f:
    +206            if pretty:
    +207                json.dump(data, f, indent=4)
    +208            else:
    +209                json.dump(data, f)
     
    @@ -861,38 +1080,38 @@

    -
    156    def getMethods(object):
    -157        """
    -158        Function:
    -159
    -160        - Returns the callable methods of a class (dunder-excluded) as a list of strs
    -161
    -162        Requires:
    -163
    -164        - `object`:
    -165            - Type: any
    -166            - What: Any python object
    -167            - Default: 1
    -168
    -169        Example:
    -170
    -171        ```
    -172        class MyClass:
    -173            def A(self):
    -174                pass
    -175
    -176            def B(self):
    -177                pass
    -178
    -179
    -180        pamda.getMethods(MyClass) #=> ['A', 'B']
    -181        ```
    -182        """
    -183        return [
    -184            fn
    -185            for fn in dir(object)
    -186            if callable(getattr(object, fn)) and not fn.startswith("__")
    -187        ]
    +            
    213    def getMethods(object):
    +214        """
    +215        Function:
    +216
    +217        - Returns the callable methods of a class (dunder-excluded) as a list of strs
    +218
    +219        Requires:
    +220
    +221        - `object`:
    +222            - Type: any
    +223            - What: Any python object
    +224            - Default: 1
    +225
    +226        Example:
    +227
    +228        ```
    +229        class MyClass:
    +230            def A(self):
    +231                pass
    +232
    +233            def B(self):
    +234                pass
    +235
    +236
    +237        pamda.getMethods(MyClass) #=> ['A', 'B']
    +238        ```
    +239        """
    +240        return [
    +241            fn
    +242            for fn in dir(object)
    +243            if callable(getattr(object, fn)) and not fn.startswith("__")
    +244        ]
     
    @@ -940,38 +1159,38 @@

    -
    189    def getForceDict(object: [dict, list], key: [str, int]):
    -190        """
    -191        Function:
    -192
    -193        - Returns a value from a dictionary (or list) given a key (or index)  and forces that value to be a dictionary if it is not a dictionary (or a list)
    -194        - Note: This updates the object in place to force the value from the key to be a dictionary
    -195
    -196        Requires:
    -197
    -198        - `object`:
    -199            - Type: dict | list
    -200            - What: The object from which to look for a key or index
    -201        - `key`:
    -202            - Type: str | int
    -203            - What: The key or index to look up in the object
    -204
    -205        Example:
    -206
    -207        ```
    -208        data = {'a':{}, 'b':1, 'c':[]}
    -209
    -210        pamda.getForceDict(data, 'a') #=> {}
    -211        pamda.getForceDict(data, 'b') #=> {}
    -212        pamda.getForceDict(data, 'c') #=> []
    -213
    -214        # Note that the object has been updated in place
    -215        data #=> {'a':{}, 'b':{}, 'c':[]}
    -216        ```
    -217        """
    -218        if not isinstance(object.get(key), (dict, list)):
    -219            object.__setitem__(key, {})
    -220        return object.get(key)
    +            
    246    def getForceDict(object: [dict, list], key: [str, int]):
    +247        """
    +248        Function:
    +249
    +250        - Returns a value from a dictionary (or list) given a key (or index)  and forces that value to be a dictionary if it is not a dictionary (or a list)
    +251        - Note: This updates the object in place to force the value from the key to be a dictionary
    +252
    +253        Requires:
    +254
    +255        - `object`:
    +256            - Type: dict | list
    +257            - What: The object from which to look for a key or index
    +258        - `key`:
    +259            - Type: str | int
    +260            - What: The key or index to look up in the object
    +261
    +262        Example:
    +263
    +264        ```
    +265        data = {'a':{}, 'b':1, 'c':[]}
    +266
    +267        pamda.getForceDict(data, 'a') #=> {}
    +268        pamda.getForceDict(data, 'b') #=> {}
    +269        pamda.getForceDict(data, 'c') #=> []
    +270
    +271        # Note that the object has been updated in place
    +272        data #=> {'a':{}, 'b':{}, 'c':[]}
    +273        ```
    +274        """
    +275        if not isinstance(object.get(key), (dict, list)):
    +276            object.__setitem__(key, {})
    +277        return object.get(key)
     
    diff --git a/docs/search.js b/docs/search.js index 3f3cf86..c3ab582 100644 --- a/docs/search.js +++ b/docs/search.js @@ -1,6 +1,6 @@ window.pdocSearch = (function(){ /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o

    \n"}, "pamda.pamda": {"fullname": "pamda.pamda", "modulename": "pamda.pamda", "kind": "module", "doc": "

    \n"}, "pamda.pamda.pamda": {"fullname": "pamda.pamda.pamda", "modulename": "pamda.pamda", "qualname": "pamda", "kind": "class", "doc": "

    \n", "bases": "pamda.pamda_utils.pamda_utils"}, "pamda.pamda.pamda.accumulate": {"fullname": "pamda.pamda.pamda.accumulate", "modulename": "pamda.pamda", "qualname": "pamda.accumulate", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns an accumulated list of items by iterating a function starting with an accumulator over a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to reduce
      • \n
      • Note: This function should have an arity of 2 (take two inputs)
      • \n
      • Note: The first input should take the accumulator value
      • \n
      • Note: The second input should take the data value\n-initial_accumulator:
      • \n
      • Type: any
      • \n
      • What: The initial item to pass into the function when starting the accumulation process
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list of items to iterate over
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3,4]\npamda.accumulate(\n    fn=pamda.add,\n    initial_accumulator=0,\n    data=data\n)\n#=> [1,3,6,10]\n\n
    \n", "signature": "(self, fn, initial_accumulator, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.add": {"fullname": "pamda.pamda.pamda.add", "modulename": "pamda.pamda", "qualname": "pamda.add", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Adds two numbers
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The first number to add
      • \n
    • \n
    • b:\n
        \n
      • Type: int | float
      • \n
      • What: The second number to add
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.add(1, 2) #=> 3\n
    \n", "signature": "(\tself,\ta: [<class 'int'>, <class 'float'>],\tb: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.adjust": {"fullname": "pamda.pamda.pamda.adjust", "modulename": "pamda.pamda", "qualname": "pamda.adjust", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Adjusts an item in a list by applying a function to it
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • index:\n
        \n
      • Type: int
      • \n
      • What: The 0 based index of the item in the list to adjust
      • \n
      • Note: Indicies are accepted
      • \n
      • Note: If the index is out of range, picks the (-)first / (+)last item
      • \n
    • \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function to apply the index item to
      • \n
      • Note: This is automatically curried
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list to adjust
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,5,9]\npamda.adjust(\n    index=1,\n    fn=pamda.inc,\n    data=data\n) #=> [1,6,9]\n
    \n", "signature": "(self, index: int, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.assocPath": {"fullname": "pamda.pamda.pamda.assocPath", "modulename": "pamda.pamda", "qualname": "pamda.assocPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Ensures a path exists within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to check
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • value:\n
        \n
      • Type: any
      • \n
      • What: The value to appropriate to the end of the path
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary in which to associate the given value to the given path
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.assocPath(path=['a','c'], value=3, data=data) #=> {'a':{'b':1, 'c':3}}\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], value, data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.assocPathComplex": {"fullname": "pamda.pamda.pamda.assocPathComplex", "modulename": "pamda.pamda", "qualname": "pamda.assocPathComplex", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Ensures a path exists within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default:\n
        \n
      • Type: any
      • \n
      • What: The default item to add to a path that does not yet exist
      • \n
    • \n
    • default_fn:\n
        \n
      • Type: function | method
      • \n
      • What: A unary (single input) function that takes in the current path item (or default) and adjusts it
      • \n
      • Example: lambda x: x # Returns the value in the dict or the default value if none was present
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to check
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to check if the path exists
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.assocPathComplex(default=[2], default_fn=lambda x:x+[1], path=['a','c'], data=data) #=> {'a':{'b':1,'c':[2,1]}}\n
    \n", "signature": "(\tself,\tdefault,\tdefault_fn,\tpath: [<class 'str'>, <class 'list'>],\tdata: dict):", "funcdef": "def"}, "pamda.pamda.pamda.asyncRun": {"fullname": "pamda.pamda.pamda.asyncRun", "modulename": "pamda.pamda", "qualname": "pamda.asyncRun", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Runs the supplied function asychronously
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: thunkified function | thunkified method
      • \n
      • What: The function or method to run asychronously
      • \n
      • Note: The supplied fn must have an arity of 0
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • To pass inputs to a function in asyncRun, first thunkify the function and pass all arguments before calling asyncRun on it
    • \n
    • To get the results of an asyncRun call asyncWait
    • \n
    • A thunkified function with arity of 0 can call asyncRun on itself
    • \n
    \n\n

    Examples:

    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    print(f'{name} start')\n    time.sleep(wait)\n    print(f'{name} end')\n\nasync_test = pamda.asyncRun(test('a',2))\nsync_test = test('b',1)()\n
    \n\n

    Output:

    \n\n
    a start\nb start\nb end\na end\n
    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(async_test.asyncWait()) #=> a: 2\n
    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = test('a',2).asyncRun()\nprint(async_test.asyncWait()) #=> a: 2\n
    \n", "signature": "(self, fn: pamda.pamda_curry.curry_obj):", "funcdef": "def"}, "pamda.pamda.pamda.asyncWait": {"fullname": "pamda.pamda.pamda.asyncWait", "modulename": "pamda.pamda", "qualname": "pamda.asyncWait", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Waits for a supplied function (if needed) and returns the results
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method for which to wait
      • \n
      • Note: The supplied fn must have previously called asyncRun
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • A thunkified function that has called asyncRun can call asyncWait on itself
    • \n
    \n\n

    Examples:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(pamda.asyncWait(async_test)) #=> a: 2\n
    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(async_test.asyncWait()) #=> a: 2\n
    \n", "signature": "(self, fn: pamda.pamda_curry.curry_obj):", "funcdef": "def"}, "pamda.pamda.pamda.clamp": {"fullname": "pamda.pamda.pamda.clamp", "modulename": "pamda.pamda", "qualname": "pamda.clamp", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces data to be within minimum and maximum
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • minimum:\n
        \n
      • Type: int | float
      • \n
      • What: The minimum number
      • \n
    • \n
    • maximum:\n
        \n
      • Type: int | float
      • \n
      • What: The maximum number
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to clamp
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.clamp(1, 3, 2) #=> 2\npamda.clamp(1, 3, 5) #=> 3\n
    \n", "signature": "(\tself,\tminimum: [<class 'int'>, <class 'float'>],\tmaximum: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.curry": {"fullname": "pamda.pamda.pamda.curry", "modulename": "pamda.pamda", "qualname": "pamda.curry", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Curries a function such that inputs can be added interatively
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to curry
      • \n
      • Note: Class methods auto apply self during curry
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Once curried, the function | method becomes a curry_obj object
    • \n
    • The initial function is only called once all inputs are passed
    • \n
    \n\n

    Examples:

    \n\n
    curriedZip=pamda.curry(pamda.zip)\ncurriedZip(['a','b'])([1,2]) #=> [['a',1],['b',2]]\n\n# Curried functions can be thunkified at any time\n# See also thunkify\nzipThunk=curriedZip.thunkify()(['a','b'])([1,2])\nzipThunk() #=> [['a',1],['b',2]]\n
    \n\n
    def myFunction(a,b,c):\n    return [a,b,c]\n\ncurriedMyFn=pamda.curry(myFunction)\n\ncurriedMyFn(1,2,3) #=> [1,2,3]\ncurriedMyFn(1)(2,3) #=> [1,2,3]\n\nx=curriedMyFn(1)(2)\nx(3) #=> [1,2,3]\nx(4) #=> [1,2,4]\n\n\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.curryTyped": {"fullname": "pamda.pamda.pamda.curryTyped", "modulename": "pamda.pamda", "qualname": "pamda.curryTyped", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Curries a function such that inputs can be added interatively and function annotations are type checked at runtime
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to curry
      • \n
      • Note: Class methods auto apply self during curry
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Once curried, the function | method becomes a curry_obj object
    • \n
    • The initial function is only called once all inputs are passed
    • \n
    \n\n

    Examples:

    \n\n
    @pamda.curryTyped\ndef add(a:int,b:int):\n    return a+b\n\nadd(1)(1) #=> 2\nadd(1)(1.5) #=> Raises type exception\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.dec": {"fullname": "pamda.pamda.pamda.dec", "modulename": "pamda.pamda", "qualname": "pamda.dec", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Decrements a number by one
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to decrement
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.dec(42) #=> 41\n
    \n", "signature": "(self, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.difference": {"fullname": "pamda.pamda.pamda.difference", "modulename": "pamda.pamda", "qualname": "pamda.difference", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicate items present in the first list but not the second
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to compare when looking for the difference
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.difference(a=a, b=b) #=> ['a']\npamda.difference(a=b, b=a) #=> ['c']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.dissocPath": {"fullname": "pamda.pamda.pamda.dissocPath", "modulename": "pamda.pamda", "qualname": "pamda.dissocPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Removes the value at the end of a path within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to remove from the dictionary
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary with a path to be removed
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':{'c':0,'d':1}}}\npamda.dissocPath(path=['a','b','c'], data=data) #=> {'a':{'b':{'d':1}}}\n
    \n", "signature": "(self, path: [<class 'str'>, <class 'list'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.flatten": {"fullname": "pamda.pamda.pamda.flatten", "modulename": "pamda.pamda", "qualname": "pamda.flatten", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Flattens a list of lists of lists ... into a single list depth first
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of lists
      • \n
      • What: The list of lists to reduce to a single list\nExample:
      • \n
    • \n
    \n\n
    data=[['a','b'],[1,[2]]]\npamda.flatten(data=data) #=> ['a','b',1,2]\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.flip": {"fullname": "pamda.pamda.pamda.flip", "modulename": "pamda.pamda", "qualname": "pamda.flip", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a new function equivalent to the supplied function except that the first two inputs are flipped
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to flip
      • \n
      • Note: This function must have an arity of at least 2 (take two inputs)
      • \n
      • Note: Only args are flipped, kwargs are passed as normal
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Input functions are not flipped in place
    • \n
    • The returned function is a flipped version of the input function
    • \n
    • A curried function can be flipped in place by calling fn.flip()
    • \n
    • A function can be flipped multiple times:\n
        \n
      • At each flip, the first and second inputs for the function as it is currently curried are switched
      • \n
      • Flipping a function two times before adding an input will return the initial value
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\nflip_concat=pamda.flip(concat)\n\nconcat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'\nflip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'\n
    \n\n
    @pamda.curry\ndef concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\nconcat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'\n\nconcat.flip()\n\nconcat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'\n
    \n\n
    @pamda.curry\ndef concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\na=pamda.flip(concat)('fi-')\nb=pamda.flip(a)('fo-')\nc=pamda.flip(b)('fum')\nc('fe-') #=> 'fe-fi-fo-fum'\n
    \n\n
    def concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\na=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum')\na('fe-') #=> 'fe-fi-fo-fum'\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.getArity": {"fullname": "pamda.pamda.pamda.getArity", "modulename": "pamda.pamda", "qualname": "pamda.getArity", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried)
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to get the arity of
      • \n
      • Note: Class methods remove one arity to account for self
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    pamda.getArity(pamda.zip) #=> 2\ncurriedZip=pamda.curry(pamda.zip)\nABCuriedZip=curriedZip(['a','b'])\npamda.getArity(ABCuriedZip) #=> 1\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.groupBy": {"fullname": "pamda.pamda.pamda.groupBy", "modulename": "pamda.pamda", "qualname": "pamda.groupBy", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list into a dictionary of sublists keyed by the return string of a provided function
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to group by
      • \n
      • Note: Must return a string
      • \n
      • Note: This function must be unary (take one input)
      • \n
      • Note: This function is applied to each item in the list recursively
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: List of items to apply the function to and then group by the results
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def getGrade(item):\n    score=item['score']\n    if score>90:\n        return 'A'\n    elif score>80:\n        return 'B'\n    elif score>70:\n        return 'C'\n    elif score>60:\n        return 'D'\n    else:\n        return 'F'\n\ndata=[\n    {'name':'Connor', 'score':75},\n    {'name':'Fred', 'score':79},\n    {'name':'Joe', 'score':84},\n]\npamda.groupBy(getGrade,data)\n#=>{\n#=>    'B':[{'name':'Joe', 'score':84}]\n#=>    'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}]\n#=>}\n
    \n", "signature": "(self, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.groupKeys": {"fullname": "pamda.pamda.pamda.groupKeys", "modulename": "pamda.pamda", "qualname": "pamda.groupKeys", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list of dicts into a list of sublists of dicts separated by values with equal keys
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The keys to group by
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: List of dictionaries with which to match keys
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[\n    {'color':'red', 'size':9, 'shape':'ball'},\n    {'color':'red', 'size':10, 'shape':'ball'},\n    {'color':'green', 'size':11, 'shape':'ball'},\n    {'color':'green', 'size':12, 'shape':'square'}\n]\npamda.groupKeys(['color','shape'],data)\n#=> [\n#=>     [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}],\n#=>     [{'color': 'green', 'size': 11, 'shape': 'ball'}],\n#=>     [{'color': 'green', 'size': 12, 'shape': 'square'}]\n#=> ]\n
    \n", "signature": "(self, keys: list, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.groupWith": {"fullname": "pamda.pamda.pamda.groupWith", "modulename": "pamda.pamda", "qualname": "pamda.groupWith", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to groub with
      • \n
      • Note: Must return a boolean value
      • \n
      • Note: This function must have an arity of two (take two inputs)
      • \n
      • Note: This function is applied to each item plus the next adjacent item in the list recursively
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: List of items to apply the function to and then group the results
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def areEqual(a,b):\n    return a==b\n\ndata=[1,2,3,1,1,2,2,3,3,3]\npamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]]\n
    \n", "signature": "(self, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.hasPath": {"fullname": "pamda.pamda.pamda.hasPath", "modulename": "pamda.pamda", "qualname": "pamda.hasPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Checks if a path exists within a nested dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to check
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to check if the path exists
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.hasPath(path=['a','b'], data=data) #=> True\npamda.hasPath(path=['a','d'], data=data) #=> False\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.hardRound": {"fullname": "pamda.pamda.pamda.hardRound", "modulename": "pamda.pamda", "qualname": "pamda.hardRound", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Rounds to a set number of decimal places regardless of floating point math in python
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • decimal_places:\n
        \n
      • Type: int
      • \n
      • What: The number of decimal places to round to
      • \n
      • Default: 0
      • \n
      • Notes: Negative numbers accepted (EG -1 rounds to the nearest 10)
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to round
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=12.345\npamda.hardRound(1,a) #=> 12.3\npamda.hardRound(-1,a) #=> 10\n
    \n", "signature": "(self, decimal_places: int, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.head": {"fullname": "pamda.pamda.pamda.head", "modulename": "pamda.pamda", "qualname": "pamda.head", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Picks the first item out of a list or string
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list | str
      • \n
      • What: A list or string
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=['fe','fi','fo','fum']\npamda.first(\n    data=data\n) #=> fe\n
    \n", "signature": "(self, data: [<class 'list'>, <class 'str'>]):", "funcdef": "def"}, "pamda.pamda.pamda.inc": {"fullname": "pamda.pamda.pamda.inc", "modulename": "pamda.pamda", "qualname": "pamda.inc", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Increments a number by one
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to increment
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.inc(42) #=> 43\n
    \n", "signature": "(self, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.intersection": {"fullname": "pamda.pamda.pamda.intersection", "modulename": "pamda.pamda", "qualname": "pamda.intersection", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicates composed of those elements common to both lists
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for an intersection
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for an intersection
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.intersection(a=a, b=b) #=> ['b']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.map": {"fullname": "pamda.pamda.pamda.map", "modulename": "pamda.pamda", "qualname": "pamda.map", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Maps a function over a list or a dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to map over the list or dictionary
      • \n
      • Note: This function should have an arity of 1
      • \n
    • \n
    • data:\n
        \n
      • Type: list | dict
      • \n
      • What: The list or dict of items to map the function over
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[1,2,3]\npamda.map(\n    fn=pamda.inc,\n    data=data\n)\n#=> [2,3,4]\n
    \n\n
    data={'a':1,'b':2,'c':3}\npamda.map(\n    fn=pamda.inc,\n    data=data\n)\n#=> {'a':2,'b':3,'c':4}\n
    \n", "signature": "(self, fn, data: [<class 'list'>, <class 'dict'>]):", "funcdef": "def"}, "pamda.pamda.pamda.mean": {"fullname": "pamda.pamda.pamda.mean", "modulename": "pamda.pamda", "qualname": "pamda.mean", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Calculates the mean of a given list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of (floats | ints)
      • \n
      • What: The list with wich to calculate the mean
      • \n
      • Note: If the length of this list is 0, returns None
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3]\npamda.mean(data=data)\n#=> 2\n
    \n\n
    data=[]\npamda.mean(data=data)\n#=> None\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.median": {"fullname": "pamda.pamda.pamda.median", "modulename": "pamda.pamda", "qualname": "pamda.median", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Calculates the median of a given list
    • \n
    • If the length of the list is even, calculates the mean of the two central values
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of (floats | ints)
      • \n
      • What: The list with wich to calculate the mean
      • \n
      • Note: If the length of this list is 0, returns None
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[7,2,8,9]\npamda.median(data=data)\n#=> 7.5\n
    \n\n
    data=[7,8,9]\npamda.median(data=data)\n#=> 8\n
    \n\n
    data=[]\npamda.median(data=data)\n#=> None\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.mergeDeep": {"fullname": "pamda.pamda.pamda.mergeDeep", "modulename": "pamda.pamda", "qualname": "pamda.mergeDeep", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Recursively merges two nested dictionaries keeping all keys at each layer
    • \n
    • Values from update_data are used when keys are present in both dictionaries
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • update_data:\n
        \n
      • Type: any
      • \n
      • What: The new data that will take precedence during merging
      • \n
    • \n
    • data:\n
        \n
      • Type: any
      • \n
      • What: The original data that will be merged into
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':{'c':'d'},'e':'f'}}\nupdate_data={'a':{'b':{'h':'i'},'e':'g'}}\npamda.mergeDeep(\n    update_data=update_data,\n    data=data\n) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}}\n
    \n", "signature": "(self, update_data, data):", "funcdef": "def"}, "pamda.pamda.pamda.nest": {"fullname": "pamda.pamda.pamda.nest", "modulename": "pamda.pamda", "qualname": "pamda.nest", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Nests a list of dictionaries into a nested dictionary
    • \n
    • Similar items are appended to a list in the end of the nested dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path_keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The variables to pull from each item in data
      • \n
      • Note: Used to build out the nested dicitonary
      • \n
      • Note: Order matters as the nesting occurs in order of variable
      • \n
    • \n
    • value_key:\n
        \n
      • Type: str
      • \n
      • What: The variable to add to the list at the end of the nested dictionary path
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to use for nesting purposes
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[\n    {'x_1':'a','x_2':'b', 'output':'c'},\n    {'x_1':'a','x_2':'b', 'output':'d'},\n    {'x_1':'a','x_2':'e', 'output':'f'}\n]\npamda.nest(\n    path_keys=['x_1','x_2'],\n    value_key='output',\n    data=data\n) #=> {'a':{'b':['c','d'], 'e':['f']}}\n
    \n", "signature": "(self, path_keys: list, value_key: str, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.nestItem": {"fullname": "pamda.pamda.pamda.nestItem", "modulename": "pamda.pamda", "qualname": "pamda.nestItem", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Nests a list of dictionaries into a nested dictionary
    • \n
    • Similar items are appended to a list in the end of the nested dictionary
    • \n
    • Similar to nest, except no values are plucked for the aggregated list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path_keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The variables to pull from each item in data
      • \n
      • Note: Used to build out the nested dicitonary
      • \n
      • Note: Order matters as the nesting occurs in order of variable
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to use for nesting purposes
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[\n    {'x_1':'a','x_2':'b'},\n    {'x_1':'a','x_2':'b'},\n    {'x_1':'a','x_2':'e'}\n]\npamda.nestItem\n    path_keys=['x_1','x_2'],\n    data=data\n)\n#=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}}\n\n
    \n", "signature": "(self, path_keys: list, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.path": {"fullname": "pamda.pamda.pamda.path", "modulename": "pamda.pamda", "qualname": "pamda.path", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the value of a path within a nested dictionary or None if the path does not exist
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.path(path=['a','b'], data=data) #=> 1\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pathOr": {"fullname": "pamda.pamda.pamda.pathOr", "modulename": "pamda.pamda", "qualname": "pamda.pathOr", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the value of a path within a nested dictionary or a default value if that path does not exist
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default:\n
        \n
      • Type: any
      • \n
      • What: The object to return if the path does not exist
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.path(default=2, path=['a','c'], data=data) #=> 2\n
    \n", "signature": "(self, default, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pipe": {"fullname": "pamda.pamda.pamda.pipe", "modulename": "pamda.pamda", "qualname": "pamda.pipe", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Pipes data through n functions in order (left to right composition) and returns the output
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fns:\n
        \n
      • Type: list of (functions | methods)
      • \n
      • What: The list of functions and methods to pipe the data through
      • \n
      • Notes: The first function in the list can be any arity (accepting any number of inputs)
      • \n
      • Notes: Any further function in the list can only be unary (single input)
      • \n
      • Notes: A function can be curried, but is not required to be
      • \n
      • Notes: You may opt to curry functions and add inputs to make them unary
      • \n
    • \n
    • args:\n
        \n
      • Type: tuple
      • \n
      • What: a tuple of positional arguments to pass to the first function in fns
      • \n
    • \n
    • kwargs:\n
        \n
      • Type: dict
      • \n
      • What: a dictionary of keyword arguments to pass to the first function in fns
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=['abc','def']\npamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c'\npamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c'\n
    \n\n
    data={'a':{'b':'c'}}\ncurriedPath=pamda.curry(pamda.path)\npamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c'\n
    \n", "signature": "(self, fns: list, args: tuple, kwargs: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pluck": {"fullname": "pamda.pamda.pamda.pluck", "modulename": "pamda.pamda", "qualname": "pamda.pluck", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the values of a path within a list of nested dictionaries
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]\npamda.pluck(path=['a','b'], data=data) #=> [1,2]\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: list):", "funcdef": "def"}, "pamda.pamda.pamda.pluckIf": {"fullname": "pamda.pamda.pamda.pluckIf", "modulename": "pamda.pamda", "qualname": "pamda.pluckIf", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function
      • \n
      • What: A function to take in each item in data and return a boolean
      • \n
      • Note: Only items that return true are plucked
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    \ndata=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]\npamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d']\n
    \n", "signature": "(self, fn, path: [<class 'list'>, <class 'str'>], data: list):", "funcdef": "def"}, "pamda.pamda.pamda.reduce": {"fullname": "pamda.pamda.pamda.reduce", "modulename": "pamda.pamda", "qualname": "pamda.reduce", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a single item by iterating a function starting with an accumulator over a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to reduce
      • \n
      • Note: This function should have an arity of 2 (take two inputs)
      • \n
      • Note: The first input should take the accumulator value
      • \n
      • Note: The second input should take the data value\n-initial_accumulator:
      • \n
      • Type: any
      • \n
      • What: The initial item to pass into the function when starting the accumulation process
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list of items to iterate over
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3,4]\npamda.reduce(\n    fn=pamda.add,\n    initial_accumulator=0,\n    data=data\n)\n#=> 10\n\n
    \n", "signature": "(self, fn, initial_accumulator, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.safeDivide": {"fullname": "pamda.pamda.pamda.safeDivide", "modulename": "pamda.pamda", "qualname": "pamda.safeDivide", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces division to work by enforcing a denominator of 1 if the provided denominator is zero
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • denominator:

      \n\n
        \n
      • Type: int | float
      • \n
      • What: The denominator
      • \n
    • \n
    • a:

      \n\n
        \n
      • Type: int | float
      • \n
      • What: The numerator
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.safeDivide(2,10) #=> 5\npamda.safeDivide(0,10) #=> 10\n
    \n", "signature": "(\tself,\tdenominator: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.safeDivideDefault": {"fullname": "pamda.pamda.pamda.safeDivideDefault", "modulename": "pamda.pamda", "qualname": "pamda.safeDivideDefault", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces division to work by enforcing a non zero default denominator if the provided denominator is zero
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default_denominator:\n
        \n
      • Type: int | float
      • \n
      • What: A non zero denominator to use if denominator is zero
      • \n
      • Default: 1
      • \n
    • \n
    • denominator:\n
        \n
      • Type: int | float
      • \n
      • What: The denominator
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The numerator
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.safeDivideDefault(2,5,10) #=> 2\npamda.safeDivideDefault(2,0,10) #=> 5\n
    \n", "signature": "(\tself,\tdefault_denominator: [<class 'int'>, <class 'float'>],\tdenominator: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.symmetricDifference": {"fullname": "pamda.pamda.pamda.symmetricDifference", "modulename": "pamda.pamda", "qualname": "pamda.symmetricDifference", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicates items present in one list but not the other
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.symmetricDifference(a=a, b=b) #=> ['a','c']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.tail": {"fullname": "pamda.pamda.pamda.tail", "modulename": "pamda.pamda", "qualname": "pamda.tail", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Picks the last item out of a list or string
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list | str
      • \n
      • What: A list or string
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=['fe','fi','fo','fum']\npamda.tail(\n    data=data\n) #=> fum\n
    \n", "signature": "(self, data: [<class 'str'>, <class 'list'>]):", "funcdef": "def"}, "pamda.pamda.pamda.thunkify": {"fullname": "pamda.pamda.pamda.thunkify", "modulename": "pamda.pamda", "qualname": "pamda.thunkify", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a curried thunk out of a function
    • \n
    • Evaluation of the thunk lazy and is delayed until called
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to thunkify
      • \n
      • Note: Thunkified functions are automatically curried
      • \n
      • Note: Class methods auto apply self during thunkify
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Input functions are not thunkified in place
    • \n
    • The returned function is a thunkified version of the input function
    • \n
    • A curried function can be thunkified in place by calling fn.thunkify()
    • \n
    \n\n

    Examples:

    \n\n
    def add(a,b):\n    return a+b\n\naddThunk=pamda.thunkify(add)\n\nadd(1,2) #=> 3\naddThunk(1,2)\naddThunk(1,2)() #=> 3\n\nx=addThunk(1,2)\nx() #=> 3\n
    \n\n
    @pamda.curry\ndef add(a,b):\n    return a+b\n\nadd(1,2) #=> 3\n\nadd.thunkify()\n\nadd(1,2)\nadd(1,2)() #=> 3\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.unnest": {"fullname": "pamda.pamda.pamda.unnest", "modulename": "pamda.pamda", "qualname": "pamda.unnest", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Removes one level of depth for all items in a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: A list of items to unnest by one level
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=['fe','fi',['fo',['fum']]]\npamda.unnest(\n    data=data\n) #=> ['fe','fi','fo',['fum']]\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.zip": {"fullname": "pamda.pamda.pamda.zip", "modulename": "pamda.pamda", "qualname": "pamda.zip", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a new list out of the two supplied by pairing up equally-positioned items from both lists
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list first
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list second
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=[1,2]\npamda.zip(a=a, b=b) #=> [['a',1],['b',2]]\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.zipObj": {"fullname": "pamda.pamda.pamda.zipObj", "modulename": "pamda.pamda", "qualname": "pamda.zipObj", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists
    • \n
    • The first list represents keys and the second values
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list first
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list second
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=[1,2]\npamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2}\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda_curry": {"fullname": "pamda.pamda_curry", "modulename": "pamda.pamda_curry", "kind": "module", "doc": "

    \n"}, "pamda.pamda_curry.curry_obj": {"fullname": "pamda.pamda_curry.curry_obj", "modulename": "pamda.pamda_curry", "qualname": "curry_obj", "kind": "class", "doc": "

    \n"}, "pamda.pamda_curry.curry_obj.__init__": {"fullname": "pamda.pamda_curry.curry_obj.__init__", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.__init__", "kind": "function", "doc": "

    \n", "signature": "(\t__fn__,\t*__args__,\t__flips__=[],\t__fnExecute__=None,\t__isThunk__=False,\t__isTypeEnforced__=False,\t**__kwargs__)"}, "pamda.pamda_curry.curry_obj.thunkify": {"fullname": "pamda.pamda_curry.curry_obj.thunkify", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.thunkify", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.flip": {"fullname": "pamda.pamda_curry.curry_obj.flip", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.flip", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.typeEnforce": {"fullname": "pamda.pamda_curry.curry_obj.typeEnforce", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.typeEnforce", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.asyncRun": {"fullname": "pamda.pamda_curry.curry_obj.asyncRun", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.asyncRun", "kind": "function", "doc": "

    \n", "signature": "(self, daemon=False):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.asyncWait": {"fullname": "pamda.pamda_curry.curry_obj.asyncWait", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.asyncWait", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_timer": {"fullname": "pamda.pamda_timer", "modulename": "pamda.pamda_timer", "kind": "module", "doc": "

    \n"}, "pamda.pamda_timer.pamda_timer": {"fullname": "pamda.pamda_timer.pamda_timer", "modulename": "pamda.pamda_timer", "qualname": "pamda_timer", "kind": "class", "doc": "

    \n"}, "pamda.pamda_timer.pamda_timer.__init__": {"fullname": "pamda.pamda_timer.pamda_timer.__init__", "modulename": "pamda.pamda_timer", "qualname": "pamda_timer.__init__", "kind": "function", "doc": "

    Function:

    \n\n

    Initialize a pamda_timer object.

    \n\n
      \n
    • Note: This object is used for bare minimum in script timing purposes.
    • \n
    \n\n

    Required:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The name of the process being timed
      • \n
    • \n
    \n", "signature": "(__fn__)"}, "pamda.pamda_utils": {"fullname": "pamda.pamda_utils", "modulename": "pamda.pamda_utils", "kind": "module", "doc": "

    \n"}, "pamda.pamda_utils.pamda_utils": {"fullname": "pamda.pamda_utils.pamda_utils", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils", "kind": "class", "doc": "

    \n"}, "pamda.pamda_utils.pamda_utils.read_csv": {"fullname": "pamda.pamda_utils.pamda_utils.read_csv", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.read_csv", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Reads the contents of a csv and converts it to list of dicts or list of lists
    • \n
    • Note: The csv must have a header row indicating the names of each column
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the csv to read
      • \n
    • \n
    \n\n

    Optional:

    \n\n
      \n
    • return_dict:\n
        \n
      • Type: bool
      • \n
      • What: Flag to indicate if the csv should be converted to:\n
          \n
        • True: list of dicts (with each key being the associated column header)
        • \n
        • False: list of lists (with the first row being the headers)
        • \n
      • \n
      • Default: True
      • \n
    • \n
    • cast_items:\n
        \n
      • Type: bool
      • \n
      • What: Flag to indicate if an attempt to cast each item to a proper type
      • \n
      • Default: True
      • \n
      • Note: This is useful for converting strings to ints, floats, etc.
      • \n
      • Note: This works in conjunction with cast_dict\n
          \n
        • If cast_dict is not None, then an automated attempt to cast the items will be made
        • \n
      • \n
    • \n
    • cast_dict:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary of functions to cast each column (by name) in the csv
      • \n
      • Default: None
      • \n
      • Note: Unspecified column names will be treated as strings
      • \n
      • Note: cast_items must be True to use this
      • \n
      • EG: {\n'user_id': lambda x: int(x),\n'year': lambda x: int(x),\n'pass': lambda x: x.lower()=='true',\n}
      • \n
    • \n
    \n", "signature": "(\tfilename: str,\treturn_dict: bool = True,\tcast_items: bool = True,\tcast_dict: [<class 'dict'>, None] = None):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.write_csv": {"fullname": "pamda.pamda_utils.pamda_utils.write_csv", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.write_csv", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Writes the contents of a list of list or list of dicts to a csv
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the csv to read
      • \n
    • \n
    • data:\n
        \n
      • Type: list of lists | list of dicts
      • \n
      • What: The data to write
      • \n
    • \n
    \n", "signature": "(filename: str, data):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.read_json": {"fullname": "pamda.pamda_utils.pamda_utils.read_json", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.read_json", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Reads the contents of a json
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the json to read
      • \n
    • \n
    \n", "signature": "(filename: str):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.write_json": {"fullname": "pamda.pamda_utils.pamda_utils.write_json", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.write_json", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Writes the contents of a list of list or list of dicts to a json
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the json to write
      • \n
    • \n
    • data:\n
        \n
      • Type: A json serializable python object
      • \n
      • What: The data to write
      • \n
    • \n
    \n", "signature": "(filename: str, data, pretty: bool = False):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.getMethods": {"fullname": "pamda.pamda_utils.pamda_utils.getMethods", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.getMethods", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the callable methods of a class (dunder-excluded) as a list of strs
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • object:\n
        \n
      • Type: any
      • \n
      • What: Any python object
      • \n
      • Default: 1
      • \n
    • \n
    \n\n

    Example:

    \n\n
    class MyClass:\n    def A(self):\n        pass\n\n    def B(self):\n        pass\n\n\npamda.getMethods(MyClass) #=> ['A', 'B']\n
    \n", "signature": "(object):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.getForceDict": {"fullname": "pamda.pamda_utils.pamda_utils.getForceDict", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.getForceDict", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list)
    • \n
    • Note: This updates the object in place to force the value from the key to be a dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • object:\n
        \n
      • Type: dict | list
      • \n
      • What: The object from which to look for a key or index
      • \n
    • \n
    • key:\n
        \n
      • Type: str | int
      • \n
      • What: The key or index to look up in the object
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data = {'a':{}, 'b':1, 'c':[]}\n\npamda.getForceDict(data, 'a') #=> {}\npamda.getForceDict(data, 'b') #=> {}\npamda.getForceDict(data, 'c') #=> []\n\n# Note that the object has been updated in place\ndata #=> {'a':{}, 'b':{}, 'c':[]}\n
    \n", "signature": "(\tobject: [<class 'dict'>, <class 'list'>],\tkey: [<class 'str'>, <class 'int'>]):", "funcdef": "def"}, "pamda.pamda_wrappers": {"fullname": "pamda.pamda_wrappers", "modulename": "pamda.pamda_wrappers", "kind": "module", "doc": "

    \n"}, "pamda.pamda_wrappers.typed_curry_wrap": {"fullname": "pamda.pamda_wrappers.typed_curry_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "typed_curry_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}, "pamda.pamda_wrappers.staticmethod_wrap": {"fullname": "pamda.pamda_wrappers.staticmethod_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "staticmethod_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}, "pamda.pamda_wrappers.classmethod_wrap": {"fullname": "pamda.pamda_wrappers.classmethod_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "classmethod_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}}, "docInfo": {"pamda": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda.pamda": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 3}, "pamda.pamda.pamda.accumulate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 170}, "pamda.pamda.pamda.add": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 80}, "pamda.pamda.pamda.adjust": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 158}, "pamda.pamda.pamda.assocPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 168}, "pamda.pamda.pamda.assocPathComplex": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 211}, "pamda.pamda.pamda.asyncRun": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 261}, "pamda.pamda.pamda.asyncWait": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 169}, "pamda.pamda.pamda.clamp": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 66, "bases": 0, "doc": 112}, "pamda.pamda.pamda.curry": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 207}, "pamda.pamda.pamda.curryTyped": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 133}, "pamda.pamda.pamda.dec": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 57}, "pamda.pamda.pamda.difference": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 129}, "pamda.pamda.pamda.dissocPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 148}, "pamda.pamda.pamda.flatten": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 81}, "pamda.pamda.pamda.flip": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 362}, "pamda.pamda.pamda.getArity": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 106}, "pamda.pamda.pamda.groupBy": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 219}, "pamda.pamda.pamda.groupKeys": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 197}, "pamda.pamda.pamda.groupWith": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 176}, "pamda.pamda.pamda.hasPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 128}, "pamda.pamda.pamda.hardRound": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 122}, "pamda.pamda.pamda.head": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 70}, "pamda.pamda.pamda.inc": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 57}, "pamda.pamda.pamda.intersection": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 114}, "pamda.pamda.pamda.map": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 147}, "pamda.pamda.pamda.mean": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 98}, "pamda.pamda.pamda.median": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 134}, "pamda.pamda.pamda.mergeDeep": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 157}, "pamda.pamda.pamda.nest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 230}, "pamda.pamda.pamda.nestItem": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 228}, "pamda.pamda.pamda.path": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 127}, "pamda.pamda.pamda.pathOr": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 157}, "pamda.pamda.pamda.pipe": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 266}, "pamda.pamda.pamda.pluck": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 137}, "pamda.pamda.pamda.pluckIf": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 196}, "pamda.pamda.pamda.reduce": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 165}, "pamda.pamda.pamda.safeDivide": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 98}, "pamda.pamda.pamda.safeDivideDefault": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 67, "bases": 0, "doc": 130}, "pamda.pamda.pamda.symmetricDifference": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 116}, "pamda.pamda.pamda.tail": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 70}, "pamda.pamda.pamda.thunkify": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 195}, "pamda.pamda.pamda.unnest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 82}, "pamda.pamda.pamda.zip": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 114}, "pamda.pamda.pamda.zipObj": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 124}, "pamda.pamda_curry": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.__init__": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.thunkify": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.flip": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.typeEnforce": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.asyncRun": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.asyncWait": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_timer": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_timer.pamda_timer": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_timer.pamda_timer.__init__": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 62}, "pamda.pamda_utils": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_utils.pamda_utils": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_utils.pamda_utils.read_csv": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 69, "bases": 0, "doc": 314}, "pamda.pamda_utils.pamda_utils.write_csv": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 80}, "pamda.pamda_utils.pamda_utils.read_json": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 45}, "pamda.pamda_utils.pamda_utils.write_json": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 78}, "pamda.pamda_utils.pamda_utils.getMethods": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 82}, "pamda.pamda_utils.pamda_utils.getForceDict": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 181}, "pamda.pamda_wrappers": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.typed_curry_wrap": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.staticmethod_wrap": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.classmethod_wrap": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}}, "length": 70, "save": true}, "index": {"qualname": {"root": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda": {"tf": 1}, "pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 54}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.path": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pathOr": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 2}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 9, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.head": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.tail": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_timer.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 7}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 7}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "fullname": {"root": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda": {"tf": 1}, "pamda.pamda": {"tf": 1.4142135623730951}, "pamda.pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flatten": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.inc": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.path": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.tail": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_curry": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda_timer": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.7320508075688772}, "pamda.pamda_utils": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1.4142135623730951}}, "df": 70}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.path": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pathOr": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 2}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda_curry": {"tf": 1}, "pamda.pamda_curry.curry_obj": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 10, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.head": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.tail": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 8}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 7}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_wrappers": {"tf": 1}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 4}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.add": {"tf": 4.58257569495584}, "pamda.pamda.pamda.adjust": {"tf": 5.477225575051661}, "pamda.pamda.pamda.assocPath": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.assocPathComplex": {"tf": 5.916079783099616}, "pamda.pamda.pamda.asyncRun": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.asyncWait": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.clamp": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.curry": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.curryTyped": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.dec": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.difference": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.dissocPath": {"tf": 4.69041575982343}, "pamda.pamda.pamda.flatten": {"tf": 4.242640687119285}, "pamda.pamda.pamda.flip": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.getArity": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.groupBy": {"tf": 4.69041575982343}, "pamda.pamda.pamda.groupKeys": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.groupWith": {"tf": 4.69041575982343}, "pamda.pamda.pamda.hasPath": {"tf": 4.69041575982343}, "pamda.pamda.pamda.hardRound": {"tf": 4.69041575982343}, "pamda.pamda.pamda.head": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.inc": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.intersection": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.map": {"tf": 4.242640687119285}, "pamda.pamda.pamda.mean": {"tf": 4.242640687119285}, "pamda.pamda.pamda.median": {"tf": 4.242640687119285}, "pamda.pamda.pamda.mergeDeep": {"tf": 4.242640687119285}, "pamda.pamda.pamda.nest": {"tf": 5.830951894845301}, "pamda.pamda.pamda.nestItem": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.path": {"tf": 4.69041575982343}, "pamda.pamda.pamda.pathOr": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.pipe": {"tf": 5.830951894845301}, "pamda.pamda.pamda.pluck": {"tf": 4.69041575982343}, "pamda.pamda.pamda.pluckIf": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.reduce": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.safeDivide": {"tf": 4.58257569495584}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.symmetricDifference": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.tail": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.thunkify": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.unnest": {"tf": 4.242640687119285}, "pamda.pamda.pamda.zip": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.zipObj": {"tf": 5.0990195135927845}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 8.602325267042627}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.flip": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 4.242640687119285}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 3.1622776601683795}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 3.1622776601683795}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 7}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 4.242640687119285}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 3.7416573867739413}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 5.656854249492381}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 3.1622776601683795}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 4}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 3.1622776601683795}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 3.1622776601683795}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 3.1622776601683795}}, "df": 60, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 49}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 16}}}, "f": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 17, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 9}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 12, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 26}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 30}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}}, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}, "x": {"2": {"7": {"docs": {"pamda.pamda.pamda.add": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.dec": {"tf": 2}, "pamda.pamda.pamda.dissocPath": {"tf": 2}, "pamda.pamda.pamda.hasPath": {"tf": 2}, "pamda.pamda.pamda.hardRound": {"tf": 2}, "pamda.pamda.pamda.head": {"tf": 2}, "pamda.pamda.pamda.inc": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.path": {"tf": 2}, "pamda.pamda.pamda.pathOr": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 2}, "pamda.pamda.pamda.pluckIf": {"tf": 2}, "pamda.pamda.pamda.safeDivide": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.tail": {"tf": 2}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.8284271247461903}}, "df": 20}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}, "b": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 6, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 10}}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 3}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "doc": {"root": {"0": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 10}, "1": {"0": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 6}, "1": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}}, "df": 1}, "2": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 3.3166247903554}, "pamda.pamda.pamda.curryTyped": {"tf": 2}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 31}, "2": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 3.3166247903554}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 26}, "3": {"4": {"5": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.groupWith": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}}, "df": 11}, "4": {"1": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}, "2": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}}, "df": 2}, "3": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 4}, "5": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 6}, "6": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 2}, "7": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "5": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "9": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pamda.pamda.pamda.median": {"tf": 1.7320508075688772}}, "df": 1}, "8": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "4": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pamda.pamda.pamda.median": {"tf": 1.7320508075688772}}, "df": 1}, "9": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 3}, "docs": {"pamda": {"tf": 1.7320508075688772}, "pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.accumulate": {"tf": 7.745966692414834}, "pamda.pamda.pamda.add": {"tf": 6.928203230275509}, "pamda.pamda.pamda.adjust": {"tf": 8.18535277187245}, "pamda.pamda.pamda.assocPath": {"tf": 8.306623862918075}, "pamda.pamda.pamda.assocPathComplex": {"tf": 9.16515138991168}, "pamda.pamda.pamda.asyncRun": {"tf": 9.273618495495704}, "pamda.pamda.pamda.asyncWait": {"tf": 7.810249675906654}, "pamda.pamda.pamda.clamp": {"tf": 7.874007874011811}, "pamda.pamda.pamda.curry": {"tf": 8.306623862918075}, "pamda.pamda.pamda.curryTyped": {"tf": 7.0710678118654755}, "pamda.pamda.pamda.dec": {"tf": 5.916079783099616}, "pamda.pamda.pamda.difference": {"tf": 7.416198487095663}, "pamda.pamda.pamda.dissocPath": {"tf": 7.681145747868608}, "pamda.pamda.pamda.flatten": {"tf": 5.916079783099616}, "pamda.pamda.pamda.flip": {"tf": 9.327379053088816}, "pamda.pamda.pamda.getArity": {"tf": 6.4031242374328485}, "pamda.pamda.pamda.groupBy": {"tf": 8.660254037844387}, "pamda.pamda.pamda.groupKeys": {"tf": 9.591663046625438}, "pamda.pamda.pamda.groupWith": {"tf": 7.416198487095663}, "pamda.pamda.pamda.hasPath": {"tf": 7.483314773547883}, "pamda.pamda.pamda.hardRound": {"tf": 7.280109889280518}, "pamda.pamda.pamda.head": {"tf": 6.082762530298219}, "pamda.pamda.pamda.inc": {"tf": 5.916079783099616}, "pamda.pamda.pamda.intersection": {"tf": 7.211102550927978}, "pamda.pamda.pamda.map": {"tf": 7.615773105863909}, "pamda.pamda.pamda.mean": {"tf": 6.708203932499369}, "pamda.pamda.pamda.median": {"tf": 7.280109889280518}, "pamda.pamda.pamda.mergeDeep": {"tf": 8.48528137423857}, "pamda.pamda.pamda.nest": {"tf": 9.433981132056603}, "pamda.pamda.pamda.nestItem": {"tf": 9.433981132056603}, "pamda.pamda.pamda.path": {"tf": 7.280109889280518}, "pamda.pamda.pamda.pathOr": {"tf": 8.06225774829855}, "pamda.pamda.pamda.pipe": {"tf": 9.539392014169456}, "pamda.pamda.pamda.pluck": {"tf": 7.615773105863909}, "pamda.pamda.pamda.pluckIf": {"tf": 8.774964387392123}, "pamda.pamda.pamda.reduce": {"tf": 7.745966692414834}, "pamda.pamda.pamda.safeDivide": {"tf": 7.280109889280518}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 8}, "pamda.pamda.pamda.symmetricDifference": {"tf": 7.211102550927978}, "pamda.pamda.pamda.tail": {"tf": 6.082762530298219}, "pamda.pamda.pamda.thunkify": {"tf": 8.06225774829855}, "pamda.pamda.pamda.unnest": {"tf": 6.4031242374328485}, "pamda.pamda.pamda.zip": {"tf": 7.0710678118654755}, "pamda.pamda.pamda.zipObj": {"tf": 7.14142842854285}, "pamda.pamda_curry": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 5.5677643628300215}, "pamda.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 10.770329614269007}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 6.244997998398398}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 5.0990195135927845}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 6.164414002968976}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 6.324555320336759}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 8.06225774829855}, "pamda.pamda_wrappers": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1.7320508075688772}}, "df": 70, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}}, "df": 5, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2.449489742783178}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2.23606797749979}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.curryTyped": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.getArity": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2.449489742783178}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 2.449489742783178}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 51, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 5}}}}}}}, "m": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 16, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 2.449489742783178}}, "df": 1}, ":": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 13}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}}, "df": 7, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.605551275463989}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 2.449489742783178}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 12, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 12}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 11, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 16}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 2}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 50}, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}}, "df": 1, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 4}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 2}, "d": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 3}}}}}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 3, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1}}}}, "w": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.asyncRun": {"tf": 3}, "pamda.pamda.pamda.asyncWait": {"tf": 2.449489742783178}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.dissocPath": {"tf": 3}, "pamda.pamda.pamda.flatten": {"tf": 2.23606797749979}, "pamda.pamda.pamda.flip": {"tf": 4.123105625617661}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.hardRound": {"tf": 2.23606797749979}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 2.449489742783178}, "pamda.pamda.pamda.map": {"tf": 2.23606797749979}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.nestItem": {"tf": 3.3166247903554}, "pamda.pamda.pamda.path": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.pathOr": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluck": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pluckIf": {"tf": 3.605551275463989}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 3}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 2.449489742783178}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zipObj": {"tf": 2.6457513110645907}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 3.3166247903554}}, "df": 51, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 9, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 9}, "d": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 14}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2}, "pamda.pamda.pamda.reduce": {"tf": 2}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 8}}}, "e": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 2.23606797749979}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 9, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.8284271247461903}}, "df": 8, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 2}}, "df": 1}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 4}}, "l": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 5}}, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2}}, "df": 2, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}}, "df": 6, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, ":": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}, "+": {"docs": {}, "df": 0, "b": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 2}}, "b": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 2}, "pamda.pamda.pamda.groupKeys": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupWith": {"tf": 2.23606797749979}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.intersection": {"tf": 2.23606797749979}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nest": {"tf": 2.449489742783178}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.23606797749979}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zipObj": {"tf": 2.6457513110645907}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 34, "s": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 8}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}, "z": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 2.449489742783178}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.median": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nest": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.23606797749979}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 41}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 3}}}, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 21, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 3}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 8, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 3}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 10}}}}}, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}}, "df": 2}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 5}}, "e": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 6}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 18, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 15}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 24, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 9}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}}, "df": 5, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 12}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 2}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 17}, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 22}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "b": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.difference": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 2.449489742783178}, "pamda.pamda.pamda.zipObj": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 29, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 16}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2.449489742783178}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 12, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}, ":": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "r": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 4}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 14, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 12}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 3}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 5}}, "e": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 11}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2.8284271247461903}}, "df": 1}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 5}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 3.4641016151377544}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 15, "i": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 9}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 3}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}}, "df": 2}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 51}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 4}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 7}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.asyncWait": {"tf": 2.6457513110645907}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 51}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 3}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPathComplex": {"tf": 3}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.23606797749979}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 3}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pathOr": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pipe": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pluck": {"tf": 2}, "pamda.pamda.pamda.pluckIf": {"tf": 2}, "pamda.pamda.pamda.reduce": {"tf": 3}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.3166247903554}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.6457513110645907}}, "df": 49, "n": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}, "m": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 15}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 14}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2}}, "df": 4}}}, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}}, "df": 4}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 2.23606797749979}, "pamda.pamda.pamda.assocPath": {"tf": 2.23606797749979}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 2}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 2}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 2.23606797749979}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2.449489742783178}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.3166247903554}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 46}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}}, "df": 7, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.449489742783178}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.curry": {"tf": 1}}, "df": 3, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}, "d": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 3.605551275463989}, "pamda.pamda.pamda.asyncWait": {"tf": 2.8284271247461903}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}}, "df": 3}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 15, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 2}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}, "d": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 6}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 2}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "y": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "n": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "o": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 4, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 28, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 8}}}, "n": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 5}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 7, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 11}}, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}}, "df": 4}, "x": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 2.449489742783178}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 5, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "h": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 8}}, "s": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 12, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 7}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}}, "df": 8, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2.23606797749979}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 2}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.head": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.mean": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.median": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.mergeDeep": {"tf": 3.3166247903554}, "pamda.pamda.pamda.nest": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pathOr": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.449489742783178}, "pamda.pamda.pamda.reduce": {"tf": 2.23606797749979}, "pamda.pamda.pamda.tail": {"tf": 2}, "pamda.pamda.pamda.unnest": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 29}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 11, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 14}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}}, "df": 6}}}}}}}}, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 8}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 2}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 10, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 6}}}}}, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.6457513110645907}}, "df": 2}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 2}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 6, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 10}}}}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2.23606797749979}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.getArity": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 47}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.dissocPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pathOr": {"tf": 3}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pluckIf": {"tf": 2.6457513110645907}}, "df": 11}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 3}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 4}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 3}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 6}}, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 3}}}}}}}}, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 5, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 32, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 14}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 3}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 2}}}}}, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 5}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}}, "df": 8}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 2}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.449489742783178}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.groupKeys": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 46}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 8}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 6, "s": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}}, "df": 1}}}}}, "c": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 17, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}}, "df": 7, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curry": {"tf": 2}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 2.23606797749979}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 6, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 7}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 5}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 3}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.605551275463989}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 3}}, "df": 1}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 4}, "d": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 3}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 4, "d": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 4}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.nestItem": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.449489742783178}}, "df": 7, ":": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "[": {"1": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 5}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"pamda": {"fullname": "pamda", "modulename": "pamda", "kind": "module", "doc": "

    \n"}, "pamda.pamda": {"fullname": "pamda.pamda", "modulename": "pamda.pamda", "kind": "module", "doc": "

    \n"}, "pamda.pamda.pamda": {"fullname": "pamda.pamda.pamda", "modulename": "pamda.pamda", "qualname": "pamda", "kind": "class", "doc": "

    \n", "bases": "pamda.pamda_utils.pamda_utils"}, "pamda.pamda.pamda.accumulate": {"fullname": "pamda.pamda.pamda.accumulate", "modulename": "pamda.pamda", "qualname": "pamda.accumulate", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns an accumulated list of items by iterating a function starting with an accumulator over a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to reduce
      • \n
      • Note: This function should have an arity of 2 (take two inputs)
      • \n
      • Note: The first input should take the accumulator value
      • \n
      • Note: The second input should take the data value\n-initial_accumulator:
      • \n
      • Type: any
      • \n
      • What: The initial item to pass into the function when starting the accumulation process
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list of items to iterate over
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3,4]\npamda.accumulate(\n    fn=pamda.add,\n    initial_accumulator=0,\n    data=data\n)\n#=> [1,3,6,10]\n\n
    \n", "signature": "(self, fn, initial_accumulator, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.add": {"fullname": "pamda.pamda.pamda.add", "modulename": "pamda.pamda", "qualname": "pamda.add", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Adds two numbers
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The first number to add
      • \n
    • \n
    • b:\n
        \n
      • Type: int | float
      • \n
      • What: The second number to add
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.add(1, 2) #=> 3\n
    \n", "signature": "(\tself,\ta: [<class 'int'>, <class 'float'>],\tb: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.adjust": {"fullname": "pamda.pamda.pamda.adjust", "modulename": "pamda.pamda", "qualname": "pamda.adjust", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Adjusts an item in a list by applying a function to it
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • index:\n
        \n
      • Type: int
      • \n
      • What: The 0 based index of the item in the list to adjust
      • \n
      • Note: Indicies are accepted
      • \n
      • Note: If the index is out of range, picks the (-)first / (+)last item
      • \n
    • \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function to apply the index item to
      • \n
      • Note: This is automatically curried
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list to adjust
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,5,9]\npamda.adjust(\n    index=1,\n    fn=pamda.inc,\n    data=data\n) #=> [1,6,9]\n
    \n", "signature": "(self, index: int, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.assocPath": {"fullname": "pamda.pamda.pamda.assocPath", "modulename": "pamda.pamda", "qualname": "pamda.assocPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Ensures a path exists within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to check
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • value:\n
        \n
      • Type: any
      • \n
      • What: The value to appropriate to the end of the path
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary in which to associate the given value to the given path
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.assocPath(path=['a','c'], value=3, data=data) #=> {'a':{'b':1, 'c':3}}\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], value, data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.assocPathComplex": {"fullname": "pamda.pamda.pamda.assocPathComplex", "modulename": "pamda.pamda", "qualname": "pamda.assocPathComplex", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Ensures a path exists within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default:\n
        \n
      • Type: any
      • \n
      • What: The default item to add to a path that does not yet exist
      • \n
    • \n
    • default_fn:\n
        \n
      • Type: function | method
      • \n
      • What: A unary (single input) function that takes in the current path item (or default) and adjusts it
      • \n
      • Example: lambda x: x # Returns the value in the dict or the default value if none was present
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to check
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to check if the path exists
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.assocPathComplex(default=[2], default_fn=lambda x:x+[1], path=['a','c'], data=data) #=> {'a':{'b':1,'c':[2,1]}}\n
    \n", "signature": "(\tself,\tdefault,\tdefault_fn,\tpath: [<class 'str'>, <class 'list'>],\tdata: dict):", "funcdef": "def"}, "pamda.pamda.pamda.asyncRun": {"fullname": "pamda.pamda.pamda.asyncRun", "modulename": "pamda.pamda", "qualname": "pamda.asyncRun", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Runs the supplied function asychronously
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: thunkified function | thunkified method
      • \n
      • What: The function or method to run asychronously
      • \n
      • Note: The supplied fn must have an arity of 0
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • To pass inputs to a function in asyncRun, first thunkify the function and pass all arguments before calling asyncRun on it
    • \n
    • To get the results of an asyncRun call asyncWait
    • \n
    • A thunkified function with arity of 0 can call asyncRun on itself
    • \n
    \n\n

    Examples:

    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    print(f'{name} start')\n    time.sleep(wait)\n    print(f'{name} end')\n\nasync_test = pamda.asyncRun(test('a',2))\nsync_test = test('b',1)()\n
    \n\n

    Output:

    \n\n
    a start\nb start\nb end\na end\n
    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(async_test.asyncWait()) #=> a: 2\n
    \n\n

    Input:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = test('a',2).asyncRun()\nprint(async_test.asyncWait()) #=> a: 2\n
    \n", "signature": "(self, fn: pamda.pamda_curry.curry_obj):", "funcdef": "def"}, "pamda.pamda.pamda.asyncWait": {"fullname": "pamda.pamda.pamda.asyncWait", "modulename": "pamda.pamda", "qualname": "pamda.asyncWait", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Waits for a supplied function (if needed) and returns the results
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method for which to wait
      • \n
      • Note: The supplied fn must have previously called asyncRun
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • A thunkified function that has called asyncRun can call asyncWait on itself
    • \n
    \n\n

    Examples:

    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(pamda.asyncWait(async_test)) #=> a: 2\n
    \n\n
    import time\n\n@pamda.thunkify\ndef test(name, wait):\n    time.sleep(wait)\n    return f\"{name}: {wait}\"\n\nasync_test = pamda.asyncRun(test('a',2))\nprint(async_test.asyncWait()) #=> a: 2\n
    \n", "signature": "(self, fn: pamda.pamda_curry.curry_obj):", "funcdef": "def"}, "pamda.pamda.pamda.clamp": {"fullname": "pamda.pamda.pamda.clamp", "modulename": "pamda.pamda", "qualname": "pamda.clamp", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces data to be within minimum and maximum
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • minimum:\n
        \n
      • Type: int | float
      • \n
      • What: The minimum number
      • \n
    • \n
    • maximum:\n
        \n
      • Type: int | float
      • \n
      • What: The maximum number
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to clamp
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.clamp(1, 3, 2) #=> 2\npamda.clamp(1, 3, 5) #=> 3\n
    \n", "signature": "(\tself,\tminimum: [<class 'int'>, <class 'float'>],\tmaximum: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.curry": {"fullname": "pamda.pamda.pamda.curry", "modulename": "pamda.pamda", "qualname": "pamda.curry", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Curries a function such that inputs can be added interatively
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to curry
      • \n
      • Note: Class methods auto apply self during curry
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Once curried, the function | method becomes a curry_obj object
    • \n
    • The initial function is only called once all inputs are passed
    • \n
    \n\n

    Examples:

    \n\n
    curriedZip=pamda.curry(pamda.zip)\ncurriedZip(['a','b'])([1,2]) #=> [['a',1],['b',2]]\n\n# Curried functions can be thunkified at any time\n# See also thunkify\nzipThunk=curriedZip.thunkify()(['a','b'])([1,2])\nzipThunk() #=> [['a',1],['b',2]]\n
    \n\n
    def myFunction(a,b,c):\n    return [a,b,c]\n\ncurriedMyFn=pamda.curry(myFunction)\n\ncurriedMyFn(1,2,3) #=> [1,2,3]\ncurriedMyFn(1)(2,3) #=> [1,2,3]\n\nx=curriedMyFn(1)(2)\nx(3) #=> [1,2,3]\nx(4) #=> [1,2,4]\n\n\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.curryTyped": {"fullname": "pamda.pamda.pamda.curryTyped", "modulename": "pamda.pamda", "qualname": "pamda.curryTyped", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Curries a function such that inputs can be added interatively and function annotations are type checked at runtime
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to curry
      • \n
      • Note: Class methods auto apply self during curry
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Once curried, the function | method becomes a curry_obj object
    • \n
    • The initial function is only called once all inputs are passed
    • \n
    \n\n

    Examples:

    \n\n
    @pamda.curryTyped\ndef add(a:int,b:int):\n    return a+b\n\nadd(1)(1) #=> 2\nadd(1)(1.5) #=> Raises type exception\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.dec": {"fullname": "pamda.pamda.pamda.dec", "modulename": "pamda.pamda", "qualname": "pamda.dec", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Decrements a number by one
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to decrement
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.dec(42) #=> 41\n
    \n", "signature": "(self, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.difference": {"fullname": "pamda.pamda.pamda.difference", "modulename": "pamda.pamda", "qualname": "pamda.difference", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicate items present in the first list but not the second
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to compare when looking for the difference
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.difference(a=a, b=b) #=> ['a']\npamda.difference(a=b, b=a) #=> ['c']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.dissocPath": {"fullname": "pamda.pamda.pamda.dissocPath", "modulename": "pamda.pamda", "qualname": "pamda.dissocPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Removes the value at the end of a path within a nested dictionary
    • \n
    • Note: This updates the object in place, but also returns the object
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to remove from the dictionary
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary with a path to be removed
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':{'c':0,'d':1}}}\npamda.dissocPath(path=['a','b','c'], data=data) #=> {'a':{'b':{'d':1}}}\n
    \n", "signature": "(self, path: [<class 'str'>, <class 'list'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.flatten": {"fullname": "pamda.pamda.pamda.flatten", "modulename": "pamda.pamda", "qualname": "pamda.flatten", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Flattens a list of lists of lists ... into a single list depth first
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of lists
      • \n
      • What: The list of lists to reduce to a single list\nExample:
      • \n
    • \n
    \n\n
    data=[['a','b'],[1,[2]]]\npamda.flatten(data=data) #=> ['a','b',1,2]\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.flip": {"fullname": "pamda.pamda.pamda.flip", "modulename": "pamda.pamda", "qualname": "pamda.flip", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a new function equivalent to the supplied function except that the first two inputs are flipped
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to flip
      • \n
      • Note: This function must have an arity of at least 2 (take two inputs)
      • \n
      • Note: Only args are flipped, kwargs are passed as normal
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Input functions are not flipped in place
    • \n
    • The returned function is a flipped version of the input function
    • \n
    • A curried function can be flipped in place by calling fn.flip()
    • \n
    • A function can be flipped multiple times:\n
        \n
      • At each flip, the first and second inputs for the function as it is currently curried are switched
      • \n
      • Flipping a function two times before adding an input will return the initial value
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\nflip_concat=pamda.flip(concat)\n\nconcat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'\nflip_concat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'\n
    \n\n
    @pamda.curry\ndef concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\nconcat('fe-','fi-','fo-','fum') #=> 'fe-fi-fo-fum'\n\nconcat.flip()\n\nconcat('fe-','fi-','fo-','fum') #=> 'fi-fe-fo-fum'\n
    \n\n
    @pamda.curry\ndef concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\na=pamda.flip(concat)('fi-')\nb=pamda.flip(a)('fo-')\nc=pamda.flip(b)('fum')\nc('fe-') #=> 'fe-fi-fo-fum'\n
    \n\n
    def concat(a,b,c,d):\n    return str(a)+str(b)+str(c)+str(d)\n\na=pamda.flip(concat)('fi-').flip()('fo-').flip()('fum')\na('fe-') #=> 'fe-fi-fo-fum'\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.getArity": {"fullname": "pamda.pamda.pamda.getArity", "modulename": "pamda.pamda", "qualname": "pamda.getArity", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Gets the arity (number of inputs left to be specified) of a function or method (curried or uncurried)
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to get the arity of
      • \n
      • Note: Class methods remove one arity to account for self
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    pamda.getArity(pamda.zip) #=> 2\ncurriedZip=pamda.curry(pamda.zip)\nABCuriedZip=curriedZip(['a','b'])\npamda.getArity(ABCuriedZip) #=> 1\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.groupBy": {"fullname": "pamda.pamda.pamda.groupBy", "modulename": "pamda.pamda", "qualname": "pamda.groupBy", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list into a dictionary of sublists keyed by the return string of a provided function
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to group by
      • \n
      • Note: Must return a string
      • \n
      • Note: This function must be unary (take one input)
      • \n
      • Note: This function is applied to each item in the list recursively
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: List of items to apply the function to and then group by the results
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def getGrade(item):\n    score=item['score']\n    if score>90:\n        return 'A'\n    elif score>80:\n        return 'B'\n    elif score>70:\n        return 'C'\n    elif score>60:\n        return 'D'\n    else:\n        return 'F'\n\ndata=[\n    {'name':'Connor', 'score':75},\n    {'name':'Fred', 'score':79},\n    {'name':'Joe', 'score':84},\n]\npamda.groupBy(getGrade,data)\n#=>{\n#=>    'B':[{'name':'Joe', 'score':84}]\n#=>    'C':[{'name':'Connor', 'score':75},{'name':'Fred', 'score':79}]\n#=>}\n
    \n", "signature": "(self, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.groupKeys": {"fullname": "pamda.pamda.pamda.groupKeys", "modulename": "pamda.pamda", "qualname": "pamda.groupKeys", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list of dicts into a list of sublists of dicts separated by values with equal keys
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The keys to group by
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: List of dictionaries with which to match keys
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[\n    {'color':'red', 'size':9, 'shape':'ball'},\n    {'color':'red', 'size':10, 'shape':'ball'},\n    {'color':'green', 'size':11, 'shape':'ball'},\n    {'color':'green', 'size':12, 'shape':'square'}\n]\npamda.groupKeys(['color','shape'],data)\n#=> [\n#=>     [{'color': 'red', 'size': 9, 'shape': 'ball'}, {'color': 'red', 'size': 10, 'shape': 'ball'}],\n#=>     [{'color': 'green', 'size': 11, 'shape': 'ball'}],\n#=>     [{'color': 'green', 'size': 12, 'shape': 'square'}]\n#=> ]\n
    \n", "signature": "(self, keys: list, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.groupWith": {"fullname": "pamda.pamda.pamda.groupWith", "modulename": "pamda.pamda", "qualname": "pamda.groupWith", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Splits a list into a list of sublists where each sublist is determined by adjacent pairwise comparisons from a provided function
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to groub with
      • \n
      • Note: Must return a boolean value
      • \n
      • Note: This function must have an arity of two (take two inputs)
      • \n
      • Note: This function is applied to each item plus the next adjacent item in the list recursively
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: List of items to apply the function to and then group the results
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    def areEqual(a,b):\n    return a==b\n\ndata=[1,2,3,1,1,2,2,3,3,3]\npamda.groupWith(areEqual,data) #=> [[1], [2], [3], [1, 1], [2, 2], [3, 3, 3]]\n
    \n", "signature": "(self, fn, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.hasPath": {"fullname": "pamda.pamda.pamda.hasPath", "modulename": "pamda.pamda", "qualname": "pamda.hasPath", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Checks if a path exists within a nested dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to check
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to check if the path exists
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.hasPath(path=['a','b'], data=data) #=> True\npamda.hasPath(path=['a','d'], data=data) #=> False\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.hardRound": {"fullname": "pamda.pamda.pamda.hardRound", "modulename": "pamda.pamda", "qualname": "pamda.hardRound", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Rounds to a set number of decimal places regardless of floating point math in python
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • decimal_places:\n
        \n
      • Type: int
      • \n
      • What: The number of decimal places to round to
      • \n
      • Default: 0
      • \n
      • Notes: Negative numbers accepted (EG -1 rounds to the nearest 10)
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to round
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=12.345\npamda.hardRound(1,a) #=> 12.3\npamda.hardRound(-1,a) #=> 10\n
    \n", "signature": "(self, decimal_places: int, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.head": {"fullname": "pamda.pamda.pamda.head", "modulename": "pamda.pamda", "qualname": "pamda.head", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Picks the first item out of a list or string
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list | str
      • \n
      • What: A list or string
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=['fe','fi','fo','fum']\npamda.first(\n    data=data\n) #=> fe\n
    \n", "signature": "(self, data: [<class 'list'>, <class 'str'>]):", "funcdef": "def"}, "pamda.pamda.pamda.inc": {"fullname": "pamda.pamda.pamda.inc", "modulename": "pamda.pamda", "qualname": "pamda.inc", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Increments a number by one
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The number to increment
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.inc(42) #=> 43\n
    \n", "signature": "(self, a: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.intersection": {"fullname": "pamda.pamda.pamda.intersection", "modulename": "pamda.pamda", "qualname": "pamda.intersection", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicates composed of those elements common to both lists
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for an intersection
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for an intersection
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.intersection(a=a, b=b) #=> ['b']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.map": {"fullname": "pamda.pamda.pamda.map", "modulename": "pamda.pamda", "qualname": "pamda.map", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Maps a function over a list or a dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to map over the list or dictionary
      • \n
      • Note: This function should have an arity of 1
      • \n
    • \n
    • data:\n
        \n
      • Type: list | dict
      • \n
      • What: The list or dict of items to map the function over
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[1,2,3]\npamda.map(\n    fn=pamda.inc,\n    data=data\n)\n#=> [2,3,4]\n
    \n\n
    data={'a':1,'b':2,'c':3}\npamda.map(\n    fn=pamda.inc,\n    data=data\n)\n#=> {'a':2,'b':3,'c':4}\n
    \n", "signature": "(self, fn, data: [<class 'list'>, <class 'dict'>]):", "funcdef": "def"}, "pamda.pamda.pamda.mean": {"fullname": "pamda.pamda.pamda.mean", "modulename": "pamda.pamda", "qualname": "pamda.mean", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Calculates the mean of a given list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of (floats | ints)
      • \n
      • What: The list with wich to calculate the mean
      • \n
      • Note: If the length of this list is 0, returns None
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3]\npamda.mean(data=data)\n#=> 2\n
    \n\n
    data=[]\npamda.mean(data=data)\n#=> None\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.median": {"fullname": "pamda.pamda.pamda.median", "modulename": "pamda.pamda", "qualname": "pamda.median", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Calculates the median of a given list
    • \n
    • If the length of the list is even, calculates the mean of the two central values
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list of (floats | ints)
      • \n
      • What: The list with wich to calculate the mean
      • \n
      • Note: If the length of this list is 0, returns None
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=[7,2,8,9]\npamda.median(data=data)\n#=> 7.5\n
    \n\n
    data=[7,8,9]\npamda.median(data=data)\n#=> 8\n
    \n\n
    data=[]\npamda.median(data=data)\n#=> None\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.mergeDeep": {"fullname": "pamda.pamda.pamda.mergeDeep", "modulename": "pamda.pamda", "qualname": "pamda.mergeDeep", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Recursively merges two nested dictionaries keeping all keys at each layer
    • \n
    • Values from update_data are used when keys are present in both dictionaries
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • update_data:\n
        \n
      • Type: any
      • \n
      • What: The new data that will take precedence during merging
      • \n
    • \n
    • data:\n
        \n
      • Type: any
      • \n
      • What: The original data that will be merged into
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':{'c':'d'},'e':'f'}}\nupdate_data={'a':{'b':{'h':'i'},'e':'g'}}\npamda.mergeDeep(\n    update_data=update_data,\n    data=data\n) #=> {'a':{'b':{'c':'d','h':'i'},'e':'g'}}\n
    \n", "signature": "(self, update_data, data):", "funcdef": "def"}, "pamda.pamda.pamda.nest": {"fullname": "pamda.pamda.pamda.nest", "modulename": "pamda.pamda", "qualname": "pamda.nest", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Nests a list of dictionaries into a nested dictionary
    • \n
    • Similar items are appended to a list in the end of the nested dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path_keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The variables to pull from each item in data
      • \n
      • Note: Used to build out the nested dicitonary
      • \n
      • Note: Order matters as the nesting occurs in order of variable
      • \n
    • \n
    • value_key:\n
        \n
      • Type: str
      • \n
      • What: The variable to add to the list at the end of the nested dictionary path
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to use for nesting purposes
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[\n    {'x_1':'a','x_2':'b', 'output':'c'},\n    {'x_1':'a','x_2':'b', 'output':'d'},\n    {'x_1':'a','x_2':'e', 'output':'f'}\n]\npamda.nest(\n    path_keys=['x_1','x_2'],\n    value_key='output',\n    data=data\n) #=> {'a':{'b':['c','d'], 'e':['f']}}\n
    \n", "signature": "(self, path_keys: list, value_key: str, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.nestItem": {"fullname": "pamda.pamda.pamda.nestItem", "modulename": "pamda.pamda", "qualname": "pamda.nestItem", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Nests a list of dictionaries into a nested dictionary
    • \n
    • Similar items are appended to a list in the end of the nested dictionary
    • \n
    • Similar to nest, except no values are plucked for the aggregated list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path_keys:\n
        \n
      • Type: list of strs
      • \n
      • What: The variables to pull from each item in data
      • \n
      • Note: Used to build out the nested dicitonary
      • \n
      • Note: Order matters as the nesting occurs in order of variable
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to use for nesting purposes
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[\n    {'x_1':'a','x_2':'b'},\n    {'x_1':'a','x_2':'b'},\n    {'x_1':'a','x_2':'e'}\n]\npamda.nestItem\n    path_keys=['x_1','x_2'],\n    data=data\n)\n#=> {'a': {'b': [{'x_1': 'a', 'x_2': 'b'}, {'x_1': 'a', 'x_2': 'b'}], 'e': [{'x_1': 'a', 'x_2': 'e'}]}}\n\n
    \n", "signature": "(self, path_keys: list, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.path": {"fullname": "pamda.pamda.pamda.path", "modulename": "pamda.pamda", "qualname": "pamda.path", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the value of a path within a nested dictionary or None if the path does not exist
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.path(path=['a','b'], data=data) #=> 1\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pathOr": {"fullname": "pamda.pamda.pamda.pathOr", "modulename": "pamda.pamda", "qualname": "pamda.pathOr", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the value of a path within a nested dictionary or a default value if that path does not exist
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default:\n
        \n
      • Type: any
      • \n
      • What: The object to return if the path does not exist
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs | str
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data={'a':{'b':1}}\npamda.path(default=2, path=['a','c'], data=data) #=> 2\n
    \n", "signature": "(self, default, path: [<class 'list'>, <class 'str'>], data: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pipe": {"fullname": "pamda.pamda.pamda.pipe", "modulename": "pamda.pamda", "qualname": "pamda.pipe", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Pipes data through n functions in order (left to right composition) and returns the output
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fns:\n
        \n
      • Type: list of (functions | methods)
      • \n
      • What: The list of functions and methods to pipe the data through
      • \n
      • Notes: The first function in the list can be any arity (accepting any number of inputs)
      • \n
      • Notes: Any further function in the list can only be unary (single input)
      • \n
      • Notes: A function can be curried, but is not required to be
      • \n
      • Notes: You may opt to curry functions and add inputs to make them unary
      • \n
    • \n
    • args:\n
        \n
      • Type: tuple
      • \n
      • What: a tuple of positional arguments to pass to the first function in fns
      • \n
    • \n
    • kwargs:\n
        \n
      • Type: dict
      • \n
      • What: a dictionary of keyword arguments to pass to the first function in fns
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=['abc','def']\npamda.pipe(fns=[pamda.head, pamda.tail], args=(data), kwargs={}) #=> 'c'\npamda.pipe(fns=[pamda.head, pamda.tail], args=(), kwargs={'data':data}) #=> 'c'\n
    \n\n
    data={'a':{'b':'c'}}\ncurriedPath=pamda.curry(pamda.path)\npamda.pipe(fns=[curriedPath('a'), curriedPath('b')], args=(), kwargs={'data':data}) #=> 'c'\n
    \n", "signature": "(self, fns: list, args: tuple, kwargs: dict):", "funcdef": "def"}, "pamda.pamda.pamda.pluck": {"fullname": "pamda.pamda.pamda.pluck", "modulename": "pamda.pamda", "qualname": "pamda.pluck", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the values of a path within a list of nested dictionaries
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionaries to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]\npamda.pluck(path=['a','b'], data=data) #=> [1,2]\n
    \n", "signature": "(self, path: [<class 'list'>, <class 'str'>], data: list):", "funcdef": "def"}, "pamda.pamda.pamda.pluckIf": {"fullname": "pamda.pamda.pamda.pluckIf", "modulename": "pamda.pamda", "qualname": "pamda.pluckIf", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the values of a path within a list of nested dictionaries if a path in those same dictionaries matches a value
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function
      • \n
      • What: A function to take in each item in data and return a boolean
      • \n
      • Note: Only items that return true are plucked
      • \n
    • \n
    • path:\n
        \n
      • Type: list of strs
      • \n
      • What: The path to pull given the data
      • \n
      • Note: If a string is passed, assumes a single item path list with that string
      • \n
    • \n
    • data:\n
        \n
      • Type: list of dicts
      • \n
      • What: A list of dictionary to get the path from
      • \n
    • \n
    \n\n

    Example:

    \n\n
    \ndata=[{'a':{'b':1, 'c':'d'}},{'a':{'b':2, 'c':'e'}}]\npamda.pluck(fn:lambda x: x['a']['b']==1, path=['a','c'], data=data) #=> ['d']\n
    \n", "signature": "(self, fn, path: [<class 'list'>, <class 'str'>], data: list):", "funcdef": "def"}, "pamda.pamda.pamda.reduce": {"fullname": "pamda.pamda.pamda.reduce", "modulename": "pamda.pamda", "qualname": "pamda.reduce", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a single item by iterating a function starting with an accumulator over a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to reduce
      • \n
      • Note: This function should have an arity of 2 (take two inputs)
      • \n
      • Note: The first input should take the accumulator value
      • \n
      • Note: The second input should take the data value\n-initial_accumulator:
      • \n
      • Type: any
      • \n
      • What: The initial item to pass into the function when starting the accumulation process
      • \n
    • \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: The list of items to iterate over
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=[1,2,3,4]\npamda.reduce(\n    fn=pamda.add,\n    initial_accumulator=0,\n    data=data\n)\n#=> 10\n\n
    \n", "signature": "(self, fn, initial_accumulator, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.safeDivide": {"fullname": "pamda.pamda.pamda.safeDivide", "modulename": "pamda.pamda", "qualname": "pamda.safeDivide", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces division to work by enforcing a denominator of 1 if the provided denominator is zero
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • denominator:

      \n\n
        \n
      • Type: int | float
      • \n
      • What: The denominator
      • \n
    • \n
    • a:

      \n\n
        \n
      • Type: int | float
      • \n
      • What: The numerator
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.safeDivide(2,10) #=> 5\npamda.safeDivide(0,10) #=> 10\n
    \n", "signature": "(\tself,\tdenominator: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.safeDivideDefault": {"fullname": "pamda.pamda.pamda.safeDivideDefault", "modulename": "pamda.pamda", "qualname": "pamda.safeDivideDefault", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Forces division to work by enforcing a non zero default denominator if the provided denominator is zero
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • default_denominator:\n
        \n
      • Type: int | float
      • \n
      • What: A non zero denominator to use if denominator is zero
      • \n
      • Default: 1
      • \n
    • \n
    • denominator:\n
        \n
      • Type: int | float
      • \n
      • What: The denominator
      • \n
    • \n
    • a:\n
        \n
      • Type: int | float
      • \n
      • What: The numerator
      • \n
    • \n
    \n\n

    Example:

    \n\n
    pamda.safeDivideDefault(2,5,10) #=> 2\npamda.safeDivideDefault(2,0,10) #=> 5\n
    \n", "signature": "(\tself,\tdefault_denominator: [<class 'int'>, <class 'float'>],\tdenominator: [<class 'int'>, <class 'float'>],\ta: [<class 'int'>, <class 'float'>]):", "funcdef": "def"}, "pamda.pamda.pamda.symmetricDifference": {"fullname": "pamda.pamda.pamda.symmetricDifference", "modulename": "pamda.pamda", "qualname": "pamda.symmetricDifference", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Combines two lists into a list of no duplicates items present in one list but not the other
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items in which to look for a difference
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=['b','c']\npamda.symmetricDifference(a=a, b=b) #=> ['a','c']\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.tail": {"fullname": "pamda.pamda.pamda.tail", "modulename": "pamda.pamda", "qualname": "pamda.tail", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Picks the last item out of a list or string
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list | str
      • \n
      • What: A list or string
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data=['fe','fi','fo','fum']\npamda.tail(\n    data=data\n) #=> fum\n
    \n", "signature": "(self, data: [<class 'str'>, <class 'list'>]):", "funcdef": "def"}, "pamda.pamda.pamda.thunkify": {"fullname": "pamda.pamda.pamda.thunkify", "modulename": "pamda.pamda", "qualname": "pamda.thunkify", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a curried thunk out of a function
    • \n
    • Evaluation of the thunk lazy and is delayed until called
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The function or method to thunkify
      • \n
      • Note: Thunkified functions are automatically curried
      • \n
      • Note: Class methods auto apply self during thunkify
      • \n
    • \n
    \n\n

    Notes:

    \n\n
      \n
    • Input functions are not thunkified in place
    • \n
    • The returned function is a thunkified version of the input function
    • \n
    • A curried function can be thunkified in place by calling fn.thunkify()
    • \n
    \n\n

    Examples:

    \n\n
    def add(a,b):\n    return a+b\n\naddThunk=pamda.thunkify(add)\n\nadd(1,2) #=> 3\naddThunk(1,2)\naddThunk(1,2)() #=> 3\n\nx=addThunk(1,2)\nx() #=> 3\n
    \n\n
    @pamda.curry\ndef add(a,b):\n    return a+b\n\nadd(1,2) #=> 3\n\nadd.thunkify()\n\nadd(1,2)\nadd(1,2)() #=> 3\n
    \n", "signature": "(self, fn):", "funcdef": "def"}, "pamda.pamda.pamda.unnest": {"fullname": "pamda.pamda.pamda.unnest", "modulename": "pamda.pamda", "qualname": "pamda.unnest", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Removes one level of depth for all items in a list
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • data:\n
        \n
      • Type: list
      • \n
      • What: A list of items to unnest by one level
      • \n
    • \n
    \n\n

    Examples:

    \n\n
    data=['fe','fi',['fo',['fum']]]\npamda.unnest(\n    data=data\n) #=> ['fe','fi','fo',['fum']]\n
    \n", "signature": "(self, data: list):", "funcdef": "def"}, "pamda.pamda.pamda.zip": {"fullname": "pamda.pamda.pamda.zip", "modulename": "pamda.pamda", "qualname": "pamda.zip", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a new list out of the two supplied by pairing up equally-positioned items from both lists
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list first
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list second
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=[1,2]\npamda.zip(a=a, b=b) #=> [['a',1],['b',2]]\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda.pamda.zipObj": {"fullname": "pamda.pamda.pamda.zipObj", "modulename": "pamda.pamda", "qualname": "pamda.zipObj", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Creates a new dict out of two supplied lists by pairing up equally-positioned items from both lists
    • \n
    • The first list represents keys and the second values
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • a:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list first
      • \n
    • \n
    • b:\n
        \n
      • Type: list
      • \n
      • What: List of items to appear in new list second
      • \n
    • \n
    \n\n

    Example:

    \n\n
    a=['a','b']\nb=[1,2]\npamda.zipObj(a=a, b=b) #=> {'a':1, 'b':2}\n
    \n", "signature": "(self, a: list, b: list):", "funcdef": "def"}, "pamda.pamda_curry": {"fullname": "pamda.pamda_curry", "modulename": "pamda.pamda_curry", "kind": "module", "doc": "

    \n"}, "pamda.pamda_curry.curry_obj": {"fullname": "pamda.pamda_curry.curry_obj", "modulename": "pamda.pamda_curry", "qualname": "curry_obj", "kind": "class", "doc": "

    \n"}, "pamda.pamda_curry.curry_obj.__init__": {"fullname": "pamda.pamda_curry.curry_obj.__init__", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.__init__", "kind": "function", "doc": "

    \n", "signature": "(\t__fn__,\t*__args__,\t__flips__=[],\t__fnExecute__=None,\t__isThunk__=False,\t__isTypeEnforced__=False,\t**__kwargs__)"}, "pamda.pamda_curry.curry_obj.thunkify": {"fullname": "pamda.pamda_curry.curry_obj.thunkify", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.thunkify", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.flip": {"fullname": "pamda.pamda_curry.curry_obj.flip", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.flip", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.typeEnforce": {"fullname": "pamda.pamda_curry.curry_obj.typeEnforce", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.typeEnforce", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.asyncRun": {"fullname": "pamda.pamda_curry.curry_obj.asyncRun", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.asyncRun", "kind": "function", "doc": "

    \n", "signature": "(self, daemon=False):", "funcdef": "def"}, "pamda.pamda_curry.curry_obj.asyncWait": {"fullname": "pamda.pamda_curry.curry_obj.asyncWait", "modulename": "pamda.pamda_curry", "qualname": "curry_obj.asyncWait", "kind": "function", "doc": "

    \n", "signature": "(self):", "funcdef": "def"}, "pamda.pamda_timer": {"fullname": "pamda.pamda_timer", "modulename": "pamda.pamda_timer", "kind": "module", "doc": "

    \n"}, "pamda.pamda_timer.pamda_timer": {"fullname": "pamda.pamda_timer.pamda_timer", "modulename": "pamda.pamda_timer", "qualname": "pamda_timer", "kind": "class", "doc": "

    \n"}, "pamda.pamda_timer.pamda_timer.__init__": {"fullname": "pamda.pamda_timer.pamda_timer.__init__", "modulename": "pamda.pamda_timer", "qualname": "pamda_timer.__init__", "kind": "function", "doc": "

    Function:

    \n\n

    Initialize a pamda_timer object.

    \n\n
      \n
    • Note: This object is used for bare minimum in script timing purposes.
    • \n
    \n\n

    Required:

    \n\n
      \n
    • fn:\n
        \n
      • Type: function | method
      • \n
      • What: The name of the process being timed
      • \n
    • \n
    \n", "signature": "(__fn__)"}, "pamda.pamda_utils": {"fullname": "pamda.pamda_utils", "modulename": "pamda.pamda_utils", "kind": "module", "doc": "

    \n"}, "pamda.pamda_utils.pamda_utils": {"fullname": "pamda.pamda_utils.pamda_utils", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils", "kind": "class", "doc": "

    \n"}, "pamda.pamda_utils.pamda_utils.read_csv": {"fullname": "pamda.pamda_utils.pamda_utils.read_csv", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.read_csv", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Reads the contents of a csv and converts it to list of dicts or list of lists
    • \n
    • Note: The csv must have a header row indicating the names of each column
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the csv to read\n
          \n
        • Note: The first row of the csv must be the header row
        • \n
      • \n
    • \n
    \n\n

    Optional:

    \n\n
      \n
    • return_dict:\n
        \n
      • Type: bool
      • \n
      • What: Flag to indicate if the csv should be converted to:\n
          \n
        • True: list of dicts (with each key being the associated column header)
        • \n
        • False: list of lists (with the first row being the headers)
        • \n
      • \n
      • Default: True
      • \n
      • Notes:\n
          \n
        • This has been deprecated in favor of return_type
        • \n
        • This has been kept for backwards compatibility
        • \n
        • If return_type is specified, this will be ignored
        • \n
      • \n
    • \n
    • return_type:\n
        \n
      • Type: str
      • \n
      • Options:\n
          \n
        • list_of_dicts (default if return_dict is True)\n
            \n
          • A list of dictionaries with each key being the associated column header
          • \n
        • \n
        • dict_of_lists\n
            \n
          • A dictionary of lists with each key being the associated column header and each value being a list of the values in that column
          • \n
        • \n
        • list_of_row_lists\n
            \n
          • A list of lists (records) with each row being a list of the values in that row
          • \n
          • The first row is the header row
          • \n
        • \n
        • list_of_col_lists\n
            \n
          • A list of lists (columns) with each column being a list of the values in that column
          • \n
          • The first item in each sublist is the header for that column
          • \n
        • \n
      • \n
    • \n
    • cast_items:\n
        \n
      • Type: bool
      • \n
      • What: Flag to indicate if an attempt to cast each item to a proper type
      • \n
      • Default: True
      • \n
      • Note: This is useful for converting strings to ints, floats, etc.
      • \n
      • Note: This works in conjunction with cast_dict\n
          \n
        • If cast_dict is not None, then an automated attempt to cast the items will be made
        • \n
        • For automated casting, the following rules are applied to each item in the data:\n
            \n
          • If the item is a string:\n
              \n
            • If the string is empty, None will be returned
            • \n
            • If the string is \"None\" or \"null\", None will be returned
            • \n
            • If the string is \"True\" or \"true\", True will be returned
            • \n
            • If the string is \"False\" or \"false\", False will be returned
            • \n
            • If the string is a valid float, the float will be returned
            • \n
            • If the string is a valid int, the int will be returned
            • \n
            • Otherwise, the string will be returned
            • \n
          • \n
          • If the item is not a string, it will be returned as is
          • \n
        • \n
      • \n
    • \n
    • cast_dict:\n
        \n
      • Type: dict
      • \n
      • What: A dictionary of functions to cast each column (by name) in the csv
      • \n
      • Default: None
      • \n
      • Note: Unspecified column names will be treated as strings
      • \n
      • Note: cast_items must be True to use this
      • \n
      • EG: {\n'user_id': lambda x: int(x),\n'year': lambda x: int(x),\n'pass': lambda x: x.lower()=='true',\n}
      • \n
    • \n
    \n", "signature": "(\tfilename: str,\treturn_dict: bool = True,\tcast_items: bool = True,\tcast_dict: [<class 'dict'>, None] = None,\treturn_type: [<class 'str'>, None] = None):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.write_csv": {"fullname": "pamda.pamda_utils.pamda_utils.write_csv", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.write_csv", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Writes the contents of a list of list or list of dicts to a csv
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the csv to read
      • \n
    • \n
    • data:\n
        \n
      • Type: list of lists | list of dicts
      • \n
      • What: The data to write
      • \n
    • \n
    \n", "signature": "(filename: str, data):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.read_json": {"fullname": "pamda.pamda_utils.pamda_utils.read_json", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.read_json", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Reads the contents of a json
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the json to read
      • \n
    • \n
    \n", "signature": "(filename: str):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.write_json": {"fullname": "pamda.pamda_utils.pamda_utils.write_json", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.write_json", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Writes the contents of a list of list or list of dicts to a json
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • filename:\n
        \n
      • Type: str
      • \n
      • What: The filepath of the json to write
      • \n
    • \n
    • data:\n
        \n
      • Type: A json serializable python object
      • \n
      • What: The data to write
      • \n
    • \n
    \n", "signature": "(filename: str, data, pretty: bool = False):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.getMethods": {"fullname": "pamda.pamda_utils.pamda_utils.getMethods", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.getMethods", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns the callable methods of a class (dunder-excluded) as a list of strs
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • object:\n
        \n
      • Type: any
      • \n
      • What: Any python object
      • \n
      • Default: 1
      • \n
    • \n
    \n\n

    Example:

    \n\n
    class MyClass:\n    def A(self):\n        pass\n\n    def B(self):\n        pass\n\n\npamda.getMethods(MyClass) #=> ['A', 'B']\n
    \n", "signature": "(object):", "funcdef": "def"}, "pamda.pamda_utils.pamda_utils.getForceDict": {"fullname": "pamda.pamda_utils.pamda_utils.getForceDict", "modulename": "pamda.pamda_utils", "qualname": "pamda_utils.getForceDict", "kind": "function", "doc": "

    Function:

    \n\n
      \n
    • Returns a value from a dictionary (or list) given a key (or index) and forces that value to be a dictionary if it is not a dictionary (or a list)
    • \n
    • Note: This updates the object in place to force the value from the key to be a dictionary
    • \n
    \n\n

    Requires:

    \n\n
      \n
    • object:\n
        \n
      • Type: dict | list
      • \n
      • What: The object from which to look for a key or index
      • \n
    • \n
    • key:\n
        \n
      • Type: str | int
      • \n
      • What: The key or index to look up in the object
      • \n
    • \n
    \n\n

    Example:

    \n\n
    data = {'a':{}, 'b':1, 'c':[]}\n\npamda.getForceDict(data, 'a') #=> {}\npamda.getForceDict(data, 'b') #=> {}\npamda.getForceDict(data, 'c') #=> []\n\n# Note that the object has been updated in place\ndata #=> {'a':{}, 'b':{}, 'c':[]}\n
    \n", "signature": "(\tobject: [<class 'dict'>, <class 'list'>],\tkey: [<class 'str'>, <class 'int'>]):", "funcdef": "def"}, "pamda.pamda_wrappers": {"fullname": "pamda.pamda_wrappers", "modulename": "pamda.pamda_wrappers", "kind": "module", "doc": "

    \n"}, "pamda.pamda_wrappers.typed_curry_wrap": {"fullname": "pamda.pamda_wrappers.typed_curry_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "typed_curry_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}, "pamda.pamda_wrappers.staticmethod_wrap": {"fullname": "pamda.pamda_wrappers.staticmethod_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "staticmethod_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}, "pamda.pamda_wrappers.classmethod_wrap": {"fullname": "pamda.pamda_wrappers.classmethod_wrap", "modulename": "pamda.pamda_wrappers", "qualname": "classmethod_wrap", "kind": "function", "doc": "

    \n", "signature": "(clsFnMethod):", "funcdef": "def"}}, "docInfo": {"pamda": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda.pamda": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 3}, "pamda.pamda.pamda.accumulate": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 170}, "pamda.pamda.pamda.add": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 80}, "pamda.pamda.pamda.adjust": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 158}, "pamda.pamda.pamda.assocPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 168}, "pamda.pamda.pamda.assocPathComplex": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 211}, "pamda.pamda.pamda.asyncRun": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 261}, "pamda.pamda.pamda.asyncWait": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 169}, "pamda.pamda.pamda.clamp": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 66, "bases": 0, "doc": 112}, "pamda.pamda.pamda.curry": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 207}, "pamda.pamda.pamda.curryTyped": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 133}, "pamda.pamda.pamda.dec": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 57}, "pamda.pamda.pamda.difference": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 129}, "pamda.pamda.pamda.dissocPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 148}, "pamda.pamda.pamda.flatten": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 81}, "pamda.pamda.pamda.flip": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 362}, "pamda.pamda.pamda.getArity": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 106}, "pamda.pamda.pamda.groupBy": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 219}, "pamda.pamda.pamda.groupKeys": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 197}, "pamda.pamda.pamda.groupWith": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 176}, "pamda.pamda.pamda.hasPath": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 128}, "pamda.pamda.pamda.hardRound": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 122}, "pamda.pamda.pamda.head": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 70}, "pamda.pamda.pamda.inc": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 57}, "pamda.pamda.pamda.intersection": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 114}, "pamda.pamda.pamda.map": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 147}, "pamda.pamda.pamda.mean": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 98}, "pamda.pamda.pamda.median": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 134}, "pamda.pamda.pamda.mergeDeep": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 157}, "pamda.pamda.pamda.nest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 230}, "pamda.pamda.pamda.nestItem": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 228}, "pamda.pamda.pamda.path": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 127}, "pamda.pamda.pamda.pathOr": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 157}, "pamda.pamda.pamda.pipe": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 266}, "pamda.pamda.pamda.pluck": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 137}, "pamda.pamda.pamda.pluckIf": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 196}, "pamda.pamda.pamda.reduce": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 165}, "pamda.pamda.pamda.safeDivide": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 98}, "pamda.pamda.pamda.safeDivideDefault": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 67, "bases": 0, "doc": 130}, "pamda.pamda.pamda.symmetricDifference": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 116}, "pamda.pamda.pamda.tail": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 70}, "pamda.pamda.pamda.thunkify": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 195}, "pamda.pamda.pamda.unnest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 82}, "pamda.pamda.pamda.zip": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 114}, "pamda.pamda.pamda.zipObj": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 124}, "pamda.pamda_curry": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.__init__": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.thunkify": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.flip": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.typeEnforce": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.asyncRun": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "pamda.pamda_curry.curry_obj.asyncWait": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_timer": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_timer.pamda_timer": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_timer.pamda_timer.__init__": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 62}, "pamda.pamda_utils": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_utils.pamda_utils": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_utils.pamda_utils.read_csv": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 83, "bases": 0, "doc": 689}, "pamda.pamda_utils.pamda_utils.write_csv": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 80}, "pamda.pamda_utils.pamda_utils.read_json": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 45}, "pamda.pamda_utils.pamda_utils.write_json": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 78}, "pamda.pamda_utils.pamda_utils.getMethods": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 82}, "pamda.pamda_utils.pamda_utils.getForceDict": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 181}, "pamda.pamda_wrappers": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.typed_curry_wrap": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.staticmethod_wrap": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "pamda.pamda_wrappers.classmethod_wrap": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}}, "length": 70, "save": true}, "index": {"qualname": {"root": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda": {"tf": 1}, "pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 54}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.path": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pathOr": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 2}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 9, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.head": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.tail": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_timer.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 7}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 7}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "fullname": {"root": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda": {"tf": 1}, "pamda.pamda": {"tf": 1.4142135623730951}, "pamda.pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flatten": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.inc": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.path": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.tail": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_curry": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda_timer": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.7320508075688772}, "pamda.pamda_utils": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1.4142135623730951}}, "df": 70}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.path": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pathOr": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 2}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda_curry": {"tf": 1}, "pamda.pamda_curry.curry_obj": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 10, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.head": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.tail": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_timer": {"tf": 1}, "pamda.pamda_timer.pamda_timer": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils": {"tf": 1}, "pamda.pamda_utils.pamda_utils": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 8}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda_curry.curry_obj": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 7}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_wrappers": {"tf": 1}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 4}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.add": {"tf": 4.58257569495584}, "pamda.pamda.pamda.adjust": {"tf": 5.477225575051661}, "pamda.pamda.pamda.assocPath": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.assocPathComplex": {"tf": 5.916079783099616}, "pamda.pamda.pamda.asyncRun": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.asyncWait": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.clamp": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.curry": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.curryTyped": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.dec": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.difference": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.dissocPath": {"tf": 4.69041575982343}, "pamda.pamda.pamda.flatten": {"tf": 4.242640687119285}, "pamda.pamda.pamda.flip": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.getArity": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.groupBy": {"tf": 4.69041575982343}, "pamda.pamda.pamda.groupKeys": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.groupWith": {"tf": 4.69041575982343}, "pamda.pamda.pamda.hasPath": {"tf": 4.69041575982343}, "pamda.pamda.pamda.hardRound": {"tf": 4.69041575982343}, "pamda.pamda.pamda.head": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.inc": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.intersection": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.map": {"tf": 4.242640687119285}, "pamda.pamda.pamda.mean": {"tf": 4.242640687119285}, "pamda.pamda.pamda.median": {"tf": 4.242640687119285}, "pamda.pamda.pamda.mergeDeep": {"tf": 4.242640687119285}, "pamda.pamda.pamda.nest": {"tf": 5.830951894845301}, "pamda.pamda.pamda.nestItem": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.path": {"tf": 4.69041575982343}, "pamda.pamda.pamda.pathOr": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.pipe": {"tf": 5.830951894845301}, "pamda.pamda.pamda.pluck": {"tf": 4.69041575982343}, "pamda.pamda.pamda.pluckIf": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.reduce": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.safeDivide": {"tf": 4.58257569495584}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.symmetricDifference": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.tail": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.thunkify": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.unnest": {"tf": 4.242640687119285}, "pamda.pamda.pamda.zip": {"tf": 5.0990195135927845}, "pamda.pamda.pamda.zipObj": {"tf": 5.0990195135927845}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 8.602325267042627}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.flip": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 3.1622776601683795}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 4.242640687119285}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 3.1622776601683795}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 3.1622776601683795}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 7.280109889280518}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 4.242640687119285}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 3.7416573867739413}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 5.656854249492381}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 3.1622776601683795}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 4}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 3.1622776601683795}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 3.1622776601683795}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 3.1622776601683795}}, "df": 60, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1}}, "df": 49}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 16}}}, "f": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 17, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 9}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 12, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 26}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 30}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}}, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1}}, "df": 3}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}, "x": {"2": {"7": {"docs": {"pamda.pamda.pamda.add": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.dec": {"tf": 2}, "pamda.pamda.pamda.dissocPath": {"tf": 2}, "pamda.pamda.pamda.hasPath": {"tf": 2}, "pamda.pamda.pamda.hardRound": {"tf": 2}, "pamda.pamda.pamda.head": {"tf": 2}, "pamda.pamda.pamda.inc": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.path": {"tf": 2}, "pamda.pamda.pamda.pathOr": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 2}, "pamda.pamda.pamda.pluckIf": {"tf": 2}, "pamda.pamda.pamda.safeDivide": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.tail": {"tf": 2}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.8284271247461903}}, "df": 20}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 20}}, "b": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 6, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 10}}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 3}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_curry.curry_obj.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "doc": {"root": {"0": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 10}, "1": {"0": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 6}, "1": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}}, "df": 1}, "2": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 3.3166247903554}, "pamda.pamda.pamda.curryTyped": {"tf": 2}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 31}, "2": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 3.3166247903554}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 26}, "3": {"4": {"5": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.groupWith": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}}, "df": 11}, "4": {"1": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}, "2": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}}, "df": 2}, "3": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 4}, "5": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 6}, "6": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 2}, "7": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "5": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "9": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pamda.pamda.pamda.median": {"tf": 1.7320508075688772}}, "df": 1}, "8": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "4": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pamda.pamda.pamda.median": {"tf": 1.7320508075688772}}, "df": 1}, "9": {"0": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}, "docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 3}, "docs": {"pamda": {"tf": 1.7320508075688772}, "pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.accumulate": {"tf": 7.745966692414834}, "pamda.pamda.pamda.add": {"tf": 6.928203230275509}, "pamda.pamda.pamda.adjust": {"tf": 8.18535277187245}, "pamda.pamda.pamda.assocPath": {"tf": 8.306623862918075}, "pamda.pamda.pamda.assocPathComplex": {"tf": 9.16515138991168}, "pamda.pamda.pamda.asyncRun": {"tf": 9.273618495495704}, "pamda.pamda.pamda.asyncWait": {"tf": 7.810249675906654}, "pamda.pamda.pamda.clamp": {"tf": 7.874007874011811}, "pamda.pamda.pamda.curry": {"tf": 8.306623862918075}, "pamda.pamda.pamda.curryTyped": {"tf": 7.0710678118654755}, "pamda.pamda.pamda.dec": {"tf": 5.916079783099616}, "pamda.pamda.pamda.difference": {"tf": 7.416198487095663}, "pamda.pamda.pamda.dissocPath": {"tf": 7.681145747868608}, "pamda.pamda.pamda.flatten": {"tf": 5.916079783099616}, "pamda.pamda.pamda.flip": {"tf": 9.327379053088816}, "pamda.pamda.pamda.getArity": {"tf": 6.4031242374328485}, "pamda.pamda.pamda.groupBy": {"tf": 8.660254037844387}, "pamda.pamda.pamda.groupKeys": {"tf": 9.591663046625438}, "pamda.pamda.pamda.groupWith": {"tf": 7.416198487095663}, "pamda.pamda.pamda.hasPath": {"tf": 7.483314773547883}, "pamda.pamda.pamda.hardRound": {"tf": 7.280109889280518}, "pamda.pamda.pamda.head": {"tf": 6.082762530298219}, "pamda.pamda.pamda.inc": {"tf": 5.916079783099616}, "pamda.pamda.pamda.intersection": {"tf": 7.211102550927978}, "pamda.pamda.pamda.map": {"tf": 7.615773105863909}, "pamda.pamda.pamda.mean": {"tf": 6.708203932499369}, "pamda.pamda.pamda.median": {"tf": 7.280109889280518}, "pamda.pamda.pamda.mergeDeep": {"tf": 8.48528137423857}, "pamda.pamda.pamda.nest": {"tf": 9.433981132056603}, "pamda.pamda.pamda.nestItem": {"tf": 9.433981132056603}, "pamda.pamda.pamda.path": {"tf": 7.280109889280518}, "pamda.pamda.pamda.pathOr": {"tf": 8.06225774829855}, "pamda.pamda.pamda.pipe": {"tf": 9.539392014169456}, "pamda.pamda.pamda.pluck": {"tf": 7.615773105863909}, "pamda.pamda.pamda.pluckIf": {"tf": 8.774964387392123}, "pamda.pamda.pamda.reduce": {"tf": 7.745966692414834}, "pamda.pamda.pamda.safeDivide": {"tf": 7.280109889280518}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 8}, "pamda.pamda.pamda.symmetricDifference": {"tf": 7.211102550927978}, "pamda.pamda.pamda.tail": {"tf": 6.082762530298219}, "pamda.pamda.pamda.thunkify": {"tf": 8.06225774829855}, "pamda.pamda.pamda.unnest": {"tf": 6.4031242374328485}, "pamda.pamda.pamda.zip": {"tf": 7.0710678118654755}, "pamda.pamda.pamda.zipObj": {"tf": 7.14142842854285}, "pamda.pamda_curry": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.__init__": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.flip": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.typeEnforce": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda_curry.curry_obj.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 5.5677643628300215}, "pamda.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 15.297058540778355}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 6.244997998398398}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 5.0990195135927845}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 6.164414002968976}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 6.324555320336759}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 8.06225774829855}, "pamda.pamda_wrappers": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.typed_curry_wrap": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.staticmethod_wrap": {"tf": 1.7320508075688772}, "pamda.pamda_wrappers.classmethod_wrap": {"tf": 1.7320508075688772}}, "df": 70, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}}, "df": 5, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2.449489742783178}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2.23606797749979}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.curryTyped": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.getArity": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2.449489742783178}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 2.449489742783178}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 51, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 5}}}}}}}, "m": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 16, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 2.449489742783178}}, "df": 1}, ":": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}}, "df": 13}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 8, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.605551275463989}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 2.449489742783178}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 12, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 4}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 12}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.4641016151377544}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 4}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}}, "df": 11, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 16}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}}, "df": 3}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 50}, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}}, "df": 1, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 4}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 2}, "d": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 3}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 3, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1}}}}, "w": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3}}, "df": 1}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.asyncRun": {"tf": 3}, "pamda.pamda.pamda.asyncWait": {"tf": 2.449489742783178}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.dissocPath": {"tf": 3}, "pamda.pamda.pamda.flatten": {"tf": 2.23606797749979}, "pamda.pamda.pamda.flip": {"tf": 4.123105625617661}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.hardRound": {"tf": 2.23606797749979}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 2.449489742783178}, "pamda.pamda.pamda.map": {"tf": 2.23606797749979}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.nestItem": {"tf": 3.3166247903554}, "pamda.pamda.pamda.path": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.pathOr": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluck": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pluckIf": {"tf": 3.605551275463989}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 3}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 2.449489742783178}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zipObj": {"tf": 2.6457513110645907}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.872983346207417}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 3.3166247903554}}, "df": 51, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 9, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 9}, "d": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 14}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2}, "pamda.pamda.pamda.reduce": {"tf": 2}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 8}}}, "e": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 2.23606797749979}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 10, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.8284271247461903}}, "df": 8, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 2}}, "df": 1}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 4}}, "l": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 5}}, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2}}, "df": 2, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}}, "df": 6, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, ":": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}, "+": {"docs": {}, "df": 0, "b": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 2}}, "b": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 2}, "pamda.pamda.pamda.groupKeys": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupWith": {"tf": 2.23606797749979}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.intersection": {"tf": 2.23606797749979}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nest": {"tf": 2.449489742783178}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.23606797749979}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.tail": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.zipObj": {"tf": 2.6457513110645907}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.605551275463989}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 34, "s": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}}, "df": 8}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}, "z": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 2.449489742783178}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.median": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nest": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.23606797749979}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 4.58257569495584}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 41}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 3}}}, "r": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 21, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 3}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 8, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 3}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 10}}}}}, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}}, "df": 2}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 5}}, "e": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 6}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}}, "df": 18, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 15}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 24, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 9}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}}, "df": 5, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 12}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 2.23606797749979}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 2}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.inc": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.605551275463989}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 17}, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.872983346207417}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 22}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "b": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.difference": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 2.449489742783178}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 2.449489742783178}, "pamda.pamda.pamda.zipObj": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 29, "y": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 16}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2.449489742783178}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.7416573867739413}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 12, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.6457513110645907}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 2}}}, ":": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "r": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 4}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 14, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 12}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3}}, "df": 11, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 3}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 5}}, "e": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 11}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2.8284271247461903}}, "df": 1}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 5}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 2}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 3.4641016151377544}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.6457513110645907}}, "df": 15, "i": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 9}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.3166247903554}}, "df": 3}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}}, "df": 2}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 51}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}}, "df": 4}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 7}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.asyncWait": {"tf": 2.6457513110645907}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 51}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 3}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPath": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.assocPathComplex": {"tf": 3}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 2.23606797749979}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 3}, "pamda.pamda.pamda.nestItem": {"tf": 2.449489742783178}, "pamda.pamda.pamda.path": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pathOr": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pipe": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pluck": {"tf": 2}, "pamda.pamda.pamda.pluckIf": {"tf": 2}, "pamda.pamda.pamda.reduce": {"tf": 3}, "pamda.pamda.pamda.safeDivide": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 6}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.6457513110645907}}, "df": 49, "n": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 3}, "m": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 15}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 15}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2}}, "df": 4}}}, "y": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}}, "df": 4}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 2.23606797749979}, "pamda.pamda.pamda.assocPath": {"tf": 2.23606797749979}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flatten": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 2}, "pamda.pamda.pamda.groupKeys": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 2}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 2.23606797749979}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2.449489742783178}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.4641016151377544}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 46}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}}, "df": 7, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.449489742783178}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.curry": {"tf": 1}}, "df": 3, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}, "d": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 3.605551275463989}, "pamda.pamda.pamda.asyncWait": {"tf": 2.8284271247461903}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3}}, "df": 3}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 15, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.mean": {"tf": 2}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 2}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}, "d": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 6}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {"pamda.pamda.pamda.map": {"tf": 2}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.map": {"tf": 1}}, "df": 1}}, "y": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "n": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1, "o": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 4, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 10, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.adjust": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 28, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 9}}}, "n": {"docs": {"pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.23606797749979}}, "df": 5}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.add": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dec": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.inc": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 7, "s": {"docs": {"pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 2}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 11}}, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.zipObj": {"tf": 1.7320508075688772}}, "df": 4}, "x": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.asyncWait": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 2.449489742783178}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 5, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "h": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 8}}, "s": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.6457513110645907}}, "df": 1, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 13, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}}, "df": 8}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}}, "df": 8, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 2.23606797749979}, "pamda.pamda.pamda.adjust": {"tf": 2}, "pamda.pamda.pamda.assocPath": {"tf": 2}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 2}, "pamda.pamda.pamda.flatten": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupWith": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.hasPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.head": {"tf": 2}, "pamda.pamda.pamda.map": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.mean": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.median": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.mergeDeep": {"tf": 3.3166247903554}, "pamda.pamda.pamda.nest": {"tf": 2.23606797749979}, "pamda.pamda.pamda.nestItem": {"tf": 2.23606797749979}, "pamda.pamda.pamda.path": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pathOr": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 2.23606797749979}, "pamda.pamda.pamda.pluckIf": {"tf": 2.449489742783178}, "pamda.pamda.pamda.reduce": {"tf": 2.23606797749979}, "pamda.pamda.pamda.tail": {"tf": 2}, "pamda.pamda.pamda.unnest": {"tf": 2}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 30}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.6457513110645907}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 11, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 14}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 7}}}}}}}}, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 8}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 2}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.dissocPath": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 10, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 6}}}}}, "c": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.dec": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 2}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2.6457513110645907}}, "df": 2}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 2}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 6, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 10}}}}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 2.23606797749979}, "pamda.pamda.pamda.asyncWait": {"tf": 2.23606797749979}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.getArity": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 2}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 3}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 47}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.assocPathComplex": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.dissocPath": {"tf": 2.449489742783178}, "pamda.pamda.pamda.hasPath": {"tf": 2.6457513110645907}, "pamda.pamda.pamda.nest": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.path": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.pathOr": {"tf": 3}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 2.449489742783178}, "pamda.pamda.pamda.pluckIf": {"tf": 2.6457513110645907}}, "df": 11}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 3}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 4}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 2}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}}, "df": 3}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1.7320508075688772}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 6}}, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 3}}}}}}}}, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 5, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1}, "pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 32, "s": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.unnest": {"tf": 1}}, "df": 14}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 3}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 2}}}}}, "d": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1}}, "df": 5}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}}, "df": 2}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.3166247903554}}, "df": 8}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {"pamda.pamda.pamda.hardRound": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 2}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {"pamda.pamda.pamda.accumulate": {"tf": 1}, "pamda.pamda.pamda.add": {"tf": 1}, "pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.clamp": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 2.449489742783178}, "pamda.pamda.pamda.curryTyped": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dec": {"tf": 1}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda.pamda.flatten": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 2.449489742783178}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupBy": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.groupKeys": {"tf": 2.23606797749979}, "pamda.pamda.pamda.groupWith": {"tf": 1}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hardRound": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.head": {"tf": 1}, "pamda.pamda.pamda.inc": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.median": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda.pamda.reduce": {"tf": 1}, "pamda.pamda.pamda.safeDivide": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}, "pamda.pamda.pamda.tail": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 2.23606797749979}, "pamda.pamda.pamda.unnest": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2}}, "df": 46}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 8}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.path": {"tf": 1}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pluck": {"tf": 1}, "pamda.pamda.pamda.pluckIf": {"tf": 1}}, "df": 6, "s": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.groupKeys": {"tf": 1}, "pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 3, "b": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}}, "df": 1}}}}}, "c": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.difference": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.dissocPath": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.flip": {"tf": 3.1622776601683795}, "pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.map": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pathOr": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}, "pamda.pamda.pamda.pluck": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pluckIf": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1.7320508075688772}}, "df": 17, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.adjust": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1.7320508075688772}}, "df": 7, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.curry": {"tf": 2}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pamda.pamda.pamda.curry": {"tf": 2.23606797749979}, "pamda.pamda.pamda.curryTyped": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 6, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.hasPath": {"tf": 1.4142135623730951}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.curryTyped": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pamda.pamda.pamda.hasPath": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.asyncWait": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.asyncWait": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1}}, "df": 2, "s": {"docs": {"pamda.pamda.pamda.mean": {"tf": 1}, "pamda.pamda.pamda.median": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "n": {"docs": {"pamda.pamda.pamda.asyncRun": {"tf": 1}, "pamda.pamda.pamda.asyncWait": {"tf": 1}, "pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.flip": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.pipe": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 7}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.8284271247461903}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.clamp": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.curryTyped": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1}, "pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getMethods": {"tf": 1.4142135623730951}}, "df": 5}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}, "pamda.pamda.pamda.intersection": {"tf": 1}, "pamda.pamda.pamda.symmetricDifference": {"tf": 1}}, "df": 3}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.difference": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.groupWith": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda.pamda.intersection": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.flip": {"tf": 3.605551275463989}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_json": {"tf": 1}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 3}}, "df": 1}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 3.1622776601683795}}, "df": 1, "s": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.median": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}, "pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.449489742783178}, "pamda.pamda_utils.pamda_utils.write_csv": {"tf": 1.4142135623730951}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.zip": {"tf": 1}, "pamda.pamda.pamda.zipObj": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {"pamda.pamda.pamda.assocPath": {"tf": 1}, "pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.dissocPath": {"tf": 1}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 4}, "d": {"docs": {"pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}, "pamda.pamda.pamda.groupBy": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 1.4142135623730951}}, "df": 3}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.getArity": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda.pamda.thunkify": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.unnest": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 1}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 4, "d": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}, "pamda.pamda.pamda.nest": {"tf": 1}, "pamda.pamda.pamda.nestItem": {"tf": 1}, "pamda.pamda_timer.pamda_timer.__init__": {"tf": 1}}, "df": 4}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}, "x": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.curry": {"tf": 1.7320508075688772}, "pamda.pamda.pamda.nest": {"tf": 2.8284271247461903}, "pamda.pamda.pamda.nestItem": {"tf": 3.7416573867739413}, "pamda.pamda.pamda.pluckIf": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.thunkify": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 2.449489742783178}}, "df": 7, ":": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "[": {"1": {"docs": {"pamda.pamda.pamda.assocPathComplex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1}, "pamda.pamda.pamda.getArity": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zip": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pamda.pamda.pamda.curry": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"pamda.pamda.pamda.safeDivide": {"tf": 1}, "pamda.pamda.pamda.safeDivideDefault": {"tf": 2}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pamda.pamda.pamda.flip": {"tf": 1}, "pamda.pamda.pamda.pipe": {"tf": 2}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1.7320508075688772}, "pamda.pamda_utils.pamda_utils.getForceDict": {"tf": 2.23606797749979}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pamda.pamda.pamda.groupKeys": {"tf": 2}, "pamda.pamda.pamda.mergeDeep": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nest": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.nestItem": {"tf": 1.4142135623730951}, "pamda.pamda.pamda.zipObj": {"tf": 1}}, "df": 5}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pamda.pamda.pamda.pipe": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pamda.pamda.pamda.mergeDeep": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pamda.pamda_utils.pamda_utils.read_csv": {"tf": 1}}, "df": 1}}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "e": {"docs": {"pamda.pamda.pamda.groupBy": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pamda.pamda_utils.pamda_utils.read_json": {"tf": 1.4142135623730951}, "pamda.pamda_utils.pamda_utils.write_json": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; // mirrored in build-search-index.js (part 1) // Also split on html tags. this is a cheap heuristic, but good enough. diff --git a/pamda/__init__.py b/pamda/__init__.py index aa7c3b7..e6f0037 100755 --- a/pamda/__init__.py +++ b/pamda/__init__.py @@ -1,2 +1 @@ from .pamda import pamda - diff --git a/pamda/pamda.py b/pamda/pamda.py index 33dedec..1e80e1c 100644 --- a/pamda/pamda.py +++ b/pamda/pamda.py @@ -523,6 +523,7 @@ def flatten(self, data: list): pamda.flatten(data=data) #=> ['a','b',1,2] ``` """ + def iter_flatten(data): out = [] for i in data: @@ -531,6 +532,7 @@ def iter_flatten(data): else: out.append(i) return out + return iter_flatten(data) def flip(self, fn): @@ -722,8 +724,10 @@ def groupKeys(self, keys: list, data: list): #=> ] ``` """ + def keyFn(item): return str(([item[key] for key in keys])) + return list(self.groupBy(keyFn, data).values()) def groupWith(self, fn, data: list): @@ -1112,9 +1116,9 @@ def nest(self, path_keys: list, value_key: str, data: list): grouped_data = self.groupKeys(keys=path_keys, data=data) for item in grouped_data: nested_output = self.assocPath( - path = [item[0].get(key) for key in path_keys], - value = [i.get(value_key) for i in item], - data = nested_output + path=[item[0].get(key) for key in path_keys], + value=[i.get(value_key) for i in item], + data=nested_output, ) return nested_output @@ -1161,9 +1165,9 @@ def nestItem(self, path_keys: list, data: list): grouped_data = self.groupKeys(keys=path_keys, data=data) for item in grouped_data: nested_output = self.assocPath( - path = [item[0].get(key) for key in path_keys], - value = item, - data = nested_output + path=[item[0].get(key) for key in path_keys], + value=item, + data=nested_output, ) return nested_output @@ -1224,7 +1228,7 @@ def pathOr(self, default, path: [list, str], data: dict): path[-1], default ) - def pipe(self, fns: list, args:tuple, kwargs:dict): + def pipe(self, fns: list, args: tuple, kwargs: dict): """ Function: @@ -1302,9 +1306,7 @@ def pluck(self, path: [list, str], data: list): raise Exception("Attempting to pluck from an empty list") return [self.path(data=i, path=path) for i in data] - def pluckIf( - self, fn, path: [list, str], data: list - ): + def pluckIf(self, fn, path: [list, str], data: list): """ Function: diff --git a/pamda/pamda_curry.py b/pamda/pamda_curry.py index d90bc0d..cdfa2d8 100644 --- a/pamda/pamda_curry.py +++ b/pamda/pamda_curry.py @@ -89,7 +89,7 @@ def __unflipArgs__(self, args): args.insert(flip, arg) return tuple(args) - def __exception__(self, message, depth=0): + def __exception__(self, message): pre_message = ( f"({self.__fn__.__module__}.{self.__fn__.__qualname__}_curried): " ) diff --git a/pamda/pamda_timer.py b/pamda/pamda_timer.py index e155362..9b318a1 100644 --- a/pamda/pamda_timer.py +++ b/pamda/pamda_timer.py @@ -1,13 +1,12 @@ -from pamda.pamda_curry import curry_obj -from functools import update_wrapper import time + class pamda_timer: def __init__(self, __fn__): """ Function: - Initialize a pamda_timer object. + Initialize a pamda_timer object. - Note: This object is used for bare minimum in script timing purposes. Required: @@ -39,4 +38,4 @@ def __call__(self, *args, **kwargs): return out def __repr__(self): - return f"" \ No newline at end of file + return f"" diff --git a/pamda/pamda_utils.py b/pamda/pamda_utils.py index 138dbff..17b19ba 100644 --- a/pamda/pamda_utils.py +++ b/pamda/pamda_utils.py @@ -9,7 +9,11 @@ class pamda_utils: ###################### # Data Handling def read_csv( - filename: str, return_dict: bool = True, cast_items:bool = True, cast_dict: [dict, None] = None + filename: str, + return_dict: bool = True, + cast_items: bool = True, + cast_dict: [dict, None] = None, + return_type: [str, None] = None, ): """ Function: @@ -22,6 +26,7 @@ def read_csv( - `filename`: - Type: str - What: The filepath of the csv to read + - Note: The first row of the csv must be the header row Optional: @@ -31,6 +36,23 @@ def read_csv( - True: list of dicts (with each key being the associated column header) - False: list of lists (with the first row being the headers) - Default: True + - Notes: + - This has been deprecated in favor of `return_type` + - This has been kept for backwards compatibility + - If return_type is specified, this will be ignored + - `return_type`: + - Type: str + - Options: + - `list_of_dicts` (default if `return_dict` is True) + - A list of dictionaries with each key being the associated column header + - `dict_of_lists` + - A dictionary of lists with each key being the associated column header and each value being a list of the values in that column + - `list_of_row_lists` + - A list of lists (records) with each row being a list of the values in that row + - The first row is the header row + - `list_of_col_lists` + - A list of lists (columns) with each column being a list of the values in that column + - The first item in each sublist is the header for that column - `cast_items`: - Type: bool - What: Flag to indicate if an attempt to cast each item to a proper type @@ -38,6 +60,16 @@ def read_csv( - Note: This is useful for converting strings to ints, floats, etc. - Note: This works in conjunction with `cast_dict` - If `cast_dict` is not None, then an automated attempt to cast the items will be made + - For automated casting, the following rules are applied to each item in the data: + - If the item is a string: + - If the string is empty, `None` will be returned + - If the string is "None" or "null", `None` will be returned + - If the string is "True" or "true", `True` will be returned + - If the string is "False" or "false", `False` will be returned + - If the string is a valid float, the float will be returned + - If the string is a valid int, the int will be returned + - Otherwise, the string will be returned + - If the item is not a string, it will be returned as is - `cast_dict`: - Type: dict - What: A dictionary of functions to cast each column (by name) in the csv @@ -50,35 +82,60 @@ def read_csv( 'pass': lambda x: x.lower()=='true', } """ + assert return_type in [ + None, + "list_of_dicts", + "dict_of_lists", + "list_of_row_lists", + "list_of_col_lists", + ], f"Invalid return_type: {return_type}" with open(filename) as f: file_data = csv.reader(f, delimiter=",", quotechar='"') headers = next(file_data) - if cast_items: - if cast_dict is not None: - def cast(obj, name): - return cast_dict.get(name, lambda x: x)(obj) - else: - def cast(obj, name): - if not isinstance(obj, str): - return obj - if obj == "" or obj.lower() == 'none' or obj.lower() == 'null': - return None - if obj.lower() == "true": - return True - if obj.lower() == "false": - return False - try: - float_obj = float(obj) - return int(float_obj) if float_obj == int(float_obj) else float_obj - except: - return obj - data = [{header:cast(item,header) for header, item in zip(headers, row)} for row in file_data] - else: - data = [dict(zip(headers, row)) for row in file_data] - if return_dict: - return data + data = list(zip(*[row for row in file_data])) + if cast_items: + if cast_dict is not None: + for idx, header in enumerate(headers): + cast_fn = cast_dict.get(header, lambda x: x) + data[idx] = [cast_fn(item) for item in data[idx]] else: - return [headers]+[list(item.values()) for item in data] + + def cast(obj): + if not isinstance(obj, str): + return obj + obj_lower = obj.lower() + if obj == "" or obj_lower == "none" or obj_lower == "null": + return None + if obj_lower == "true": + return True + if obj_lower == "false": + return False + try: + float_obj = float(obj) + return ( + int(float_obj) + if float_obj == int(float_obj) + else float_obj + ) + except: + return obj + + for idx, header in enumerate(headers): + data[idx] = [cast(item) for item in data[idx]] + # Maintain backwards compatibility + # TODO: Deprecate this in the next major release + if return_type == None: + return_type = ( + "list_of_dicts" if return_dict else "list_of_row_lists" + ) + if return_type == "list_of_dicts": + return [dict(zip(headers, row)) for row in zip(*data)] + elif return_type == "dict_of_lists": + return {header: col for header, col in zip(headers, data)} + elif return_type == "list_of_row_lists": + return [headers] + [list(row) for row in zip(*data)] + elif return_type == "list_of_col_lists": + return [[header] + list(col) for header, col in zip(headers, data)] def write_csv(filename: str, data): """ diff --git a/pyproject.toml b/pyproject.toml index 0e4e38b..64b8f4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta" [project] name = "pamda" -version = "2.2.1" +version = "2.3.0" description = "Python wrapper for api use in the cave_app" authors = [ {name="Connor Makowski", email="conmak@mit.edu"} @@ -24,7 +24,7 @@ classifiers = [ 'License :: OSI Approved :: MIT License', "Operating System :: OS Independent", ] -dependencies = ["type_enforced>=0.0.16",] +dependencies = ["type_enforced>=1.2.0",] [project.urls] "Homepage" = "https://github.com/connor-makowski/pamda" diff --git a/setup.cfg b/setup.cfg index fe92ae9..ffdad97 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pamda -version = 2.2.1 +version = 2.3.0 description_file = README.md [options] diff --git a/test/type_check_tests.py b/test/type_check_tests.py new file mode 100644 index 0000000..adfe026 --- /dev/null +++ b/test/type_check_tests.py @@ -0,0 +1,36 @@ +""" +Test type_checking in pamda +""" +print('\n===============\nType Checking Tests:\n===============') +from pamda import pamda + +@pamda.curryTyped +def my_fn(a: int, b: list[str]) -> str: + return str(a) + b[0] + +try: + x = my_fn(1) +except: + x = None + +isPassing = True + +try: + x(['2']) +except: + isPassing = False + +try: + x([2]) + isPassing = False +except: + pass + +try: + x(2) + isPassing = False +except: + pass + +if not isPassing: + print('Type check test failed') \ No newline at end of file diff --git a/test/util_tests.py b/test/util_tests.py index 016dddd..3f3ca0c 100644 --- a/test/util_tests.py +++ b/test/util_tests.py @@ -11,4 +11,20 @@ data = pamda.read_csv('test_data/data.csv', cast_dict={'a':int, 'b':bool, 'c':float, 'd':str}) if data != [{'a':1, 'b':True, 'c':1.5, 'd':'abc'}]: - print('read_csv cast_dict failed') \ No newline at end of file + print('read_csv cast_dict failed') + +data = pamda.read_csv('test_data/data.csv', cast_items=False, return_type='list_of_dicts') +if data != [{'a':'1', 'b':'true', 'c':'1.5', 'd':'abc'}]: + print('read_csv (no inputs) failed') + +data = pamda.read_csv('test_data/data.csv', return_type='dict_of_lists') +if data != {'a':[1], 'b':[True], 'c':[1.5], 'd':['abc']}: + print('read_csv return_type=dict_of_lists failed') + +data = pamda.read_csv('test_data/data.csv', return_type='list_of_row_lists') +if data != [['a', 'b', 'c', 'd'], [1, True, 1.5, 'abc']]: + print('read_csv return_type=list_of_row_lists failed') + +data = pamda.read_csv('test_data/data.csv', return_type='list_of_col_lists') +if data != [['a', 1], ['b', True], ['c', 1.5], ['d', 'abc']]: + print('read_csv return_type=list_of_col_lists failed') \ No newline at end of file