From 2c3013c3e767c52dbd8b652ff4abd7d7008960e1 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Fri, 29 Sep 2023 13:54:58 -0400 Subject: [PATCH 01/49] new zip file for starting material --- starting_material.zip | Bin 0 -> 29269 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 starting_material.zip diff --git a/starting_material.zip b/starting_material.zip new file mode 100644 index 0000000000000000000000000000000000000000..e3ec2192c370292471e7d38d254928d0667c6912 GIT binary patch literal 29269 zcmagF1yr2PvMxM>yIZiqVQ@)+;0eJ3f#4e4-7Ux@xVr@i1Pzkl8r+=#!QI`Rf$+b4 z`(Nj-bMC(TuokSDrnkmCQ%(9zWRUrfIM49ovLQzBrFXds%`1@HeL@=9WYK_DnH2*mWCnHrnf zdz;ytaRLMUqlKp8O8tQUn}25FtLRP|EU9ZzWKy&aJXtM`G+9}7zVxAoGL@DIx(K`? zEX)L-h~7GMxqZLoELL0#_=BX4tJT@fiu& z4KI9hX=@-Hu^vdjSeIVuL9q`%g>-wb+$a6|HvIv_sdxF4B4s+Ssl3DJgR22aI+8t# zy?s4B#PQ_I=lwRR72{lw_FsOKEt83oQ7%GfA>-QY_>SAUr|tq5ja6+m_Q=;q@(X9b zehiMtgyJn(WPDUF%rlJGyCG77($?p!@qe#Slrv&4-u|1V^7;glgtP7T7USEE+0P%U z`e>>j+VnIbY;5;R32v0pNQnolmWzI8J|DqP8{+?{nrL+vHAV;oDmnpy=>M~-d5rCi z{x>~G`40YM6n0*0YBe5xK8M;bP^4X=;|LDk)2sHT8^tQZM#H0#h{xVJ9wx?Tpm%0I zH^0uNuCpdiV+e>~)A#=i_rF=sdfeW>yjvH4JU4he6#oksH}Joke!SoIfAsf%h^wN>%uY1z%$0;iR z^o7T}&KU8>3Gu((m*U&&njA8Zaw09SJC&UOo&g_)Tg3cshK282AB(0Te{WKb{XNGX z@5)*ymYekb?@sUNALIS%{AyzL%kWzD_Qmfml0NLV;$~B}o-A)YwqR!;ueXA14LC2p z1)fZD2aCBLe*yK}B&8$V8-XMrqdbvkoFBbT3|?v?xTdm!QLZ=lNw}|Q4G@AO@f*w3 z5d9Z6Pz`Ux;n3^HGkPD;-TEN061{87;|^R_mr`}a;Km^xf9o%o9;or}qE}!$GfJsF zXsWEZ^&6FuK_ld^bCL<8#4#dbPsPCMO)=bI=5Y|$;}YAqEr-&e!g#>9WaJkzEGJ$t?= z!olPHsM5z!XlM3S)Cb*csiGI62nt$69!?kJKkV!BU5(3AAa)c!yIF#I%xz+H3$_pJ z(|tYdy%x*mqx;+4+DCBQUP{$q>>jDCEb!Ih-T4_iY2>f6N=zRWm5;6$K93TutIYm) z5F{4=a)$)Z=Pj44$DLZe0tyf0lPFgL*k}mn59x5w0X;?<*PR+#d4ZFP%44~A;1))k z*WKS?e~>$9R5iNjlpn(cl6;3OSpmKX7|ATuqc_M!rteIg=f)|Y@xmlS$%Lo!eo)Dr zA}*k_a!U6Lu-nxO1qi|PAjf?pC!y>tnKDF;I%I{X&IjZMxnk&W)`ajses%VR8K{}U zG2ECmRb?YF(Oz8B6!wGz*)Ak_nhx1jl!gJqhKfcU7(f3EqwQzAY(wE4FjF%jL)Xr> zD@G6U-_hmRLLN&YL4DqkRs7p&LOcbrLr}%6pAl{bC}srr_Ac_xzF`9~@ym;5+f+n_ z)tEc*j6?IAjDm~fQTj-IZCkSCVYK#^0cJyHIW2WZ3f}4?wvd-*kHpWjsf@@Lwy-?a z^ofo=A&r7xi8F5~y&-e>J?(bvhDS_UVdn9g65$E$jTGb2;+MYQnOV))Uq~gG5}MPs z=-$dhVqHP)d5Z{Z_oVy}f}IZ=l;29B=}~sAM$hsd?y>0)Pz14gW`AQJrk<4$LhNu4 z6X7C$9}o(1&(vdivkpZHA~j+B2JV4&u~#v^WS#@}?t9Y!$5xvXR zN}VH|YeQ~3PU_|h<~?XLENl`&F--E#Jh7}Y&8k?o$PcF`48T|F-3EKGZ!a5==jq$H z(YCz;#mtg3c;lk)yld@bUzbo-|gbp8CoUz zjoZt?+LlqffWmCBAA(r!U%(XcS@o5VGWx5Jte*+X zE+xTvQY+W!hcY1+NA;>Zr1SVpB@oUw_TU%&jKq7~I1l!AaH)O`V3?r%kG2p37kFX} z`pjbzM;)|#FT^HriKni=`Z4>tlF+mq+;3p=pSG&XXB5YsB67l_`nB}7Po39^@mk3< zR|oVgEX%Ea;kI*C`_rCw;oPUJzXXe9D|3D}s20~b zXH|v-m5s*VpanNn9D|wRLb?=wOG0r+!to#ZJNjEjU@v&0&hwhDgc%cMVEqHWgMy|N zA=p>B4!J5>?_TOQD1q19+u{fj(+fnKP%{qpo9w=bkf*g@kv=>(xQ0y*_?no+$e0wm zFos=*#emY2;8SA}VdxeYSUYR<5+c%m`qa(wo`E%IaxdR{BJGqe)R8bIv0}ZBl=MT{ z`LV!Ukja9U?zhD+)xawZe|v|)eNckTc8x9ZJ0+kFQ#m#V&BA@E!I0fOLgPr4K5yEx zkfy%$uDCb9J(qMAVu{6*spCm`bvk*KvOi69;;UCs)HY&HPEIUUNo#Bn9`Jniqu7hIO zc)Ao%dIv`+FXQA1UZpvxGbEd0k|{Cqr}$@>{L{o;sh~Iw#y$I@P+=xGFHCUI^b9V* z5V0sD7({dP=1LVu<470wNu#D!sZZtlm*}VsQMxMlFE4Ctz}IFV#3bU7&jA8qs(T4N zbPoiSZym_l=eIE_7Ea(cELTB4q;W(6Qx~jFa11OpB@xlTqGx|}JRR1E{BrJVOtBuZS*hCG)$}J#Yz7Ou4GWow=ibxf9E|Vmo$n9c)6z ze~G`>Q_-_Ub-}xELGdLpW=7)QCdR!usW&A$R>vRTI;3ZzaBDX>d;m9``5tUoB{MU& zpaL_{MVWfRqYM3!djl%hYH)~(eJy-lJCX*R!x4G;M4 z#TWZP`05l5XvK7h&c+P14hAUGkK$>>|Mitji#g}$M3Bi#;885Q&UsmAu(w@oj82V# z>fu!p?g?ypt?^>XceI@J!(r?hNk?G*$^=}W80D)?q4#Q6m-B`vvh+l0^x z!ChhuFnhO+91m5r&%&OAc0Lq==U9D4+Em;EtAc)D^8P9B+Hz1j1Di5^aaC&xxG!p5CHOInJN2=-bcA&G~g{ z!{fB-^s8Abs8;{9hzal`)^^eBr4Zex&qq-eUb&%MeCos(M4-Q@5+w=RIV1rt5QOsd zroQ4(=4oY%_5{a{kM%Bh30WEF+g>JB2FJ1R2Jx@So#dl%4ns0PFFP0$4eS&m7B9@s z6)RMu10Y|)>sp&Vupd1y%<48nZr%^!jxq6IriEsyC?1kK3b{5WiXVg7AtT1d~(} zwd^`;Eh7ZC);@IKsJm^xrD)XeSsCc{YISP<>4c>#e(}^!dxOsb>;tS6} z+**G1(tV!@ly~$D^4y}95TpljNogp8hLo@C3m>W+p5*Om9}FmrXB`)Rg&6~?0;VMR zr(-lsVKgj&u!0&y^3)*&lg=!8I3;~F{9~K-?Kge1TK=RXB0-!i-_EqGGg1V~5b72X z^L(&o!#hL@+Zuy8t+E!e^@9NE^`F1DeKLYJ{=!*?97yNX9#MCqmZ>D*d<>z6l#eT?e0*Uss; z&~3YQLbgL0Ly0;vc4K%QeFo6vkc!~n`NqG&dG0h8-f=~42S|61?P9vVV${-R$t->_ z8eW^uyV=L*!VR18SVGsv5Lt6e#!Xi|8w54BQ;xtA`=!1mW7X%Njr=teel6aCJPP~f zT+jNl7%Z5ncRCZ|?s+yAq9nnM8dmiQHeILeyU~2PksG54)AmvRq@a$P5fA0u&ote` z6@q5LPL?VuQZG75iCS(kPWWNHie7g+9N8&tJor3)cM2#U59EZ+P##z`RkyVAXX>Iz z+pO#=ho`GxZjJ}%ti3~=3K&woVi~(`hAO|dIif%PZaCNe+0iK2Te=J-#0!hP%iEF1 zcs>cd(J7 zIpFz4irQ#kR2uC{UF>`4`A|z6q0{O_(t8N_vu_eE>+2(&Z(Yt8I-a$5*#zrycUCPp zeuW!tQ|8Y?bR~ehHNz~>ssc}~|B5#GW-QT((8^Cx5L1=_b1ljkJ3@qR7h@--x<%Tb z54LpH2_{R~7Cu9puA+NQrV8t6yED99C8sT`#2XcRUFY03|8+$9K6onxk=x_#&@1MR z-Q8AuRXT~ygiOC3o-#-ZjL83;hfoan&-ZmV>a`>kgZa0s2)1^D4df3x&8mA;h86dY zAY=UEyttFZ2Op6u2hW3<6jag4d&j8Q0yM8r{OexDB{&+^_wB7z1NI}WO9-S zWW{&EX00s!fFeRkMPv$;o3N$pmj?SA0}c~`vuqRS6Xkv-|B9eb)Mb!5cu_u_x3`rG z6sOuQcDLdQDM({>i{`CS{h18GX){5|G_CYiM)riy`_2G%0VXD|rLX~=zI-0RFFXU{ zggkgb3gUJMZu3f;Kp4-L5QG3*qfLDkOZRDq=OtB8yEJ~PJS$*;Qfj_k^Y~n#E<>I2 zUoRk_04+}0s&dMH(SJX=?Jpt%HfTE0YME9p_oT=EJkuHX$qLb9p@#fW$q&KE*VLuW}!vTs1wJKu4zEkI3hC-J^t?K7mxIpPdUf|P6q*M!TeH?*C?Ax6O;_L)< z`}!E+>@1`E-FjO2`T^I*3ecKg{~G6O*znb;*n&9 zGEy-6=B`&YEE*CetIlxc=15yed!6QBDU)i~cnazoSveu|8-uXEU|&kaInffzv~L1I zNrU63$;y8sN%%{Kxzqqc4iL$O`hZxu|HS3c$$JgrR&4rzK&a%_e@TEQn?RttSha|D zY6J{D7jn6xDSeh@^kNVZ%Yey({H9l&onOYG5W() zwae^`zhm>zbm4rYbYNt;E-ByiuE2>D3)olz#Xi(!iRJdP@z#1`)*Cm~wy~meMujuM z8rcXk;xQmbLx7ncN zX_M?yKdpmXvWeNX4DI69d!v#%*g@`N{myDRH8ea za@EveTfIOfSN03Ee{zdsV)-n2TN9R9(q9(nMf-wz z4446jZe!yNX~uCL?ASv<>Oo&H`Q%+DDu-77h*enD??Bz9nDV`}0w{$L2|$x45lCd) zh?GM{gNE~_1`ySrU};7c%4-kPTL<=mzlv4~zS?aggReeW4QQEtND;g(tNf72KbwLq zlG^jC4D>1&pOtyK)-c*3!8fx|q2|u8#gJ%8mYN*SO$DcGruI&JE1*H2S57vdfr}&? zy>yC=Z6!b|>KP0)QwYmTHG#;lulA%M>tc1EDUVqfwZH{^Q(J8fzU!I1{VG+I^U>w0 zt|p>p%)FSjgY#9c1F%Ukp98eQ?Nbv7iN>52eUmcQd*a!dWaF!wLSV=9yuR8W!>mVa zR96)^Dq#%V%oTSySnKYeyrJM+Ur`zjH$ZU&Zcf7$S0>AH)0VqmUKp>+D0aX8`D#E4 zbJUV2U}VRq6sreW1g%3yWfxbj z(78^s_gqb|Wsf(t@beilTkVQGOBlhYzh@aWCy&r;fyO(P@J;IB_?h_wgm_%LfY~&jkgSONi%;TGC&^ky9@GO9N>v)!HLW1 zdXB-FasnFg*oZQ@aq@yDjM+s5?*x01!bl-HTf;ER_)m5*pa6iPWJv0TkXJAIr`zJu z7Nh68J%o6x@Svbm)|5Y|mh-VOOaA3trmV8;JW|eaHC`yGQ40c1mE|F7rA?03BNQ*i zI;pohHQeCCAQJj(D+$^R^t@fs*W*%kvyHKzOQes|VcaM_Dg;Yt4)p=V#IqzqI5U`U zf!4V7GN%jBy)=5nt{1xo@GSbv?YxYXc=z^A7~8v-LpIN)xlWx|7G8Fq8o5$%f% zJT*X956nk~ei|1El?4kwj<51o#tJrC(8=;FZ`*f|Q_tQ`$=2$9OXI!WS!d4P-jEyc zMr*>g0O4xb{=)4C{F)uX9|@HK^oT!AqpUj#4$uPP;D68%8^l*cE!z06X`82O=_93& zRF`9ePTPLw)p14y5?JWk5XQ&BFM0|{eK*y#$wK;Ziv$u8o_oCQ11RC;?@!QOyJSgy zweD6qR)7OL70g-GMZ4o*O4cX?0}dg$gs76O+AjRqxJ6h77tClo^J}yPCqMuv&6r_>6!ag(idqbYN1dOV;ap`?}UovqqoB`7?7E1 zr5$W~(G+!o9dmO)A^o&eD8(6+^)a}qlED6nTqumz$HV4Ns7zEh-vyCFekfb6KiHk@iZ~((j)d2)q_WhyO1lJJr_1O^VWx?jhcMr4z!d!_(wPcg-z*S|grfx5A#r^KejoJu5;+${YPP+gEMEW}F9DKl%-R&r*t(cLZiahmyh_mYXe?*y)M* z(j9{ob$|}PbJiOq0%WSxz6h~p*G%u+-y(S#gr|+G*DMHtFhAPi50BF>5fSAZZ`Trg ze&;VqhNBo3I;d2TRMcS!c2@7T)be?iR|B+!DdbY2%65Q7m4alvds73%L4nYhvh`wa zybog=aD+=lz0Cu?ys5=Oj4VW3`|r4Xy6tM64f-a|Ey2G;MWjJ7g;5_Y8l5gaj?$}} z+_iu%_~^d(kChDOFR^R$!tovxli^cnGMfpZ0!zQ-&{ZmCKJrAJ?L08ke67lecUhrE zTp7Sb<3C(fdEb8O~F(b?p@J;JKH@!Gmj@N^Mo}AKs7%|6IFWnxf;LwzLOAV^`&GJNwr0 zgap!u7ZH-vsC;TeHWKrAe@3^gR(#I32WKY1|1fUOP(}91`gCdlUZ=R&->q$r`kUZH zkzH*n+O`wh!1le6fi@KU2^IQ?W@ok|aPB1TG;wTZ-^hdAJyVK`AClm?s@Tu54r6i^ z`F`U<3m~c}uEs1yj?gZ7#^irqB?Z+G*PGg+3DCJoi>RW^I_$K*?0oT>s|fFc(ucly zb2c&ki6b6jF99U%aP>jpesK9Q&5zoA<_t;ik<9*zw)$al|HbU>*jg;MmzZ3hoaVr7lMKO*fZvtSmET}0`|Ep4AypBkl0@jgm{|P z8#?rVKnGDIM5=DAa6hbzpJcD+(PMLh47tf?2Z;0W*PWBvN3%|yA=t@Ks_dVaUoxU=1?2-!pZ4Q3f@* zk{-UHU))&cSdIUEOPays*CUea!U;+xYa(YOwRvpXvdo66SNk!hgePqS-q5S($X=E% z5Nd%@e%tS~)tMSEx2D;V0+@SC^YFr(s}2)83FZ#uj9Mj(LJ--N-_J8SkOnOrroi;7 z^PID(qn9E}i^EvtGyIkXLhZE@RGovIALbFx0EtesDy-AduT)C83@5zO0L zTS)3;*};B@4!MeEXMm17H_5|hg{UK6I22=-Bj?Rfuq$pjq)z87AQbbrT~P=@&jY-L zyI2?i1o{_A3rUoqA> z^IJQ3ezAh6{*GZ&^_K6)LY#*YiwAStQ2(6_-gKX{OLB8MpNfr_^3n4Z+D#4|#S~BG zBucV#G2}$khHnd25{dU7STi#T6$mN#PBjoCt$|FGNR?*~D~->7TNL`hc-e&QCH?9E z%C-wB#xp0Rbe~Q}$RFRjKRe?pM+azxQL;iDYwTQC>Q|S%-!13f18uiO5m&9+pIOz+ z`}hkJ!>@e}KsX_!l{j8WG0zBtjTeMRInB;-Hb)d2@aNB(1dqRGg#NDgNEGZ?6iXBq zHsh2e?^^s?-?cRpGQT5doxle)b_5hqzJw4go$j8WGso?ufL-MqCSYHONhY1SC=cq- zoCB~MYv?Zk9l~;7i^q9@I7vUuqNXW}UVdB9me5c1v!$1@%Dc6dbXcLP`$htjY!H5@ zJ@C-g1vBerqK1dyUitzC%=LaFpP&<~-aD?xlF_OPm(~Q3QYU>Ze7ntr(wvD=XM74JAPZ&A9|kf-z5V{+64($H)OwEK*3sJnqR=xa-LqK9RtWA* z&G&dnbLu{#lQHV3=xiD#xuw_H8Dc#DT(ppR@Xe${E=_LH816QfwV~z`g))gU^V1pK zM-KTEr6E6c0U;RJJW{LV3MwEJdOgiH4nw_x%uL=I32-lU%k~sC7}%?YQNHC{5^hZR z=*`bFbtM1}_UUh^pO5z69k+?nLO>&LmSY@Ph?jHT{8fKEpqOH;*0xy>Y6nixPozh* za*l6@7uflvoRekV7FMwHU$A=a;NJz{2v>ioLCuL&E2SY2U_rOLqEKNcTgdcW2mgk| zfF3aZAR2z5H}xP`^Tfen9NIgzYY}>n1h@%mirDfhrS(k zPC#ds_d_taO&dxXT3jY^&jhfN7Y<2bmI8bId%p(}ExcX~9i_VtR#fy?12Nomq{z1~ z66-92thy%c@>#7fZXVFlwrS(&)%F}HOENEV4l-uD_yBaT#V98suKx9l{C$O1t0hgO zXl_~^akXXc%2a8k=Uvuict6uiHLdGQFFR{07D0L0x{t)$X!v?Lg|S ze)?_|M9EC=6vKkg|3D+FUy@DIo6^`qGm3I zrVapJc@dsyWqy29q~C)LJRY|3nFvPd*p62CON2(BUS!+&@moQ%h`kLyPA{t*zzM)@ zm`T^n<#cMteDnR+R)#{6rOm(4V`Nr~c;{Q4x5=(0UB@XL$a_x!3msY5f4+5i(wm zUABWgemB?vHc3Q-9Ll6TmpNe9g3RCn?;gX9?<1+#Uh+WKP2=uk<&PuP&FrwPZ(M)Cy&bbf};Hd9IBc(bGx8(l~$_4e>)iD znmxgem_N=uVZvT;IR&kGodcC03w15Dq_=N)s1&8davD?W>;;R{i#EkxnCeIH$- z9nriCKHADD3rT{L(40zgNpM+Ks0Luy##TQw$~@Q?*1W!6Avkg4gOgoEw=L(07)%#pnw5`oBOC6h)R!)>OCBc(pmJmKa zScpN1*m82G^p@&2!f3c#Il)CWwAP~UKW~0>Mj46o{|B73NlIU@@(KMUIwj0_Jnz{B z_@&2^oRm?)n?A^a>K7A->Cv5BrW-9rl<#??IrycNTW~)ljLcRdY?0eN;oCk`Dg&{q zam~f;uDGc`779TWHsu@KdDGwhk+cAK8YDw&6~4K@T%LG?_9XhV89I(L7XB;bUL#+m znNonBo|I>GZ)t`92y96A$&tdp+nBRfqw>&tSJeB=NIQ42dipIR; z*-i|<1Nn)eP>3H{5*uZ=nc;+fS9apmv64h8$6ScxkE(9{<~@2p7XdRpN`NaBZ9WPu z{p+_(P;CCA1fx)6Uw?$pBg)Q(TP&YR&*(#HpaP4zgg}Ih(Qr-6E?nE2)?ncWzP&pB zz&WMe(t!Yj$x;5f6RNAw7m-7KaGp0XI!UZZv};`-T8hwg>*@%$%+HFktziTeVS0wz zF?wdlZ?&|t_Ix4GGW%+;Dp+(!B{^JG{}VA2iilfGEq%sZ3UZ?RAI~@5D3MjAuoC!} z?!1L)U`pJl+R~lSSvEnK)QzYbVWw%(;fFnr5mz>aHhw$pqcmFl z6#y+V2Ba!ckikAS#|V11x_35p{;Tj=Bh?7M!&Us6E?0TJA4CXNILFTAvhM|4eP6hK zy6iQCbEw6s51f#cx0t63*w}qfAOtc_UxZ8EJ^L&6&pKTxev=^O^2IV}WSi$Od~XLk zOoVbGPg}89+I7%BU7?C;>=YOSnkYkjQCHNzTLCuMTIQ^k=S{dDeE2s{zSu1(Mi9g^ z+yOEB&TVSE12%t0iaeR$%91#kB*>>sqtdcrEszD2o=-!XkH5NFa#&+N;{FTGjF)5_ zo_JqgDK;0v?fwNab&FjT&SD)MtFe>MTvX0Q*yC_x^gS6!b5X8i9Ei|Y7qo^m{X(x+ zJC_8%QM4jY>rB#k=?!>e9JYk+C0ijTfuTgBNV1=n)RNV1ck1>iiQmDUz@a-yG;SEI zzMbDY32KkciY0SzS3yGyZwTlUp&_@}F10-JBmk-=2$C6&>uOM=Dpyn{ot@V83q>q` z0v`Bg{*vbl$Q`r=uy2+tG1JEET_a~dPq;|Rs`)cvj1k{IHD5zNlnnWa?>xoEf-ap< zFTG}HFi#0#UHoyodKWDB_LsTU`l`if)d*#6^YwRu&s!mP6w(c<2r-T*L7zts$K}3v zCjn?BgrKls;7<@}KQc2wty2EE>?4_tvnbXTWbVyjh(KQRBsNd%$2jWTQAb$Q7v5w@!wzN)$=I;_@ml zW2{;LZ*`t^zA#(kZRrE@jJf(ava9YL4<+CBzq;jX+@bd<@d52{h^zIqSBY+rAB7$7 zqQctGB;DkcgXkChn(WT@PF*m`IK=hf+$!hAV!XUaa%Rm-h)e+7Af@!vm0RoVhQTjK z6a=WB^`k7YD9(tXgiOVSZD9AAj&KozF-QpJZQkBZ;J=Doh z;3qBib20A=UNTXC(}DRG8X^TCPi&{5o@y^ty(Mq_EvPivaSl3qpLmYe@KtAZq^j>g zN4el=E1s24yc;2!H7BU^wkV-r(7R}+anwEV33WB&Qnl~0`||d=gh$&Uqq@1@z_ZvT z#+49Pm12yO;M7`VBt&xHWWrDI!f2c}ZZP6ewdYjuuf`0(Dr($&W<=35!}8`%wHu98 z-wXgc3SBhjW|Z%Y-99jjGhPEOjN6?~=4@A^^Kme>*dEmQJ$UvoaowiYOZXY;T*!mm znpdD1@sy1Dy!(Jvjn@P$z99${&g(pqm@xR=#eD$C5zAxu!BR44(xlYcBK?C8aOleSIgozd2JF+H#jS|j-4$(kyr4JuB~ z`qfyv9ihCh0oPijc{Ap;2Uwg>PL2IS1{~BwH0?~u0{;S~*bct73&4DhXo4Il1{8Y} zExK+*X=bMLoeUB8^9l#P%{MI~0Qja7tIEwc$uNf|7Q1c;@P7EGCGV?FqJEzGT9rQp zkG10IzBoADwYXi8I*pM|1pl21T8gIfO!4ElVow$=|4esu1Jpze;gcZXb-~`THp+GPmvp4*`&Ck~` zwn%X%3SkRrSut<_ngLg{YkUcl0c+2#LUOgYo`Gxh3Yo8`^7FT6>vmuV3+s`B#}Xxz{IzL#S2 zpr{DWwoP?Y+JmcBLk6f-9sqdW>kS#Nzio648wFM)|Z$l!}(%9g(;i%p_^oI8am} zh9u|-?9}$=H3|I6_d{J`o#P3iI>*gH6cBExxA2XRC+V`wv9mF~p{+?a01yRkxv|kc zTIrdP5(CW{Qr1_mj5F;^rM2>3v8TM3E1p(Ugh%6V1StcQ<&Gm9KS9NDsSMW&J9QA)J??~RfeJib*5tXvWVaWH?R8f^>YVl|+ zo|V((_KW3@j+oxNhK<#Y`0v}$NXdXj+^E#gX6hp>#(7!pWPOgXYVvdUA0e%Z_#J zAKv#*xO(CC7=pJ(P{ly?w}?N_@GGk=a8Abj4G`Z-8Hz!fuY3RQtSXm|M={gneRS8d zc(z)R$Y^1MGz-;CurCF91um8&i9yZ2n)y%Uu&*aQ>?3eHD`Q*la>zKS;A=%5<~YvY zl{m;QLP0EPQ)Wpxg0@)OwoB~RH}tpkWFD|jF=oaaHr_Q>@RsY-_291Y%LVEqzLt=L^5!5oHd;w+#MB!8$GO&?6ijrIzY+taJpxeiO-|Hvrq4k@G zh}n{Vkj;%K2#aZP2A3_q!4>4}D7vjhIl-J%iM=jxz@~I%2A&|DJkB?bI$h6m=@rus zc-!^e)dYy%VpHFweUz;|so$x)cK!+^z>+wbQIES|I0+=MZ~9Ugs@VGLfiy<`N{HC5 zId~1R=Q*nuiEsC}up5e7FJaOc+`P+5e0cHY2?JFNNr<7gD$_bl^Gs?QKIKv61mu(1 z*`)AB-%uv*-@_(`J~i|mB2$#OcnSz~8(!zwrvW}_N4((3Cnm6@u#3-q5pg)x6LO2M zVj*R{-rhAannL7dSO*)+qfnCQeZ~A{&MRpGgFznNNcZfgb`r4i4Q`frZb+5qd35av zbNJ>@n<1p`vq*IPLvldDtSpvrhcU2evbzkf+c&!4JU@0?s$-7mopka6hHs?9JG{8F zt)5p#@eUitEvLYw?xA|wc||=L+e@tG5Kc%lvO)&2LU&_8YFT5!L5&mlvLj%JV5RJ| z(w`Hcni+_-ZJdsu7X({5L42gvXDXkcZLxjFx7Xd=1m0m~&PlQI;m*M|X?v6iY3^PZ zfDPlw-j<=)S83_*aknvX!2I}GcHh;+4cXDc2LnSMAUC0peHah>I4r(o>tnlXN|DU z9YArBf&C6n?LE&CL2w2BomS>tKFhj}k(#D=4O_~i*vHoxv-=XubPb>bPkU=Szmu+z zZc5@-T;24kO?L2_XZ%>r@No9hkcz7r($l)jz!nK4fD23)N| z1Pw631X9B5Kn?wZyh2h7nXvC-&G6t0-apRE2pjJW;%;N*_!`~~!51)`*L@5?Ik{oE z^sc< znQ`leu7%-Z%SnVUg-96WLh)Oxe(Hfa+k%v-Ame3i^YGAA3$)G|QsXcNOp;PAQI6cA ztTrVP-hiwC;6qyx&iOJm^5G%sBgm41{^V`8n=Qz)-Ch}aYlcY>1jVb%ih;HK@8i^q zWzuAI|JV&$0bFQC4w?<0<}G!(c7u}kL7VH5qph7r=Yg(-KMG7Fq|xjtO{#eYhtCO0Axmi^G`grsS6tJ`L{*;2#uf}ufdR4MGY&T(zltFsrA}_Ax^D71K>&ny=Cq&)2x?Poidvg9KsD{H^zX-T6`bv zcDZSLjTgNOS4>SRe1W`gP~rl{o44aV(x`LK=Hl!uurYz?iU6p+mMqpdnR_!y2I2tf zG&LY`WVml{=teIxvpZ0A&8i47s^r4d%Aa%HWZlvC5DPYK{J5mjoCu_Z(cw3~<82H_ zlEmIBZY^i$Maj}%1l7+h6)A_ z5#w9+gFLG{1ia3M{4S%)vKVMYQ^zY7*-T9*oL=guxE2S7`a=+n9IMl0a~f{CksYV^ z+1RvFn>`i=q6!ZPY3ApEr+}FEnUXbdF5)4`Ey}%cM>%z#x$O6R9fG1U782uns|h*y zBu)Xbc&@A*X3}Ip?gf@CBcxwoxC|r!S)o~)hpxi_NIr**hC*YY9L37OOrm3nR07A7 z#U>uC;>2$QiTk5EP9Z?VT~Slrx_~Jn*vOKUD-O2LcVt zHyCKzAHYnf1A4g?PsnFwQ-}ssA$h>re*s*OMs;7oa`CxLuN=LGXD=6jjq%~UqiqeD z;uZsj9UNy5AK)f@j8@>Hw!oDr>hG^7OIfD3GauUw*qw)2HEtPI|`(Yop;Zto{daxrH0 z``_#2|3fLdrIg#rp9W@-rGxlf=rsOl0a~950wMkEj52fw*v5ELZT;1x$ zqx-{Y%J#7%)!n+bPbXbN)c)KSzsk?$aqElE#MHEZStG*_d4dmBnXO`{8|NN^^LG?7 zY+C->@IW5?^mythlfBG!=OK}h_^=wMp(3iTxh<@pcGS(ge}8$7v~ju}Tgv?nQy=wa zP&8Wb6|Z=lTau4&nf|hr)Py#D_a_QOejaq8%?3GhT?qT}?-``VlEwkqDuG?!q z-c|$IEtAWCoKy*?zvU&HziawEOwLC-QnX~uz*xhks^g|HZR=Gu{et2}Ug@UnM@>a} zbH!a84V8F7huW{>#agvN=RLOarkIDv$wDRyhhRIylsx6i=@qgeHn~F{#u~=NKVH9` zZ4}b=E3G6T;EhX$!U>hqlz$!B-cFp z+qUwQh051KhpV9GG^0F*PzSk0P}H%&W@z}lC@c1l&K6~C;&u&~{X%napJyjgoq?nQg~&R8&mU3<=e5NB!rL3PLv zv17dp2U4~j{~rqlrKSgilSjWSqfC1Lq&7sGzjUgv+7zOBNsP*G(Vv#?;MDWUENOW` zXaf7NL#(6sF`a*L0~2+GDBf~vNh*TXHz2spqyKs?xyGNI?{i@kk7gm&)V{OB=oTfe zG1lAHIzh|qR;srIv!8$DmGb0`Vrt+nPX=rLwqkrCen1poUz$vf)!L9FtVw4u6SI>^6ifrwaK}3i5HYE&(nQ~n@D2O{Rq9Y zOqzdwkm-UIF8b+DxRe_Nm^k-u4a8<$b$qUnkGqfXtL;T{Q$-7HeE##rMxHrEn-AH? zvYNf$bNerU*eLk7cvLfrI|}zMWPbgj{Bhq)was93qlt@V8FyAwfkq|WzaU}ubesRL zvagJaYs#363+DSj@RjzUi04R;$eSh`vKrqt#lQ?_FR!M_o+H z3K{Fzfb+Aks<#-2+P=%ts)RRXU;#+fbmMHI>q5h^eHqm-ZH&GyAUqVS(2Qtxy^kNC z)3!40sAzkX9r*OFOS1;2bo?De~q1TJPg(+P$Ojbi3SWM=u`mvi7kDyXL zeg9ZF459d>+&Xou*RSj9zxGhARo>X}D#l*qmNTQ&>2 z9N~r|JTJ6b+0uetXbe} z9uQhML0d)i&U5_BnHn48$257I`qJXmuvDi@p*Gw4`}z1JP{-Nz!%Ry@T_JTLC99?G zXjq;{6np+T_qIq?KK=_9aJg8SGbAazBMEF;${r3q6v(pYL1Ub(_hK+PLK{ZyiR-O7 zu9eEXJ|L^%1Hs+r{`>-XD$N%Rc~o#u14m2m1mnKw>v3i^Md56n4nX2;@5=^f*pBg? zF9(u?Mftby)aUw&!gtXHxXpxJe%qCyKpvh9?&=I z8re8&mCtyfZjHS3@S?Fmk%Rxj`NrHBEIg>xW}HpGRCBFaa9nLoMHR&>OukLQL`B)Y z#%fYauUw$Lyq^cKc&b2N2sfu`sx95}T7R@NtT%F}>`jm#ME~9Zjdr<~CAE(g@48R1 zkiW;toj84vNJ(0rfYvj+F94Gv({Gbs7#!sYu{PmDg+abWp7{&DUG9l*I$r;cdn)>X0qgfP-B}NgJRunTR!O>z{aWS z%>D8f3R{|5mHHJZ5D9%)G-)fUi*Dwi-BgZVEaPS0$GhiA4g!N!u!gQNIk(`mc!dGq zE}9Z3?@84{0A|~D%yG_p1CyjQW&}J-%Y8;XUCKD7HnUYh%u8_v!#hGE8J=Sd7+bo5 zj^E)aWS=;mJG~IW!UN1LoW2et(8IexZ0JZ_&jQZ1Q&Ji1q$+zTXZr_BhHaNK0_9D{ zL?WrIu->@k%8F(w%P8Sjls~*RH;9xmgS|QgfD<3oUHr#Cn|aMTvu44SBK%0)f)na2 zo$6^@HCOx!Gggg~2$W-5tKTMJi9(w?^f87yPxGq-v)yu>-T3IPOsM!}l zeg(x5YNW2prtO=d_}KExn~&Jb%KO+VtOk7fq+ds7?VXZ@?K%h2Izo*TJjLTNIT6Ke z5qsDNXT-<9C>kYlLoLL(#SyTylNOQGt&~V!zI<4wT@p&ZyjcCzNJ4yc`fy}=%$!5C zF?ex+cg>odTdg{0u#d-i2D1I3;HZax$D)*1-SFkCh1^Lc|0mb#m(ctXE50Tpy&`TF z&TG(zGv45@ySqytIa{9R7!_K^6U41QyjL9a7`D{Rcg!D+_yN-iCODd_PrdQNSyy;O zTUVVHF}$zyNg3DH{W7y!%K?_?TZH&%h|kx$*O3jH@!+~upFI94?mbrr^zrM+q50`m zvq$^s3ZM2O-8OII%JfE6nnY>?7I7uyS#F6M`*(-&S{6^=?nesD>hCPjX0=nVeBb8B z030t*7Av{tNwa<_u+?_@l3j??g_-amebunoS%l>1y4x~2yt9{?) zH$D_}+6Elq0Qd@Nmdt)u=bolm_BtLMS9e91LEBY>+O}zyS-pORlCAvsg{>{G9&X3v zyq1x$_OSx|K;_ua%S<8xL%qm!jYSqJX?WMG-OR2z2n}ESiR8%YZ z_q$GE*-qf&D;jx~-6{?H%+3qLQ@n8?1#m84$1mwoce8>q$f&Db#5#5};!Vbzkh=h| zj{<>*yYA*TDE}7`?KS*N;unx{S`B;)gd(7(*8a`-rq`D~J?#ZT?`6($ZiuaCWhLu* zfB(o!UK6fo9hWEXCekqE);UyDQ2#N<1jZ3n`;m|r>fzy&NXyRs5Fjm6!52Mcc2$Rz z4Q>or>Y*^VypqtKUs-++F(CbVsanGig%}zOEoDzetgR4IIg~v@M zFwKSb##s7>%g~jDAt+3|G8iRhqV5}$^w5P)@LKzNSUPbH@OzXmUfYYh{LKh?-~`9q zHRHLf3`5mz6)2;M+KyE=Ykq%hbzDZ15?&v}@HBt^%rdFD+EZitOhKCGp$J_pN$GUx zDsv~sA37MoS&IDzq9WZ3%8xav3eEk*)oA~an;b|atj^89YI4)tK{C9FmipV zcwN&w<7?b-bM=XbrIP(}*032DQh1o2m{4Wlb8@S|@2YMv?b#M}w1<1KO|%}+U4&@+ zQz&A8&FMvj%D6}<-;QaUP7<82Nv84MA#EJWH<%RQbkLb;mL-X7zj7@|!mEWkvihyW zK);z}DUtEW+!}v^f1_FPwz|N6lFYdCXtP1n= zITVj^a$Swmdbre}wEw`GYsT}ceiS*@2cL$QxFaP=!_6I&sioHgA>F4zZYDAmNaCq( z(8?5oNq3mr6jiSg5}qh+&P!*@PS+9*F+>cLODA~s>HK;?2j>y-w9niYFFKR9uis=z z41Bx&z1(qxjqqeQpTLIGP%Iv7(!4SB?s&nq@$hUsc(E~Rz=s~%Wbk=LuNUNpAO)_NZGw ztD^B8vCCZ^^)7rUC`=>{KDw8~@4&|-t#XZIbIR&NWDtrKkH5EszCpY(lZJ7HpTxJZ z!|sS{qm`7^?YNCZiyr#ShWx5Jn}k8_C9sl|+cuDjUS6xx{vv&W!F{DEVFm9{fbjFtaRy%}*D6B~23Pt3Rpc zAJD7Xc_S#RWEf{)SP#!*ofFOthfjI2X6e52fGFFF>Yli>wm>32R3G1C`Z-|5O)g|E zBa3RRDnR1!Jyj!2Dk8mlCn;QrAzW1hT|XB(8v2*?{dq|3Q;V-U_Rt~&M%=Avr2tlH z5znf`1l4I7QkQ4L*q5A5Ct8`;_@YwN&@oRt=Y%;?QYe>;Pq1qMO@gE@&>2p(7%j3g zFA2{`+fEo(gK9(Xv~rmahczUOOTCY}>IJry3Bi7-yae64-*&m8r)v_k)o|RAG>k36 zwjo4>`D2_VhoDdjb-z&!T4t3xoosN8R*d6=gg6R1_TpCO`x;t{mVnTS*TFIFJxwb2dYVV15~4ju2~b&;0q1M7-aKL+)Y6`P)oV`dK86nj@-weZP9oV?Z2d;Q2i!Z^2-RBx zSuAUa@gE4z(y{bykmA0ft{(?OuiwYR9nUFf&jY(q@e_5ZX#^dk7bQAaJkspx6jjpB zWMw$jFC$W}nFzB}$6m(+Tvj@|r?V0YVCU3dBg?{)-Ec3+P&f8Lbn7L(X6M`q$}&V> z(AWwpPc{ri0aN3_u=ZdmeEpD*Xa`+zS9tMAn2bL;vkHDU>su<~9JC0zwXum*s7mrK zW4PSG)xk8F<=Zid71Pt_)0GM~yq(atb03m)=cvukSPko))e}8;ed+{Ov2s$7`e=f3<{+J%Eg_c+J-DnvD?R=jvb3c=0)s`I0NS|R{a#h*Q z?wvZF3%{;fIHg!E5Z5|tG5w>P*oCOv&S{CYaNgSKMgScQ0m!h6U$U@ylwI=BxSo;k zPPJYun50~BJncbeZh?V=o&3Itvm4B!HEN+yBdaAOX3W(PTBSZSLzj!3%Fn$}KDM`3S^sq8BJ7ktFyDk|D*MWAQfcyY#Vit76xy(pXbZu>l+UhB zp0UnXxWTH=mkgz?_Be@q2UbW+qjpQ8Wn7*(AdGz7weg_gWu9}c!Q@f-IEx`@Ram~8 z`OOW6dfK*n|0wxe7X@C7LGt>Ph;ki;U+(<*Q{}qr46WuOzSXMSd+Pl(@h_@(NV1#X zN6gkJY_iI$7AEV-M(tkZSr{LWX^NALTUG`~W0WpT!l5=R#o6Uai&JNFcyq!yiWG*O zP)Txt-^o=-nqeNmQuWuFm*tyKslK&PlNxc8Xu!gShgh5d+ z;%IA!`FQm;$Qd$sy`fi9h>iz1okfzE9`~JVd7n=;H7HFoqP`@Uu_V;BaL%$)RM%A4 z|I=hHtJ!SQs3NCpDzxvi{Ij`1QdKgrec1qM94}$yAyP*gJkjt~J9rL%vD;;n9cZaa zn-;4yho1-Ovln=4_|te8=lvc82l%66b{C*}kO)SyqIWNIdMlavN_#u>&c23OePH?o zV59N+2Yp-lPlvNw#@^3AR+gCi7h@v$zo=DsxCZX~EdH`MJ1+XT0UR=JfSv9j$U-d4*KyTbUnI@H7* zc3L#8=pHvt3z8h3A6pDzp(wN@W$71yBMPp~-73G9F@=(y7Rh~I(&~dmvRK_Uv8)R_ z>AK9%;lKFgzgfr5Vo0@QhlI@C3G#}dha)o0^e2ZFM&ySk9JUs`TZ}Iu$+-1Pj^|622qh zMKnaXEwQkQ-CwVQoZ6e!J(S^<^{~xOw~pkxS3P;iz+r-mh;sZ*k9-x2i$BJ?eZ&y%XF^i^z%rm zh6ckNF7GbkuI)eBXF`f!F^XY5U>o@Xh+oS+0|Os1ZH|zo?VjgY|c*6F~PK&@3{2)vD16KyzFJ|{8+u1fpd}(8o zALJVt05PIt-%SS80dH_a7kvTemFAOuI`w`p#T9Aul6}m=AI*O@9P*7JNAvF11?6m` z+3lXO#$KuHyPuyk0Nby>nV237F=xP6+5A|#yedQ(5ksju7amnRwb6xVM0g->)(#iT zmE-Y30?MLZ7m%tseN}NT)41MR(fjpSXOFMFR523P_%SjJ*lM75J%%WmtT>!f*#wSu zV5#x;Nsg{g9o5p9jH{3@B%F5=`B|KW_~glI&`-adY(@jTk<5~iM<0gZznNs1RxdR% zkh6`dU)&?MKyj$rx6?ma941>;LGw?q{fIU4qq**gK^&8tXj5^v8qUr^wt6IUFIKL?0TQ#%Rl7hzz1>3DH<@$ld&_nmLLF=jMJxt*1kP^Ds}pJ@ z9fMj?DH@xK6|CPmWl!v4uaxxbrlBFanoosH>Iw61k4ODPI`hQzX*YGw2N54W>Aar4g!3CS%BDboR6gzjjZh`lnb46I+7QBvFEauM?1AtNB%tXfT?yJdIQ zT3VaPM;O4VQVXoSKFD(jpI4r<(Ji!-Yc-eF~21*yz5 zHV(9x>_>q~=v+b?Lu+FK$gN_~Ot@Cw1@Ohn=UVOs43k&*>qsuFyE4s6XPd_>OPzcw zVa$U)tV?d{9QcZykun5WTExoRJD;7!2jvs#TjJcDl59-GK;(8Vx8to1n&^S>*M7(I zY#`w`>W%n`&w^^UHSIGoeE$&{FQdkmGBh4Xk z>XK_iRH(n<*z^^tMv}@eHP%lbf^6>Z_qDN#r*OMMgGhzuYjSv9@Y%b} z;#&?opm`*3h8eyHA!64j@Le-MtqBC^a(HN%y1HVMT@%0%+bVbwmUSJR0kTJFD!}lT zn+aT{hA-hW5uxRzETbiUM%UaB_Sg4^PA5|(rYwB*P&d8>0euPQpR(MZ1W)Ei4EEL| z^9v091oY+Y*aoPDXNmN!JbAce7kL0(S>fw1Hd@z(8Trc8bP&*7_j2+A0O%|=>FY7r z-cIc?!@_lMD?f8pkxwA*OSYk(F+IE2Jv263;X%Dc^hl^bAXr*U8?$elE}j##SU!#E zYbKJz?=YMR)PUG{v>y1?1+4WBoqTQJ4MKf*F3&%hp2q@6%cXuMRS&<(1~RL{x%zFnv?ixJNK)`;7+frFyoQt!dtCSs??#e}aExGY^F zMN5Cta^TRg@3lHK>+B&QM5saa$*bM7jpdw$d+E^T&Tso_Agh`ESJW4z(dVAX5sP{a zh1j@oqB0J@oK&lMWSLh=o}=J?t*69UiS3)azS}^WQjVy;^bVZ^(-4C84=x5#+|ox_ z-b{WJ`*juuPP&)a#YfT1GxsthZW+R+n~$75%zE&j+A+8*oBIOLyBkXmeV#TSJ!DaM z%s@-~!?!w$CSDDomYWZ#_o>r3mPlx;756zi^k!Ze%h9V}_`9oj;XMM`4Da)?MX(cc zIrRjZbbldMunx9F88Y_^1PhbAIO+1XCoNg1g^bT0<@{)iw>d=jEk|6DD!1JTz|_(2 zdDZjAM+r4*+^8)(XN_2dbN*=lTZ?&<^edpv3GGrQ0^7@+3NhiNgIcSl7Wo|dsnA62 z@PY!x*8_5X%|f}H2DZ)z9I&KXZSh}sJyL{h(b6oV1y?{nY~Js_^;{2!e7L;L=T2I7 zlZwb!-p@oW`gQy3&r*TrzHtBGXE{YM++Xfm|A$oIAG_B7t`^ur|F^ySIRG2)Wt2zd zndO*d6;)+Q)R8Y-zrT0T{0OHHF9Y;w#ah?Vgg>b@fnCsfxay zwAO;I;C1nklkT;6CAt6o$4`(k4r4Bh$3gb+YB^f_XH_Q zB5f16>E5x{A3rHt>Gay=31afBT5{&e&wX`9eU-*vHFif*7PbviB6iQ*#3ENDn&t$#$C6BP+lc0~NwjFLS&IJ8{(n9Dx9O*B$H z8!r6EvHPdtgq^*Mxrx2KEsM2-huz=(7LcC37XHJu_7X4IZ8l!{v~SQQbRdUufNUTUs7Q@&IUDip1bAKkOBhJF3gXdLHqZWl(NRmzD6xR8Gbf|o_N`d{u1c66)N$`&DO3v0^2{XY!b`i=td1&vIEnU z@@jBiQb%DzY}E)Y0oAYNR7Z|t#-dfl6ABf4bm+!5R6v4GZ;2E|5l9@niZ@u3`OHmV z#V$+A*FTPMDB{TD%FQG)Q4b(ZQu3o|zQ7yZh$~hP1T4R1=*vzEP+Vs`vSXgb6{y$U z+uO@9x8>>;?^JBLg-lKN>a0vj*924dqKPV3)x9+f;`f!{N=SK>5)2-=n^c zLneVib0A>J9J}Pz@HyTtxgCBbA209?2=PsSq}%l9Hyx4z4zb zQvB5PqngfQJ1^vkOkmE#CK#k(`poz8J(|!>0<+L-11gsca5Vns7xixn-Qk8kU%pr9 zUUu8E`8GA!z%|uzy!EMTF$4)k8jj)J8$gCAC_o%;r{pWF>ipv{IhC&uEvA2I8*AKsMs2Ydq#G1a>ZI0H}WCOmigGs9&*g)IRTlsZ6DoS?t zu2mq*gww_M@$TuMy%{Q&A%A5B=Y^_&=HTY(;l_6LzRZ2&`r#O_i)dC4S+=fapA>;x zbHvQu!wGIHd>wkM%s+tU*wtu_2k=H6c`c)0)FkTV{&6gjtc6)_B1a&#jM%UoaPC#+ z?C9&tGB`krIX)JPgfW2;(6{OU5U>qsf3rt4pmZZ5jP0_aucrri{Q)Koy)Ck4aB;s8 zrB$-pnUY_aLg^atQpR(GJm<*29RK4OOKYUD#;*o0VC~kJ#lwaPg%NT_-|9%7h18?W zyKPgrpwSm%S|f$-td1X@Ea;-`Q<(Z9inyWrM$kJ>Fe0_j#vllx_}eF8ia6|yk3Y=V z`dQX5Z>sy~)>FhNSdhM1OPe*}7ff!~GQu1ON~_@=r>p#klKA9HM>2V0+ndMmgV=W> zx1ru^oZOGHCSCaaGssXk^_3f@`Z+NK-A+#gJUnRPjJx&(aCh0oBOy}kL)nb9Q)`5lilacJ=`{XTTcOOM@pZ)Sx? zVPed+$PW8Xv?Y2hN(7>@n{B|D(NM2W4Lce6jw?L*`%U$x7n;$1{VCXS?^HbqprAaL zK;~ptL6VRfKt{gE2LK6%%;&9~ky^jCw4hNV>ylHnKo3pS;`gamyYCD`dE`u@{7L{e>x~x7?~!tQ4H^Z@VE0bAPsBtvC`lOo zWeFpJpRv1M%&T(6dB2EZ15u=BeTm>?sgfesCa)zOfAL`!N^2wq|BYZ|)kPT|y`4|* zE9OKDhOGl?^8q>cPfU$M&a^J9x`=5L`6$aCSf_>%TQpp6M6+V6>U2qg>(FhqmFN4X zx=v$y^kJ9Q3hy%yplcUVqNdP<>B|25$oMrDDK|o~pbX{R$xJQW(9h+q_^&+r9KpNh zOJ$0NsJy`(1KyE0Gyq&E#RdG{v2*>mVOOgm#OhDh(O2~o=LY5&-wgG|CyH(9zy~Fm zP3`orxm}S#l4@&s>6CHBXv(jH*6>re?jgTs!I|I7%O9kpX+#do*-{fV*OKW5vVy6Y zV{B`!c~bp3n!_<9Q)(2`zr9qI56c;-)4{4h0&e&ZETM(B3MNxkihjm3v6a`|XDj%m zr01n<%&M?MO!ysy#H3V%^sV(t6Z!B&{eh+e&pmfz+dGm#^Sgse6L0KAAbF5%x=7Op z`AE&9=lAQs__4{%B96EM#?lJX~!d#XsPU0;@|_Jo-aeSca5d-vwYi&b~f+G-ZRJ#Qn@aOwWg zwbGYNeto*&z0iYCHN&;%QjDD_hK^7od1mRH*7n)?4C#D^oAPtbt@%Ax3PIGLXP9eT zM&~Eth0DonZZ}%T`yr;LQk59(n+ZsfE?tkW3KK_UtMz_)?GIr-%1sO50omCf)KnVR zr_B2V=14g79}_G!V>ZFu0%M*CV{TA8_ssD%+FL)Y+ZC9+kC`>of|RT0JQ2ZOANj>y zy}Vr6$xdMHo!5_##~(zT2RFUjc{12_;r%Nn09VP5~xilj=W+fSj3CV8#p^c8j2 z67`kzPHj5*2YL^$Y?^-(kopA&O0c!%lrZa5q*f>H;4Z;2`3;U|eH=I+rqJ_&P?-+E z8J^Q(Aym`lCZQr1;@e;^P0+o3chUH*t0o$%k8Q!CHz?aMff_IprMX?<)w{RmL{`T;~D{S9yUp zQn8?GlL^d_|GZB9o$qGv%o4Jfps_0lxHtrQD4LsJ3Uft$6*f2{s-U|z?NoBT;xF}N zIKgQ@=KE^bfVE=h+RPBCgTtD&G7Ie|*y@}7V$-y9wp-<*BKr~OapW^Y5Y?mnV&1l( za@os-A>@s5cYrqnL?xRxz|PV=I8<(1cw0GaII*nv$F3Y|Y7_ea?em(OE+(DT@kW8x zQBy(cnfq(`_{JY$j5PQXP6H8F)tEgytxilJXmJv)c}XyR~czgaoPIeuwK64#O1yKk1ET^O0_!fGbwR z+$qW~0&D*mRA z|Nj8`bGybrM(qz$vVwmJ^jn$tzoYc$Mu^`j=?MKL(r;}Me}(k-^!@i9g@17RBYo+F z|0~iT#k7X{Gr%7m3;&Ny_;bI)?^JyL8sJ~u3xCDrUup2?)sEkRiVXjf$v;x=Zwmwe zJFGu1I{c0mZS9_AnUFU%<14A{zLQfBy#{|NWN$ literal 0 HcmV?d00001 From fdba2d1036c8583470efe61785fd0186b4dd2bd9 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Fri, 6 Oct 2023 19:30:50 -0400 Subject: [PATCH 02/49] update theme for changes to pydata sphinx theme --- _episodes/_static/css/custom.css | 48 ++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/_episodes/_static/css/custom.css b/_episodes/_static/css/custom.css index 854bfee9..eeae061a 100644 --- a/_episodes/_static/css/custom.css +++ b/_episodes/_static/css/custom.css @@ -8,9 +8,10 @@ img { html[data-theme="light"] { --pst-color-primary: #ed1c24; --pst-color-warning: #ed1c24; + --pst-heading-color: #ed1c24; --pst-color-primary-highlight: #bc151b; - --pst-color-secondary: #1d35e7; - --pst-color-secondary-highlight: #3e51e3; + --pst-color-secondary: #1A1A1A; + --pst-color-secondary-highlight: #222222; } @@ -19,8 +20,10 @@ html[data-theme="dark"] { --pst-color-warning: #ed1c24; --pst-color-primary-highlight: #bc151b; --pst-color-background: #1A1A1A; - --pst-color-secondary: #1d35e7; - --pst-color-secondary-highlight: #3e51e3; + --pst-color-on-background: #222222; + --pst-color-surface: #222222; + --pst-color-secondary: #ffffff; + --pst-color-secondary-highlight: #ffffff; } @@ -106,17 +109,27 @@ img:not(.logo__image, .footer_logo) { transition: color .25s,background-color .25s,border-color .25s; } +.admonition.overview>.admonition-title:after, div.admonition.overview>.admonition-title:after { + position: absolute; + left: .6rem; + width: 1rem; + height: 1rem; + color: #ffc107; + font-family: Font Awesome\ 5 Free; + font-weight: 900; + content: "\f128"; +} + /* Overview admonition icon */ -.admonition.overview>.admonition-title:after, div.admonition.overview>.admonition-title:after, .admonition.overview>.admonition-title:before, div.admonition.overview>.admonition-title:before { position: absolute; left: .6rem; width: 1rem; height: 1rem; color: #ffc107; + background-color: #ffc10700; font-family: Font Awesome\ 5 Free; font-weight: 900; - content: "\f128"; } /* day-overview admonition icon */ @@ -146,7 +159,6 @@ img:not(.logo__image, .footer_logo) { } /* Exercise Admonition Icon */ -.admonition.exercise>.admonition-title:before, div.admonition.exercise>.admonition-title:before, .admonition.exercise>.admonition-title:after, div.admonition.exercise>.admonition-title:after { position: absolute; left: .6rem; @@ -158,8 +170,18 @@ img:not(.logo__image, .footer_logo) { content: "\f303"; } + +.admonition.exercise>.admonition-title:before, div.admonition.exercise>.admonition-title:before, +.admonition.solution>.admonition-title:before, div.admonition.solution>.admonition-title:before{ + position: absolute; + left: .6rem; + width: 1rem; + height: 1rem; + color: #fd7e14; + background-color: #fd7e1400; +} + /* Solution Left Icon */ -.admonition.solution>.admonition-title:before, div.admonition.solution>.admonition-title:before, .admonition.solution>.admonition-title:after, div.admonition.solution>.admonition-title:after { position: absolute; left: .6rem; @@ -199,7 +221,15 @@ img:not(.logo__image, .footer_logo) { } /* Key Admonition Icon*/ -.admonition.key>.admonition-title:before, div.admonition.key>.admonition-title:before, +.admonition.key>.admonition-title:before, div.admonition.key>.admonition-title:before { + position: absolute; + left: .6rem; + width: 1rem; + height: 1rem; + color: #00A300; + background-color: #00A30000; +} + .admonition.key>.admonition-title:after, div.admonition.key>.admonition-title:after { position: absolute; left: .6rem; From 2ac6b1896f43cf17599c3fbc165f12c3f1a3f961 Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 9 Oct 2023 15:48:55 -0700 Subject: [PATCH 03/49] Change 'np.float' to 'float'. Within 02-git.md and 05-package-structure.md files all occurrences of 'np.float' was change to 'float'. --- _episodes/02-git.md | 2 +- _episodes/05-package-structure.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 9862a61f..b8b1c1cb 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -939,7 +939,7 @@ def open_xyz(file_location): xyz_file = np.genfromtxt(fname=file_location, skip_header=2, dtype='unicode') symbols = xyz_file[:,0] coords = (xyz_file[:,1:]) - coords = coords.astype(np.float) + coords = coords.astype(float) return symbols, coords def write_xyz(file_location, symbols, coordinates): diff --git a/_episodes/05-package-structure.md b/_episodes/05-package-structure.md index 566df631..302beea0 100755 --- a/_episodes/05-package-structure.md +++ b/_episodes/05-package-structure.md @@ -452,7 +452,7 @@ def open_xyz(file_location): xyz_file = np.genfromtxt(fname=file_location, skip_header=2, dtype="unicode") symbols = xyz_file[:, 0] coords = xyz_file[:, 1:] - coords = coords.astype(np.float) + coords = coords.astype(float) return symbols, coords From ef0b62b42f6c085bb98bd6f14c83156d79ba6ed8 Mon Sep 17 00:00:00 2001 From: Fanwang Meng Date: Wed, 11 Oct 2023 23:04:05 -0400 Subject: [PATCH 04/49] Bump Python 3.10 to Python 3.11 --- _episodes/setup.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 633ffa35..bc11b5e2 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -116,13 +116,13 @@ To create an environment for this project using `conda`, ````{tab-set-code} ```{code-block} shell -conda create --name molssi_best_practices "python=3.10" +conda create --name molssi_best_practices "python=3.11" ``` ```` For other projects, you should replace `molssi_best_practices` with a descriptive name for your project. `conda` also allows you to specify the Python version to use with the environment. -Here, `python=3.10` specifies that we want to use Python 3.10 in this environment. +Here, `python=3.11` specifies that we want to use Python 3.11 in this environment. Executing this command will list the environment location and a list of Python packages to be installed. Choose `y(es)` when prompted. @@ -156,7 +156,7 @@ $ conda deactivate You can use `conda` to create environments with different Python versions. You might be able to see how this could be useful for running old code -(you can change `3.10` in the command above to any version you want), +(you can change `3.11` in the command above to any version you want), or testing your code in different Python versions. ### Package installation using conda @@ -427,7 +427,7 @@ curl -O -L https://github.com/MolSSI-Education/python-package-best-practices/raw ~~~ ## Conclusion -At the end of this set-up, you should have created a Python environment (`molssi_best_practices`) which has Python 3.10, `numpy`, `matplotlib`, `jupyter`, and `cookiecutter` installed. +At the end of this set-up, you should have created a Python environment (`molssi_best_practices`) which has Python 3.11, `numpy`, `matplotlib`, `jupyter`, and `cookiecutter` installed. You should also have downloaded starting material, installed and created an account on GitHub, and configured Git. [Anaconda]: https://www.anaconda.com/products/individual From 002527f4bc7ca6174398c2ae5052ad19e3061a88 Mon Sep 17 00:00:00 2001 From: Fanwang Meng Date: Wed, 11 Oct 2023 23:09:03 -0400 Subject: [PATCH 05/49] Use JupyterLab instead of Jupyter Notebook --- _episodes/setup.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 633ffa35..038c8fa4 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -198,7 +198,7 @@ For example, if you wanted to install NumPy version 1.15: `conda install numpy=1 For this workshop, you will need to install the following packages into your environment - NumPy - Matplotlib -- jupyter notebook +- JupyterLab Packages available to Conda are stored within `channels`. Some packages are not stored in the default Conda channel, so we need to specify where Conda can find the package with `-c` followed by a channel name in our installation command. @@ -427,7 +427,8 @@ curl -O -L https://github.com/MolSSI-Education/python-package-best-practices/raw ~~~ ## Conclusion -At the end of this set-up, you should have created a Python environment (`molssi_best_practices`) which has Python 3.10, `numpy`, `matplotlib`, `jupyter`, and `cookiecutter` installed. +At the end of this set-up, you should have created a Python environment (`molssi_best_practices`) +which has Python 3.10, `numpy`, `matplotlib`, `jupyterlab`, and `cookiecutter` installed. You should also have downloaded starting material, installed and created an account on GitHub, and configured Git. [Anaconda]: https://www.anaconda.com/products/individual From 4248f3c1c333e8996ec39305332d6e5257440c95 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Fri, 13 Oct 2023 20:48:45 -0400 Subject: [PATCH 06/49] update full stop in prerequisite --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 1313eedc..60a4655e 100644 --- a/index.md +++ b/index.md @@ -23,7 +23,7 @@ implementing while for large community projects each topic is quite crucial. > ## Prerequisites > > This material is best suited for people who have experience scripting in Python and are ready to learn about how to make their scripts into a software package. -> You should have experience programming Python and in using the terminal (or shell) +> You should have experience programming Python and in using the terminal (or shell). > > You can see a tutorial on using the shell from [Software Carpentry](https://swcarpentry.github.io/shell-novice/). {: .prereq} From 34281a0f67f4ff8136f7f5d1a54a7c4bebd89605 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Fri, 13 Oct 2023 20:56:58 -0400 Subject: [PATCH 07/49] corrected typos --- _episodes/setup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index bc11b5e2..f6297a37 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -58,7 +58,7 @@ This means that software installed on one operating system is not available in t If you are running the Windows 11 operating system, you can [set up WSL to use graphical interfaces on your computer](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps). Otherwise, you will only be able to interact with WSL through the terminal (and the text editor VSCode, -see later in the set-up for information on how to use VS Code in WSL) +see later in the set-up for information on how to use VS Code in WSL). ## Miniconda Installation You can install miniconda through a graphical interface or using your terminal. @@ -283,7 +283,7 @@ conda install -c conda-forge git Note that because of the solver that conda uses to decide which version of a package to install you may end up with a version that is < 2.28. -you can use the same command from above `git --version` to see what version has been installed. +You can use the same command from above `git --version` to see what version has been installed. If the output of that command is < 2.28 you will want to use the following command to specify the version to install. Any version >=2.28 is acceptable. @@ -322,7 +322,7 @@ git config --global user.email "YOUR_EMAIL_ADDRESS" Next, you will need to set the name of the default branch git uses. -The following command will set your default branch name to be "main" +The following command will set your default branch name to be "main". ````{tab-set-code} From 6803665b153ef3d3ff25513dfadff34955da3cca Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 11:49:08 -0400 Subject: [PATCH 08/49] updated typos --- _episodes/setup.md | 52 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 633ffa35..a6d03e87 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -1,6 +1,6 @@ # Set Up -Participation in the MolSSI Best Practices Workshop will require use of your own personal computer or laptop and installation of some software. +Participation in the MolSSI Best Practices Workshop will require using your own personal computer or laptop and installing some software. ```{admonition} Windows users take note :class: attention @@ -21,58 +21,58 @@ If you are on Windows 11, you can also [set up WSL to be able to use graphical i Please follow the instructions given here to make sure you have the necessary software installed. We will be using Python and the conda package manager. -If you are on MacOS, Linux, or WSL and you already have Anaconda (or miniconda) installed, +If you are on MacOS, Linux, or WSL and you already have Anaconda (or Miniconda) installed, skip to the environment creation portion of these set-up instructions. -If you do not have Anaconda or miniconda installed please see the appropriate section below. -**Note** If you are on Windows miniconda has to be installed on WSL (not Windows). +If you do not have Anaconda or Miniconda installed please see the appropriate section below. +**Note** If you are on Windows Miniconda has to be installed on WSL (not Windows). This might be a separate installation. ```{admonition} Anaconda vs. Minconda :class: info -Anaconda is a distribution of Python, the conda package manager, and several third-party libraries which are commonly used in data science. -Miniconda contains only Python and the conda package manager. You will be able to install any package you would like later using miniconda. +Anaconda is a distribution of Python, the conda package manager, and several third-party libraries that are commonly used in data science. +Miniconda contains only Python and the conda package manager. You will be able to install any package you would like later using Miniconda. Miniconda will take up a lot less space on your computer. -We will be learning to manage conda environments and install the packages we need, so we consider miniconda to be the better option between the two. -If you already have Anaconda installed, however, there is no need to install miniconda. +We will be learning to manage conda environments and install the packages we need, so we consider Miniconda to be the better option between the two. +If you already have Anaconda installed, however, there is no need to install Miniconda. ``` ## Installing WSL (Windows users only) If your computer uses the Windows operating system, we require installing Windows Subsystem for Linux (WSL). Follow the installation instructions at [this link](https://docs.microsoft.com/en-us/windows/wsl/install). -If you don’t have a preference on Linux distribution, we recommend installing Ubuntu 20.04. +If you don’t have a preference for Linux distribution, we recommend installing Ubuntu 20.04. Once WSL is installed, open your ‘Start’ menu and choose ‘Ubuntu’. This will open a terminal window. A terminal is an interface you can use to interact with your computer using text. -The first time you have opened Ubuntu, you may see a message which says “Installing, this may take a few minutes…”. +The first time you open Ubuntu, you may see a message which says “Installing, this may take a few minutes…”. After the installation is done, you will have to create a username and password. After these are created, you should be able to use the terminal. The Windows Subsystem for Linux is like running another computer inside your computer. -It is a different operating system and has different software installed than your Windows computer. -For the WSL, you have to install miniconda from the terminal in your Linux operating system. +It is a different operating system with different software installed than your Windows computer. +For the WSL, you have to install Miniconda from the terminal in your Linux operating system. Note that if you are using the WSL, your Linux OS is completely separated from your Windows operating system. -This means that software installed on one operating system is not available in the other. +This means that software installed on one operating system is not available on the other. If you are running the Windows 11 operating system, you can [set up WSL to use graphical interfaces on your computer](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps). Otherwise, you will only be able to interact with WSL through the terminal (and the text editor VSCode, -see later in the set-up for information on how to use VS Code in WSL) +see later in the set-up for information on how to use VS Code in WSL). ## Miniconda Installation -You can install miniconda through a graphical interface or using your terminal. +You can install Miniconda through a graphical interface or using your terminal. Pick either "Graphical Installation" or "Text-based (terminal) Installation". **If you are using WSL, it may be easiest to complete this using the terminal installation.** ### Graphical Installation -Obtain the latest version of miniconda for your OS at this [link](https://docs.conda.io/en/latest/miniconda.html). -This will download an installer you can run to install miniconda on your system. +Obtain the latest version of Miniconda for your OS at this [link](https://docs.conda.io/en/latest/miniconda.html). +This will download an installer you can run to install Miniconda on your system. Note that if you are using WSL, you will need the **Linux** installer, and you will have to move this file to WSL before running. ### Text-based (terminal) Installation -You can also use the terminal to download and install the miniconda compilers using the terminal. +You can also use the terminal to download and install the Miniconda compilers using the terminal. If you are using Linux or WSL, type the following into your terminal. ````{tab-set-code} @@ -83,7 +83,7 @@ bash Miniconda3-latest-Linux-x86_64.sh ``` ```` -If you are using Mac, you should pick the appropriate link for your architecture from the miniconda installer page. +If you are using a Mac, you should pick the appropriate link for your architecture from the Miniconda installer page. M1: https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh x86: https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh @@ -198,7 +198,7 @@ For example, if you wanted to install NumPy version 1.15: `conda install numpy=1 For this workshop, you will need to install the following packages into your environment - NumPy - Matplotlib -- jupyter notebook +- Jupyter Notebook Packages available to Conda are stored within `channels`. Some packages are not stored in the default Conda channel, so we need to specify where Conda can find the package with `-c` followed by a channel name in our installation command. @@ -282,7 +282,7 @@ conda install -c conda-forge git ```` -Note that because of the solver that conda uses to decide which version of a package to install you may end up with a version that is < 2.28. +Note that because of the solver that Conda uses to decide which version of a package to install you may end up with a version that is < 2.28. you can use the same command from above `git --version` to see what version has been installed. If the output of that command is < 2.28 you will want to use the following command to specify the version to install. @@ -322,7 +322,7 @@ git config --global user.email "YOUR_EMAIL_ADDRESS" Next, you will need to set the name of the default branch git uses. -The following command will set your default branch name to be "main" +The following command will set your default branch name to "main" ````{tab-set-code} @@ -384,20 +384,20 @@ If you are using Mac, follow [these instructions](https://code.visualstudio.com/ You should also install the [Microsoft Python Extension Plugin](https://marketplace.visualstudio.com/items?itemName=ms-python.python) for VSCode. When enabled, the Python extension will allow you to set the Python environment that VS Code will use to run static checks of your code. You can set the Python environment when you have a Python project open by clicking the Python version (will likely be 3.something) on -in the blue ribbon at the botton of the editor on the right. +in the blue ribbon at the bottom of the editor on the right. Select the `molssi-best-practices` environment. ## Downloading Workshop Materials -In this workshop, we will be moving code from a Jupyter notebook into a Python package that we can install and import into other scripts. +In this workshop, we will be moving code from a Jupyter Notebook into a Python package that we can install and import into other scripts. - {download}`Starting materials for lesson <../data/starting_material.zip>`. ``````{admonition} Downloading materials from the command line :class: tip -If you are on WSL, or would like to use the command line, you can download the workshop materials using `curl` -(similar to how you downloaded the miniconda installer) +If you are on WSL or would like to use the command line, you can download the workshop materials using `curl` +(similar to how you downloaded the Miniconda installer) ````{tab-set-code} ```{code-block} shell URL_HERE From 97ed331d9fb731cfe5b825bddd1c4d15fe6ef4ee Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 14:04:10 -0400 Subject: [PATCH 09/49] update links to setup & typos Updated links to the Setup page using implicit targets in Sphinx --- _episodes/01-package-setup.md | 48 +++++++++++++++++------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index 93464843..cb3d6bc3 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -19,10 +19,10 @@ Objectives: For this workshop, we are going to create a Python package that performs analysis and creates visualizations for molecules. -We will start from a Jupyter notebook that has some functions and analysis. -(You should have downloaded the Jupyter notebook during setup(setup). +We will start with a Jupyter Notebook that has some functions and analysis. +(You should have downloaded the Jupyter Notebook during setup (`Setup`_). -The idea is that we would like to take this Jupyter notebook +The idea is that we would like to take this Jupyter Notebook and convert the functions we have created into a Python package. That way, if anyone (a lab-mate, for example) would like to use our functions, they can do so by installing the package and importing it into their own scripts. @@ -44,11 +44,11 @@ We will discuss what all of these are later in the workshop. ### Obtaining CookieCutter -You should have the general CookieCutter installed, according to the directions given in the setup(setup) portion of this workshop. -If you do not, please navigate to setup(setup) and follow the instructions given there. +You should have the general CookieCutter installed, according to the directions given in the setup (`Setup`_) portion of this workshop. +If you do not, please navigate to setup (`Setup`_) and follow the instructions given there. ### Running CookieCutter -Navigate to the `molssi_best_practices` directory created during setup(setup). +Navigate to the `molssi_best_practices` directory created during setup (`Setup`_). (CookieCutter will generate the new project in a subdirectory.) Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start your project: @@ -65,7 +65,7 @@ and tells cookiecutter to look at GitHub (`gh`) in the repository under `molssi/ This repository contains a template that cookiecutter uses to create your project, once you have provided some starting information. -You will see an interactive prompt which asks questions about your project. +You will see an interactive prompt that asks questions about your project. Here, the prompt appears first, followed by the default value in square brackets. The first question will be on your project name. You have very cleverly decided to give it the name `molecool` @@ -109,12 +109,12 @@ Choose from 1, 2 (1, 2) [1]: ### Explanation of CookieCutter Questions The first two questions are for the project and repository name. -The project name is the name of the project, while the repo name is the name of the folder that cookiecutter will create. Usually, you will leave these two to be the same thing. -The `repo_name` is the name which you will use to import the package you eventually create, and because of that has some rules. +The project name is the name of the project, while the repo name is the name of the folder that CookieCutter will create. Usually, you will leave these two to be the same thing. +The `repo_name` is the name that you will use to import the package you eventually create, and because of that has some rules. The `repo_name` must be a valid Python module name and cannot contain spaces. The next choice is about the first module name. -Modules are the `.py` files which contain python code. +Modules are the `.py` files that contain Python code. The default for this is the `repo_name`, but we will change this to avoid confusion (the module `molecool.py` in a folder named `molecool` in a folder named `molecool`??). For now, we'll just name our first module `functions`, and this is where we will put all of our starting functions. @@ -126,8 +126,8 @@ Note that your email address is not recorded or kept by the CookieCutter softwar #### License Choice Choosing which license to use is often confusing for new developers. -The MIT license (option 1) is a very common license, and the default on GitHub. -It allows for anyone to use, modify, or redistribute your work with no restrictions (and also no warranty). +The MIT license (option 1) is a very common license and the default on GitHub. +It allows anyone to use, modify, or redistribute your work with no restrictions (and also no warranty). Here, we have chosen the `BSD-3-Clause`. The `BSD-3-Clause` license is an open-source, permissive license (meaning that few requirements are placed on developers of derivative works), similar to the MIT license. @@ -151,16 +151,16 @@ So, if you ever start a project that becomes popular or has contributors, be sur Open-source licenses can either be 'permissive' or 'copy-left'. Copy-left licenses require that derivative works also be open source. - Out of the choices given above, MIT and BSD-3-Clause are permissive, while LGPLv3 is a copy left license. + Out of the choices given above, MIT and BSD-3-Clause are permissive, while LGPLv3 is a copyleft license. We recommend that you spend some time reading about licensing. One place to start is this [helpful guide]( https://github.com/choderalab/software-development/blob/master/LICENSING_GUIDELINES.md) from the Chodera Lab or the website [choosealicense.com](https://choosealicense.com). ``` #### Dependency Source -This determines some things in set-up for what will be used to install dependencies for testing. -This mostly has consequence for the section on [Continuous Integration](../08-CI/index.html). -We have chosen to install dependencies from anaconda with pip fallback. +This determines some things in the setup for what will be used to install dependencies for testing. +This mostly has consequences for the section on [Continuous Integration](../08-CI/index.html). +We have chosen to install dependencies from Anaconda with pip fallback. Don't worry too much about this choice for now. #### Support for ReadTheDocs @@ -169,7 +169,7 @@ This option is to choose whether you would like files associated with the docume Choose "yes" for this workshop. ### Reviewing directory contents -Now we can examine the project layout the CookieCutter has set up for us. +Now we can examine the project layout CookieCutter has set up for us. Navigate to the newly created `molecool` directory. You should see the following directory structure. @@ -178,7 +178,7 @@ You should see the following directory structure. ├── CODE_OF_CONDUCT.md <- Code of Conduct for developers and users ├── LICENSE <- License file ├── MANIFEST.in <- Packaging information for pip -├── README.md <- Description of project which GitHub will render +├── README.md <- Description of the project which GitHub will render ├── molecool <- Basic Python Package import file │ ├── __init__.py <- Basic Python Package import file │ ├── functions.py <- Starting package module @@ -192,7 +192,7 @@ You should see the following directory structure. │ ├── README.md │ ├── conda-envs <- Conda environments for testing │ │ └── test_env.yaml -│ ├── legacy-miniconda-setup <- Legacy Travis CI Helper, will likely be removed in later version +│ ├── legacy-miniconda-setup <- Legacy Travis CI Helper, will likely be removed in a later version │ │ └── before_install.sh │ └── scripts │ └── create_conda_env.py <- OS agnostic Helper script to make conda environments based on simple flags @@ -208,13 +208,13 @@ You should see the following directory structure. │ ├── getting_started.rst │ ├── index.rst │ ├── make.bat -│ └── requirements.yaml <- Documenation building specific requirements. Usually a smaller set than the main program +│ └── requirements.yaml <- Documentation building specific requirements. Usually a smaller set than the main program ├── pyproject.toml <- Generic Python build system configuration (PEP-517). ├── readthedocs.yml ├── setup.cfg <- Near-master config file to make house INI-like settings for Coverage, Flake8, YAPF, etc. -├── setup.py <- Your package's setup file for installing with additional options that can be set +├── setup.py <- Your package's setup file for installation with additional options that can be set ├── .codecov.yml <- Codecov config to help reduce its verbosity to more reasonable levels -├── .github <- GitHub hooks for user contribution, pull request guides and GitHub Actions CI +├── .github <- GitHub hooks for user contribution, pull request guides, and GitHub Actions CI │ ├── CONTRIBUTING.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows @@ -230,7 +230,7 @@ Note: `tree` will not show you the helpful labels after `<-` (those were added b CookieCutter has created a lot of files! They can be thought of as three sections. -In the top level of our project we have a folder for tools related to development (`devtools`), +In the top level of our project, we have a folder for tools related to development (`devtools`), documentation (`docs`) and to the package itself (`molecool`). We will first be working in the `molecool` folder to build our package, and adding more things later. @@ -451,4 +451,4 @@ If you are in the project directory, the code will still work. However, it will * There is a common way to structure Python packages. * You can use the CMS CookieCutter to quickly create the layout for a Python package. -``` \ No newline at end of file +``` From c3b3345e1571a62f1afa95837d92f803fe26b9d9 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 22 Oct 2023 11:36:41 -0700 Subject: [PATCH 10/49] Update tree directory structure Removed legacy-miniconda-setup dirctory within devtools The updated version of cookiecutter has removed this directory due to Legacy Travis CI Helper. --- _episodes/01-package-setup.md | 2 -- _episodes/05-package-structure.md | 2 -- 2 files changed, 4 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index 93464843..bb060357 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -192,8 +192,6 @@ You should see the following directory structure. │ ├── README.md │ ├── conda-envs <- Conda environments for testing │ │ └── test_env.yaml -│ ├── legacy-miniconda-setup <- Legacy Travis CI Helper, will likely be removed in later version -│ │ └── before_install.sh │ └── scripts │ └── create_conda_env.py <- OS agnostic Helper script to make conda environments based on simple flags ├── docs <- Documentation template folder with many settings already filled in diff --git a/_episodes/05-package-structure.md b/_episodes/05-package-structure.md index 302beea0..814156fd 100755 --- a/_episodes/05-package-structure.md +++ b/_episodes/05-package-structure.md @@ -53,8 +53,6 @@ please review the [package setup] section of the lessons. │ ├── README.md │ ├── conda-envs <- Conda environments for testing │ │ └── test_env.yaml -│ ├── legacy-miniconda-setup <- Legacy Travis CI Helper, will likely be removed in later version -│ │ └── before_install.sh │ └── scripts │ └── create_conda_env.py <- OS agnostic Helper script to make conda environments based on simple flags ├── docs <- Documentation template folder with many settings already filled in From 159fbab28933cc9d3ec15a9ec1919acf2f8eba53 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 14:38:54 -0400 Subject: [PATCH 11/49] created implicit target for Set Up --- _episodes/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index a6d03e87..b2b6c5ff 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -1,4 +1,4 @@ -# Set Up +# `Set Up`_ Participation in the MolSSI Best Practices Workshop will require using your own personal computer or laptop and installing some software. From e39304c39d089a18f027eeed831e4a066df0d7fa Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 22 Oct 2023 11:39:35 -0700 Subject: [PATCH 12/49] changed python3.7/site-packages to python3.11/site-packages --- _episodes/01-package-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index bb060357..fc69f482 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -381,7 +381,7 @@ Open Python (type `python` into your terminal window), and type This will give a list of locations python looks for packages when you do an import. -One of the locations should end with `python3.7/site-packages`. +One of the locations should end with `python3.11/site-packages`. The site packages folder is where all of your installed packages for a particular environment are located. To do a development mode install, type From 8d3eab5083f85cae85d6e13a2a8cdcd99f1de274 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 14:52:11 -0400 Subject: [PATCH 13/49] revert the title to the original form --- _episodes/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index b2b6c5ff..a6d03e87 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -1,4 +1,4 @@ -# `Set Up`_ +# Set Up Participation in the MolSSI Best Practices Workshop will require using your own personal computer or laptop and installing some software. From ce2c765342795e34ecc90bdb0488c2880d78eaf6 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 14:58:11 -0400 Subject: [PATCH 14/49] update cross-referencing for setup page Corrected the cross-referencing done in the previous commit by using 'The doc role' in Sphinx https://docs.readthedocs.io/en/stable/guides/cross-referencing-with-sphinx.html#implicit-targets --- _episodes/01-package-setup.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index cb3d6bc3..fac0f9e4 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -20,7 +20,7 @@ Objectives: For this workshop, we are going to create a Python package that performs analysis and creates visualizations for molecules. We will start with a Jupyter Notebook that has some functions and analysis. -(You should have downloaded the Jupyter Notebook during setup (`Setup`_). +(You should have downloaded the Jupyter Notebook during setup (:doc:`setup`). The idea is that we would like to take this Jupyter Notebook and convert the functions we have created into a Python package. @@ -44,11 +44,11 @@ We will discuss what all of these are later in the workshop. ### Obtaining CookieCutter -You should have the general CookieCutter installed, according to the directions given in the setup (`Setup`_) portion of this workshop. -If you do not, please navigate to setup (`Setup`_) and follow the instructions given there. +You should have the general CookieCutter installed, according to the directions given in the setup (:doc:`setup`) portion of this workshop. +If you do not, please navigate to setup (:doc:`setup`) and follow the instructions given there. ### Running CookieCutter -Navigate to the `molssi_best_practices` directory created during setup (`Setup`_). +Navigate to the `molssi_best_practices` directory created during setup (:doc:`setup`). (CookieCutter will generate the new project in a subdirectory.) Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start your project: From 97c9174b5daa2aaf789d9564c739dacda2f134a2 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 22 Oct 2023 12:27:29 -0700 Subject: [PATCH 15/49] Python version update Replaced all old occurances of 'Python 3.7.12' with updated Python 3.10.12 for pytest outputs --- _episodes/08-testing.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/_episodes/08-testing.md b/_episodes/08-testing.md index 85f8c047..9d9f336d 100644 --- a/_episodes/08-testing.md +++ b/_episodes/08-testing.md @@ -130,7 +130,7 @@ You should see an output similar to the following. ```{code-block} output ============================= test session starts ============================== -platform darwin -- Python 3.6.8, pytest-3.6.4, py-1.5.4, pluggy-0.6.0 +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/dev/molecool, inifile: collected 1 item @@ -163,7 +163,7 @@ There are a number of additional command line arguments to [explore](https://doc ```{code-block} output ============================= test session starts ============================== -platform darwin -- Python 3.6.8, pytest-3.6.4, py-1.5.4, pluggy-0.6.0 -- /Users/jessica/miniconda3/bin/python +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/dev/molecool, inifile: collected 1 item @@ -231,7 +231,7 @@ You should now see an output similar to the following ```{code-block} output ============================================================ test session starts ============================================================ -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool collected 2 items @@ -264,7 +264,7 @@ pytest -v ```{code-block} output ============================================================ test session starts ============================================================ -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool collected 2 items @@ -1040,7 +1040,7 @@ pytest -v -k "test_calculate_angle_many" ```{code-block} output ============================================================= test session starts ============================================================= -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 14 items / 11 deselected / 3 selected @@ -1109,7 +1109,7 @@ pytest -v --doctest-modules molecool ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 11 items @@ -1140,7 +1140,7 @@ Change the expected answer to 0.2 in the docstring and re-run the test to get th ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 11 items @@ -1201,7 +1201,7 @@ pytest --cov=molecool ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 +platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool plugins: cov-2.8.1 collected 10 items @@ -1209,7 +1209,7 @@ collected 10 items molecool/tests/test_measure.py ...... [ 60%] molecool/tests/test_molecule.py .... [100%] ----------- coverage: platform darwin, python 3.7.3-final-0 ----------- +---------- coverage: platform darwin, python 3.10.12-final-0 ----------- Name Stmts Miss Cover --------------------------------------------- molecool/__init__.py 9 0 100% From cfb617ecf74d379c6e1213fd7aa2ee2711776cb4 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 22 Oct 2023 15:35:04 -0700 Subject: [PATCH 16/49] Updated CI.md workflow to match the newest version of Molssi cookiecutter-cms checkout@v2 -> checkout@v3 & uses: mamba-org/provision-with-micromamba@main -> uses: mamba-org/setup-micromamba@v1 --- _episodes/09-CI.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index 8fbe4c24..673b49ca 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -145,14 +145,14 @@ To see what this means, let's look at our first step. ```{code-block} CI.yaml steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 ``` ```` This starts our `steps` section. Steps in our workflow are indicated either with the `uses` keyword or with the `name` keyword (will see next). If we use `uses,`, we are using a modular step which someone else has written and made available on the GitHub Actions Marketplace. -It then says that it uses `actions/checkout@v1`. +It then says that it uses `actions/checkout@v3`. This is an action which checks out your project. You can see the [documentation](https://github.com/marketplace/actions/checkout) to learn more about this action. By specifying that this step uses the checkout action, we don't have to write code to do the checkout ourselves. @@ -179,18 +179,16 @@ Next, we set up miniconda. This is a common action which many people have to do ````{tab-set-code} ```{code-block} CI.yaml - # More info on options: https://github.com/conda-incubator/setup-miniconda - - uses: conda-incubator/setup-miniconda@v2 + # More info on options: https://github.com/marketplace/actions/setup-micromamba + - uses: mamba-org/setup-micromamba@v1 with: python-version: ${{ matrix.python-version }} environment-file: devtools/conda-envs/test_env.yaml + condarc: | + channels: + - conda-forge + - defaults - channels: conda-forge,defaults - - activate-environment: test - auto-update-conda: false - auto-activate-base: false - show-channel-urls: true ``` ```` From 414bf36069fefa05e459a9aecfe1e778c8048fd6 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 19:58:47 -0400 Subject: [PATCH 17/49] updated cross-ref for setup updated cross-referencing using explicit text https://myst-parser.readthedocs.io/en/latest/syntax/cross-referencing.html#inline-links-with-explicit-text --- _episodes/01-package-setup.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index fac0f9e4..18025936 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -20,7 +20,7 @@ Objectives: For this workshop, we are going to create a Python package that performs analysis and creates visualizations for molecules. We will start with a Jupyter Notebook that has some functions and analysis. -(You should have downloaded the Jupyter Notebook during setup (:doc:`setup`). +(You should have downloaded the Jupyter Notebook during setup ([Set Up](../setup.md)). The idea is that we would like to take this Jupyter Notebook and convert the functions we have created into a Python package. @@ -44,11 +44,11 @@ We will discuss what all of these are later in the workshop. ### Obtaining CookieCutter -You should have the general CookieCutter installed, according to the directions given in the setup (:doc:`setup`) portion of this workshop. -If you do not, please navigate to setup (:doc:`setup`) and follow the instructions given there. +You should have the general CookieCutter installed, according to the directions given in the setup (([Set Up](../setup.md))) portion of this workshop. +If you do not, please navigate to setup (([Set Up](../setup.md))) and follow the instructions given there. ### Running CookieCutter -Navigate to the `molssi_best_practices` directory created during setup (:doc:`setup`). +Navigate to the `molssi_best_practices` directory created during setup (([Set Up](../setup.md))). (CookieCutter will generate the new project in a subdirectory.) Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start your project: From e7aadfad1274627a4da40dfca1b200655fcbe9c6 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 20:00:14 -0400 Subject: [PATCH 18/49] corrected cross-ref path for setup.md --- _episodes/01-package-setup.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index 18025936..fd8dfdc9 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -20,7 +20,7 @@ Objectives: For this workshop, we are going to create a Python package that performs analysis and creates visualizations for molecules. We will start with a Jupyter Notebook that has some functions and analysis. -(You should have downloaded the Jupyter Notebook during setup ([Set Up](../setup.md)). +(You should have downloaded the Jupyter Notebook during setup ([Set Up](setup.md)). The idea is that we would like to take this Jupyter Notebook and convert the functions we have created into a Python package. @@ -44,11 +44,11 @@ We will discuss what all of these are later in the workshop. ### Obtaining CookieCutter -You should have the general CookieCutter installed, according to the directions given in the setup (([Set Up](../setup.md))) portion of this workshop. -If you do not, please navigate to setup (([Set Up](../setup.md))) and follow the instructions given there. +You should have the general CookieCutter installed, according to the directions given in the setup (([Set Up](setup.md))) portion of this workshop. +If you do not, please navigate to setup (([Set Up](setup.md))) and follow the instructions given there. ### Running CookieCutter -Navigate to the `molssi_best_practices` directory created during setup (([Set Up](../setup.md))). +Navigate to the `molssi_best_practices` directory created during setup (([Set Up](setup.md))). (CookieCutter will generate the new project in a subdirectory.) Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start your project: From 9adec91d53a40c86a603c73572eab512441cbbf3 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Sun, 22 Oct 2023 20:01:25 -0400 Subject: [PATCH 19/49] corrected typo --- _episodes/01-package-setup.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index fd8dfdc9..00e40f9c 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -44,11 +44,11 @@ We will discuss what all of these are later in the workshop. ### Obtaining CookieCutter -You should have the general CookieCutter installed, according to the directions given in the setup (([Set Up](setup.md))) portion of this workshop. -If you do not, please navigate to setup (([Set Up](setup.md))) and follow the instructions given there. +You should have the general CookieCutter installed, according to the directions given in the setup ([Set Up](setup.md)) portion of this workshop. +If you do not, please navigate to setup ([Set Up](setup.md)) and follow the instructions given there. ### Running CookieCutter -Navigate to the `molssi_best_practices` directory created during setup (([Set Up](setup.md))). +Navigate to the `molssi_best_practices` directory created during setup ([Set Up](setup.md)). (CookieCutter will generate the new project in a subdirectory.) Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start your project: From 992bc60129670e68f7ea246daf8c58c0085b9c17 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 22 Oct 2023 18:16:18 -0700 Subject: [PATCH 20/49] changed syntax from Python 3.10.12 -> Python 3.11.6 --- _episodes/08-testing.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/_episodes/08-testing.md b/_episodes/08-testing.md index 9d9f336d..fd5ca85d 100644 --- a/_episodes/08-testing.md +++ b/_episodes/08-testing.md @@ -130,7 +130,7 @@ You should see an output similar to the following. ```{code-block} output ============================= test session starts ============================== -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/dev/molecool, inifile: collected 1 item @@ -163,7 +163,7 @@ There are a number of additional command line arguments to [explore](https://doc ```{code-block} output ============================= test session starts ============================== -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/bin/python +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/dev/molecool, inifile: collected 1 item @@ -231,7 +231,7 @@ You should now see an output similar to the following ```{code-block} output ============================================================ test session starts ============================================================ -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool collected 2 items @@ -264,7 +264,7 @@ pytest -v ```{code-block} output ============================================================ test session starts ============================================================ -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool collected 2 items @@ -1040,7 +1040,7 @@ pytest -v -k "test_calculate_angle_many" ```{code-block} output ============================================================= test session starts ============================================================= -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 14 items / 11 deselected / 3 selected @@ -1109,7 +1109,7 @@ pytest -v --doctest-modules molecool ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 11 items @@ -1140,7 +1140,7 @@ Change the expected answer to 0.2 in the docstring and re-run the test to get th ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 -- /Users/jessica/miniconda3/envs/molecool/bin/python cachedir: .pytest_cache rootdir: /Users/jessica/lessons/molecool collected 11 items @@ -1201,7 +1201,7 @@ pytest --cov=molecool ```{code-block} output =========================================================================== test session starts =========================================================================== -platform darwin -- Python 3.10.12, pytest-7.4.2, pluggy-1.3.0 +platform darwin -- Python 3.11.6, pytest-7.4.2, pluggy-1.3.0 rootdir: /Users/jessica/lessons/molecool plugins: cov-2.8.1 collected 10 items @@ -1209,7 +1209,7 @@ collected 10 items molecool/tests/test_measure.py ...... [ 60%] molecool/tests/test_molecule.py .... [100%] ----------- coverage: platform darwin, python 3.10.12-final-0 ----------- +---------- coverage: platform darwin, Python 3.11.6-final-0 ----------- Name Stmts Miss Cover --------------------------------------------- molecool/__init__.py 9 0 100% From e268ebf41009578f4fd36f749400aef07e6bef2a Mon Sep 17 00:00:00 2001 From: Fanwang Meng Date: Wed, 25 Oct 2023 00:56:07 -0400 Subject: [PATCH 21/49] Update the install instructions for jupyterlab --- _episodes/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 038c8fa4..c2d8b324 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -210,7 +210,7 @@ You can install multiple libraries at the same time by listing them one after an ````{tab-set-code} ```{code-block} shell -$ conda install -c conda-forge numpy matplotlib notebook +$ conda install -c conda-forge numpy matplotlib jupyterlab ``` ```` From c5992b5aa81a0e865f09da48270c54dc1a5f1767 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Thu, 26 Oct 2023 09:01:06 -0400 Subject: [PATCH 22/49] update lexerpatch --- _episodes/lexerpatch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/lexerpatch.py b/_episodes/lexerpatch.py index 650f5c9e..94b28fe6 100644 --- a/_episodes/lexerpatch.py +++ b/_episodes/lexerpatch.py @@ -15,7 +15,7 @@ def get_lexer( opts: dict | None = None, force: bool = False, location: Any = None, - ) -> sphinx.highlighting.Lexer: + ): split = lang.split(".") From 4e94a88521ea0b875c6ab24bdd52ceceb87c684b Mon Sep 17 00:00:00 2001 From: test Date: Thu, 26 Oct 2023 11:08:21 -0400 Subject: [PATCH 23/49] Adding instructions for libmamba solver. --- _episodes/setup.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/_episodes/setup.md b/_episodes/setup.md index 633ffa35..181b9be4 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -100,6 +100,40 @@ conda init ``` ```` +### Set conda to use the libmamba solver +The libmamba solver is an optional replacement to the default conda solver. +The libmamba solver will handle dependency solving much faster than the default solver. +To use the libmamba solver, first ensure your conda is up to date. +````{tab-set-code} + +```{code-block} shell +conda update -n base conda +``` +```` + +Then install the libmamba solver into your base environment. +````{tab-set-code} + +```{code-block} shell +conda install -n base conda-libmamba-solver +``` +```` + +Finally, set the default solver to be the libmamba solver. +````{tab-set-code} + +```{code-block} shell +conda config --set solver libmamba +``` +```` + +```{admonition} Using Mamba instead of Conda +:class: attention +If desired, instead of using a miniconda installation with the libmamba solver, you can directly use Mamba or Micromamba. +Installation instructions can be found in Mamba's documentation: https://mamba.readthedocs.io/en/latest/index.html +If using a version of mamba instead of conda, simply replace `conda` in all following instructions with `mamba`. +``` + ## Creating a conda environment A `conda` environment contains a specific collection of packages you have installed. From 561d2a3c3f35138c7b71cc4508be5dc7d565970b Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 30 Oct 2023 16:49:03 -0400 Subject: [PATCH 24/49] Update 02-git.md --- _episodes/02-git.md | 54 +++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 9862a61f..065de72c 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -30,8 +30,8 @@ To complete this lesson you will need: Version control keeps a complete history of your work on a given project. It facilitates collaboration on projects where everyone can work freely on a part of the project without overwriting others’ changes. -You can move between past versions and rollback when needed. -Also, you can review the history of your project through commit messages that describe changes on the source code, +You can move between past versions and roll back when needed. +Also, you can review the history of your project through commit messages that describe changes in the source code, and see what exactly has been modified in any given commit. You can see who made the changes and when it happened. @@ -53,13 +53,13 @@ Other examples of version control software include Subversion (`svn`) and Mercur You should have `git` installed and configured from the setup instructions. -In this section, we are going to edit files in the Python package that we created earlier, and use `git` to track those changes. +In this section, we are going to edit files in the Python package that we created earlier and use `git` to track those changes. First, use a terminal to `cd` into the top directory of the local repository (the outer molecool directory). In order for `git` to keep track of your project, or any changes in your project, you must first tell it that you want it to do this. -You must manually create check-points in your project if you wish to have points to return to. +You must manually create checkpoints in your project if you wish to have points to return to. If you were not using the CookieCutter, you would first have to initialize your project (i.e. tell `git` that you were working on a project) using the command `git init`. @@ -98,7 +98,7 @@ nothing to commit, working tree clean ```` -This tells us that we are on the `main` branch (more about branching later), and that no files have been changed since the last commit. +This tells us that we are on the `main` branch (more about branching later) and that no files have been changed since the last commit. Next, type ````{tab-set-code} @@ -114,7 +114,7 @@ This is something called your git *commit log*. Whenever you make a version, or checkpoint, of your project, you will be able to see information about that checkpoint using the `git log` command. The CookieCutter has already made a commit and written a message for you, -and that is what we see for this first commit in the log. +and that is what we look for in this first commit in the log. ````{tab-set-code} @@ -131,8 +131,8 @@ Date: Mon Feb 4 10:45:26 2019 -0500 Your version number for the Cookiecutter will depend on when you ran the Cookiecutter and the current released version. Each line of this log tells you something important about the commit, -or check point, that exists for the project. -On the first line, +or checkpoint, that exists for the project. +In the first line, ``` commit 25ab1f1a066f68e433a17454c66531e5a86c112d (HEAD -> main, tag: 0.0.0) @@ -150,7 +150,7 @@ Author: Your Name This should be your information. This way, anyone who downloads this project can see who made each commit. -Note that this name and email address matches what you specified when you configured `git` in the setup, +Note that this name and email address match what you specified when you configured `git` in the setup, with the name and email address you specified to `cookiecutter` having no effect. ``` @@ -164,7 +164,7 @@ Next, it lists the date and time the commit was made. ``` Finally, there will be a blank line followed by a commit message. -The commit message is a message that whoever made the commit chose to write, +The commit message is a message that whoever made the commit chose to write but should describe the change that took place when the commit was made. This commit message was written by `cookiecutter` for you. @@ -176,14 +176,14 @@ Right now, we have only one commit: the one created by the CMS CookieCutter. Now, we will change some files and use `git` to track those changes. -Let's edit our README. +Let's edit our README file. Open `README.md` in your text editor of choice. On line 8, you should see the description of the repository we typed when running `cookiecutter`. Add the following sentence to your `README.md` under the initial description and save the file. ``` -This repository is currently under development. To do a development install, download this repository and type +This repository is currently under development. To do installation in development mode, download this repository and type `pip install -e .` @@ -251,10 +251,10 @@ Changes to be committed: We are now on the second step of creating a commit. We have added our files to the staging area. -In our case, we only have one file in the staging area, but we could add more if we needed. +In our case, we only have one file in the staging area, but we could add more if needed. To create the checkpoint, or commit, we will now use the `git commit` command. -We add a `-m` after the command for "message." +We add a `-m` after the command for "message". Whenever you create a commit, you should write a message about what the commit does. ````{tab-set-code} @@ -266,7 +266,7 @@ git commit -m "update readme to have instructions for developmental install" Now when we look at our log using `git log`, we see the commit we just made along with information about the author and the date of the commit. -If you neglect the `-m` option, and you configured an editor during set-up, +If you neglect the `-m` option and configure an editor during set-up, `git` will open the editor for you to compose your commit message. Let's continue to edit this readme to include more information. @@ -275,7 +275,7 @@ Open `README.md` in your text editor of choice and add the following to the end. ``` This package requires the following: - - numpy + - NumPy - matplotlib ``` @@ -370,10 +370,10 @@ git diff HEAD~1 The argument to `git diff` refers to the comparison point in our commit history. `HEAD` is an alias for the commit at the tip of our checked-out branch. `~1` is a modifier that refers to the given commit minus 1. -We are asking git to show us the difference between the current files and the second-most-recent commit. +We are asking git to show us the difference between the current files and the second most recent commit. Lines that have been added are indicated in green with a plus sign next to them (`+`), -while lines that have been deleted are indicated in red with a minus sign next to them (`-`) +while lines that have been deleted are indicated in red with a minus sign next to them (`-`). ## Viewing previous versions @@ -389,7 +389,7 @@ git checkout COMMIT_ID This will temporarily revert the repository to whatever the state was at the specified commit ID. -Let's checkout the version before we made the most recent edit to the README. +Let's check out the version before the most recent edit we made to the README. ````{tab-set-code} @@ -439,8 +439,8 @@ git checkout main :class: exercise What list of commands would mimic what the CMS CookieCutter did when it created the -repository and made the first commit? (hint - to initialize a repository, you use -the command `git init`) +repository and made the first commit? (Hint - to initialize a repository, you use +the command `git init`.) `````{admonition} Solution :class: solution dropdown @@ -457,7 +457,7 @@ git commit -m "Initial commit after CMS Cookiecutter creation, version 1.0" ```` The first line initializes the `git` repository. -The second line add all modified files in the current working directory, and the third line commits these files and writes the commit message. +The second line adds all modified files to the current working directory, and the third line commits these files and writes the commit message. ````` `````` @@ -512,7 +512,7 @@ index 94e0b50..a68f349 100644 ```` -To compare against the commit just before the most recent commit, add "~1" to end of "HEAD": +To compare against the commit just before the most recent commit, add "~1" to the end of "HEAD": ````{tab-set-code} @@ -529,9 +529,11 @@ diff --git a/README.md b/README.md index e778cd4..94e0b50 100644 --- a/README.md +++ b/README.md -@@ -13,6 +13,10 @@ This repository is currently under development. To do a development install, dow +@@ -13,6 +13,10 @@ This repository is currently under development. To do installation in development mode, download this repository and type - in the repository directory. +`pip install -e .` + +in the repository directory. +This package requires the following: + - numpy @@ -1259,4 +1261,4 @@ If you want more `git`, see the following tutorials. * Git provides a way to track changes in your project. * Git is a software for version control, and is separate from GitHub. -```` \ No newline at end of file +```` From bc0173b55ea34409557e3b83ce25c2203edcebbb Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 30 Oct 2023 17:17:13 -0400 Subject: [PATCH 25/49] Update 02-git.md --- _episodes/02-git.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 065de72c..ec4e6a9d 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -577,7 +577,7 @@ When you are working on a project to implement new features, it is a good practice to isolate the changes you are making and work on one particular topic at a time. To do this, you can use something called a **branch** in git. Working on branches allows you to isolate particular changes. -If you make sure that your code works before merging to your main or **main** branch, +If you make sure that your code works before merging to your main or master branch, you will ensure that you always have a working version of code on your `main` branch. If you followed the set-up instructions, you should be in the `main` branch by default. @@ -616,7 +616,7 @@ There have been two commits, and the HEAD is currently after commit 2. ``` After we have created a new branch and checked it out, we can imagine our git history looking like this. -The `zen` branch 'branches' or starts from the point where we used the git branch command. +The `zen` branch 'branches' starts from the point where we used the git branch command. ```{image} ../fig/github_workflows/git_branch.svg :align: center @@ -629,7 +629,7 @@ Note that we have not yet made a commit, but this diagram is for illustrative pu :align: center ``` -Now that we have a better understanding of what branching looks like, lets make some changes to the `zen` branch. +Now that we have a better understanding of what branching looks like, let's make some changes to the `zen` branch. Add a new function to your `functions.py` module. We are going to add the ability to print "The Zen of Python". You can get the Zen of Python by typing @@ -728,7 +728,7 @@ git checkout -b doc_update ```` -Let's add some information about developing on branches to the README. +Let's add some information about developing branches to the README. Update your README to include this information: ````{tab-set-code} @@ -752,7 +752,7 @@ To incorporate these changes in `main`, you will need to do a `git merge`. When you do a merge, you should be on the branch you would like to merge into. In this case, we will first merge the changes from our `doc_update` branch, then our `zen` branch, so we should be on our `main` branch. -Next we will use the `git merge` command. +Next, we will use the `git merge` command. The syntax for this command is @@ -788,7 +788,7 @@ git merge zen ```` -This time, you will see a different message, and a text editor will open for a merge commit message. +This time, you will see a different message and a text editor will open for a merge commit message. ````{tab-set-code} @@ -797,7 +797,7 @@ Merge made by the 'recursive' strategy. ``` ```` -This is because `main` and `zen` have development histories which have diverged. +This is because `main` and `zen` have development histories that have diverged. `git` had to do some work in this case to merge the branches. A *merge commit* was created. @@ -821,11 +821,11 @@ git branch -d zen :class: exercise For this exercise, you will be adding all the functions from your Jupyter -notebook to the package. Create a branch to add your functions. -Add all of the functions from your Jupyter notebook to the module +Notebook to the package. Create a branch to add your functions. +Add all of the functions from your Jupyter Notebook to the module `functions.py` in your package. Verify that you can use your functions. -Once the functions are added and working, merge into your `main` branch. +Once the functions are added and working, merge them into your `main` branch. `````{admonition} Solution :class: solution dropdown @@ -840,7 +840,7 @@ git checkout -b add-functions ``` ```` -Next, copy all of your imports from the first cell of your Jupyter notebook and paste them into the top of your file. +Next, copy all of your imports from the first cell of your Jupyter Notebook and paste them into the top of your file. Next, copy the function definitions from the first cell and paste them above or below the `canvas` function. @@ -1082,14 +1082,14 @@ git merge add-functions Sometimes while you work on a project, you may end up creating some temporary files. For example, if your text editor is Emacs, you may end up with lots of files called `~`. By default, Git tracks all files, including these. -This tends to be annoying, since it means that any time you do `git status`, +This tends to be annoying since it means that any time you do `git status`, all of these unimportant files show up. -We are now going to find out how to tell Git to ignore these files, -so that it doesn't keep telling us about them ever time we do `git status`. -Even if you aren't working with Emacs, someone else working on your project might, -so let's do the courtesy of telling Git not to track these temporary files. -First, lets ensure that we have a few dummy files. +We are now going to find out how to tell Git to ignore these files +so that it doesn't keep telling us about them every time we do `git status`. +Even if you aren't working with Emacs, someone else working on your project might. +So let's do the courtesy of telling Git not to track these temporary files. +First, let's ensure that we have a few dummy files. Make empty files called `testing.txt~` and `README.md~` in your repository using your text editor of choice. @@ -1128,9 +1128,9 @@ nothing added to commit but untracked files present (use "git add" to track) Now we will make Git stop telling us about these files. Earlier, when we looked at the hidden files, you may have noticed a file called `.gitignore`. -Cookiecutter created this for us, however, GitHub also has built in `.gitignore` files you can add when creating an empty repository. +Cookiecutter created this for us, however, GitHub also has built-in `.gitignore` files you can add when creating an empty repository. -This file is to tell `git` which types of files we would like to ignore (thus the name `.gitignore`) +This file is to tell `git` which types of files we would like to ignore (thus the name `.gitignore`). Look at the contents of `.gitignore` @@ -1163,7 +1163,7 @@ wheels/ *.egg # PyInstaller -# Usually these files are written by a python script from a template +# Usually these files are written by a Python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec @@ -1184,7 +1184,7 @@ Add the following to the end of `.gitignore`: ~~~ -Now do "git status" again. Notice that the files we added are no longer recognized by git. +Now do "git status" again. Notice that the files we added are no longer recognized by Git. ````{tab-set-code} @@ -1260,5 +1260,5 @@ If you want more `git`, see the following tutorials. :class: key * Git provides a way to track changes in your project. -* Git is a software for version control, and is separate from GitHub. +* Git is a software for version control and is separate from GitHub. ```` From 06e6a8179d20b1b348dd3bbf0f31a752570bd475 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 30 Oct 2023 19:35:35 -0400 Subject: [PATCH 26/49] Update 03-github.md --- _episodes/03-github.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/_episodes/03-github.md b/_episodes/03-github.md index 2b2f516b..e551a514 100755 --- a/_episodes/03-github.md +++ b/_episodes/03-github.md @@ -16,9 +16,9 @@ Objectives: ## Securely accessing GitHub During the setup for this workshop, we generated an SSH key and added it to our GitHub account. -The SSH key will allow us to authenticate our identity to GitHub, allowing us to access to our remote repositories. +The SSH key will allow us to authenticate our identity to GitHub, allowing us to access our remote repositories. For the purposes of this workshop, an SSH key is a good way to quickly and conveniently get set up using GitHub. -If you completed the set up instructions, you will have an SSH key set up already. +If you completed the [Set Up](setup.md) instructions, you will have an SSH key set up already. If you continue further development using GitHub after this workshop, you may want to consider alternatives. @@ -30,7 +30,7 @@ GitHub has good documentation for [generating and using a PAT](https://docs.gith ## Putting your repository on GitHub. Now, let's put this project on GitHub so that we can share it with others. In your browser, navigate to [github.com](https://www.github.com). -Log in to you account if you are not already logged in. +Log in to your account if you are not already logged in. On the left side of the page, click the green button that says `New` to create a new repository. Give the repository the name `molecool`. @@ -50,7 +50,7 @@ Now, GitHub very helpfully gives us directions for how to get our code on GitHub Before we follow these directions, let's look at a few things in the repository. When you want to be able to put your code online in a repository, you have to add what git calls `remotes`. -Currently, our repository has no remotes. See this by typing +Currently, our repository has no remotes. Check this by typing: ````{tab-set-code} @@ -61,7 +61,7 @@ git remote -v -You should see no output. +you should see no output. Now, follow the instructions on GitHub under "...or push an existing repository from the command line" ````{tab-set-code} @@ -81,12 +81,12 @@ Now, whenever we say `origin`, git knows that we really mean `git@github.com:YOU The second command changes our primary branch name from `master` to `main`. GitHub recently decided (as of June 2020) to switch the name of your `main` branch from `master` to `main`. However, the `git` software will still name your primary (or first) branch `master`. -After the second command, you will no longer see `master` when using the command `git branch` (instead seeing `main`). +After the second command, you will no longer see `master` when using the command `git branch` (instead you will see `main`). The third command copies (or "pushes") everything which we have tracked using git to `origin`. The word `main` means we are pushing the `main` branch. -Now if you refresh the GitHub webpage you should be able to see all the new files you added to the repository. +Now, if you refresh the GitHub webpage you should be able to see all the new files you added to the repository. This is now an effective entry point for people discovering your project, but you should document the URL within your repository contents, in case people @@ -99,7 +99,7 @@ for the Source URL for your package's metadata. One of the most potentially frustrating problems in software development is keeping track of all the different copies of the code. For example, we might start a project on a local desktop computer, switch to working on a laptop during a conference, and then do performance optimization on a supercomputer. In the olden days, switching between computers was typically accomplished -by copying files via a USB drive, or with `ssh`, or by emailing things to oneself. +by copying files via a USB drive or with `ssh` or by emailing things to oneself. After copying files, it was very easy to make an important change on one computer, forget about it, then resume work with the original code version on another computer (having forgotten to reapply the important change). @@ -298,7 +298,7 @@ Now we can actually see `testing.txt` in our original repository. Now we will make a few new edits to `testing.txt`: -Add a dummy header and footer the `testing.txt`, so that it looks like this: +Add a dummy header and footer for the `testing.txt`, so that it looks like this: ````{tab-set-code} @@ -374,7 +374,7 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. ```` -The push failed, because the `friend` clone is not up-to-date with the repository on GitHub. +The push failed because the `friend` clone is not up-to-date with the repository on GitHub. We can fix this by doing a pull: ````{tab-set-code} @@ -510,7 +510,7 @@ Navigate to the GitHub page for your project. Click on `testing.txt`. Here you can see the file and make changes to it. Click the edit button, which looks like a small pencil near the upper right of the file text box. -Add a line that says "I added this line from the GitHub web interface!", so that the file looks like: +Add a line that says "I added this line from the GitHub web interface!", so that the file looks like this: ````{tab-set-code} ```{code-block} testing.txt @@ -564,4 +564,4 @@ If you want more `git`, see the following tutorials. - You can use GitHub to store your project online where you or others can access it from a central repository. - You can use GitHub to store your projects so that you can work on them from multiple computers. -``` \ No newline at end of file +``` From e7b37f0b52f13d2228c1dd8475339b9998b39d18 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 30 Oct 2023 20:03:35 -0400 Subject: [PATCH 27/49] Update 07-collaboration.md --- _episodes/07-collaboration.md | 76 +++++++++++++++++------------------ 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/_episodes/07-collaboration.md b/_episodes/07-collaboration.md index e6a63ec7..52e05552 100644 --- a/_episodes/07-collaboration.md +++ b/_episodes/07-collaboration.md @@ -11,8 +11,8 @@ Questions: Objectives: * Learn about collaboration models. -* Learn what a fork is on GitHub -* Learn how to open a pull request +* Learn what a fork is on GitHub. +* Learn how to open a pull request. ```` ## Repository collaborators @@ -22,11 +22,11 @@ There are several ways for people to contribute to your project. If you are working with a small number of people who you know well, you may simply choose to add them as collaborators to your repo. This will give them the ability to push to your repository. -To add collaborators to your project, navigate to your repository on GitHub +To add collaborators to your project, navigate to your repository on GitHub. Click the "Settings" button to the right of the little gear. This will take you to some options that will help you to maintain your repository. -This page lets you do several important things, including rename, relocate, transfer, or delete your repository. +This page lets you do several important things including rename, relocate, transfer, or delete your repository. Underneath the "Features" heading you will notice an option to "Restrict editing to collaborators only". This option prevents random strangers from being able to push changes to your repository, and should always be kept on. @@ -44,7 +44,7 @@ People you don't know very well shouldn't be listed as collaborators, but there ### Protecting your main Branch If you choose to work with collaborators, there are still ways for you to protect your code. -Click the "Branches" tab. You will see a heading which says "Branch protection rule". +Click the "Branches" tab. You will see a heading that says "Branch protection rule". Adding the name of a branch here will make it a "protected branch" and the rules you choose in the section below will protect the branch (under the heading "protect matching branches"). For example, you may want to choose to protect the `main` branch so that pull requests and reviews are required to change the branch. This way, your collaborators will not be able to push to the main branch, and must submit a `pull request` more on this later in order for their changes to be incorporated. @@ -72,7 +72,7 @@ Add the following to your README and commit the change. ````{tab-set-code} ```{code-block} README.md -To submit your feature to be incorporated to the main branch, +To submit your feature to be incorporated into the main branch, you should submit a `Pull Request`. The repository maintainers will review your pull request before accepting your changes. ``` @@ -90,9 +90,9 @@ git commit -m "add collaboration instructions to readme" We want these changes incorporated into the main branch. You could do as we did before and switch to the `main` branch, `merge` then changes, and push to GitHub for the changes to be present there on the `main` branch. If you are the repository owner, this will work even if you have branch protection rules. -However, if you are not, your push from main will be rejected by GitHub. +However, if you are not, your push from the main will be rejected by GitHub. -We will want to push to a new branch on the repo then open a pull request. +We will want to push to a new branch on the repo and then open a pull request. ````{tab-set-code} @@ -129,13 +129,13 @@ You can click this link or copy and paste it to open a pull request. Write a description of the pull request in the box, then click "Create Pull Request". Once the PR is created, you will see a page describing the PR. -On the top of the repo, you should see a button called "Pull Requests" and it should show that one is open for your repo. -You can then choose to review the PR, or in this case you can just merge it without a review. +On the top of the repo, you should see a button called "Pull Requests" and it should show that one PR is open for your repo. +You can then choose to review the PR, or in this case, you can just merge it without a review. To review a PR, click the 'Files changed' tab. You can review the changes (green Review changes button). Since you are looking at your own PR, you won't be able to "Approve" if you have put in the branch protection rule. However, you can comment on and merge the changes if you wish. -This kind of workflow is fine if you and everyone contributing has write access to the repo. +This kind of workflow is fine if you and everyone contributing have write access to the repo. However, this will sometimes not be the case and you will want to contribute to repos where you do not have write access. In the next couple of sections, we will explore how this works in detail. @@ -156,25 +156,25 @@ A fork is a copy of a repository that is largely independent of the original. The maintainer of the original repository doesn’t have to do anything or know about the existence of the fork. Want to make changes to an open-source project, but aren’t listed as a collaborator on the project? Just make a fork, which you own and can manage in the same way as any other repository that you create on GitHub. -If you want to submit changes to the project’s official repository, you can create a “pull request”, which we will discuss in more detail in the next section. +If you want to submit changes to the project’s official (original) repository, you can create a “pull request”, which we will discuss in more detail in the next section. For now, we will learn how to create and maintain a fork. -During this section, we will all fork a central repository, make changes, then submit something called a Pull Request to have those changes incorporated into the code. +During this section, we will all fork a central repository, make changes, and then submit something called a Pull Request to have those changes incorporated into the code. We will leave the package we are developing for this section. Navigate to the URL [https://github.com/molssi-education/periodic-table][periodic-table-repo] in your web browser. You should see a GitHub repo. -This repository contains code to make a website which has the periodic table. +This repository contains code to make a website that has the periodic table. [View the website](https://molssi-education.github.io/periodic-table). -On the website page, elements which appear with a red background have a page and information filled in. +On the website page, elements that appear with a red background have a page and information filled in. You can read more about each element by clicking on it. Elements with a white background do not yet have a page. Take a minute or two to click around. Create a personal fork of the repository by pressing the “Fork” button near the top right on the [GitHub repository](https://github.com/molssi-education/periodic-table). GitHub will copy the repository to your profile. It should automatically redirect when it's done. -You should notice at the top of the page, the name of the repository has a 'fork' symbol by it. +You should notice at the top of the page, the name of the repository has a 'fork' symbol on it. It should say `YOUR_USERNAME/periodic-table`, and under that say `forked from molssi-education/periodic-table.` You can use the following diagram to visualize what you just did. @@ -237,7 +237,7 @@ git remote -v ```` -You should see output similar to the following +You should see output similar to the following: ````{tab-set-code} @@ -249,9 +249,9 @@ origin git@github.com:YOUR_GITHUB_USERNAME/periodic-table.git (push) This is similar to our own repository. -However, since this is fork, we will want to add another remote to track the original repository. +However, since this is a fork, we will want to add another remote to track the original repository. The standard names for remotes are `origin` for the repository we have cloned from, and `upstream` for the repository we forked from. -Add an upstream using the following command +Add an upstream using the following command. ````{tab-set-code} @@ -262,13 +262,13 @@ git remote add upstream git@github.com:molssi-education/periodic-table.git Now, when you check the remotes (`git remote -v`), it should list both the `origin`, and `upstream` repositories. -If we wanted to pull changes from the original repo, we could do `git pull upstream branch_name` +If we wanted to pull changes from the original repo, we could do `git pull upstream branch_name`. ```{image} ../fig/github_workflows/github_remotes.svg :align: center ``` -Next type +Next, type: ````{tab-set-code} @@ -278,9 +278,9 @@ git fetch upstream ```` -To get a copy of the upstream repository. +to get a copy of the upstream repository. This will be in a hidden branch. -You should be able to see both the origin and upstream hidden branches by typing +You should be able to see both the origin and upstream hidden branches by typing, ````{tab-set-code} @@ -312,7 +312,7 @@ This command creates the branch and checks it out (the `-b` stands for `branch`) Alternatively, we could have used the commands `git branch sodium` and `git checkout sodium`. In general, your branch name should describe the feature or changes that you plan to make on the branch. -You will see the output +You will see the output: ````{tab-set-code} @@ -327,7 +327,7 @@ We have now created a new branch called `sodium` and checked it out. ## Importance of Branching When you are doing development, particularly on a fork (but also if you are collaborating), it is very important that all development work be done on a branch. -In the case of a collaborative repository where you are pushing directly, this will allow you to do pull requests from branches (more on pull requests below), and that your code is reviewed by another developer on the project before being merged to the main branch. +In the case of a collaborative repository where you are pushing directly, this will allow you to do pull requests from branches (more on pull requests below), and your code is reviewed by another developer on the project before being merged to the main branch. The most important reason to work on a branch is to keep your main branch clean. In the workflow you are learning today, the main branch should track upstream, and only be changed by pulling from upstream. @@ -337,7 +337,7 @@ It will make it easier to correct mistakes if they arise, and keep your reposito ## Editing our element Now it's time to edit our periodic table element. -If you have picked an element which exists already, there will be a file with the name `element_name.md` where element name is the element you've chosen. +If you have picked an element that exists already, there will be a file with the name `element_name.md` where the element name is the element you've chosen. If the file does not exist, create it. For example, to create the sodium file, @@ -351,7 +351,7 @@ touch sodium.md Once the file is created, open it in your text editor of choice. -It is important that every element have the following at the top of the page (note - spacing is very important!) +It is important that every element has the following at the top of the page (note - spacing is very important!). ````{tab-set-code} @@ -389,7 +389,7 @@ Save your file after you edit it. If you have [Jekyll](https://jekyllrb.com) installed, you can view a local copy of the webpage. This is not a necessary step. -If you do not have Jekyll installed, or do not wish to install Jekyll skip this step. +If you do not have Jekyll installed or do not wish to install Jekyll skip this step. Execute the command @@ -418,8 +418,8 @@ git commit -m "update YOUR_ELEMENT page" Next, we must push these changes. -But, where do we want to push the changes? We would like to have our changes incorporated into the central repository, but do not have permission to push upstream. -We will have to push to origin (our repository) on the `sodium` branch (or whatever branch you're working on), then we will request that the maintainers of the upstream repository incorporate our changes, or pull from our repository. +But, where do we want to push the changes? We would like to have our changes incorporated into the central repository but do not have permission to push upstream. +We will have to push to the origin (our repository) on the `sodium` branch (or whatever branch you're working on), and then we will request that the maintainers of the upstream repository incorporate our changes, or pull from our repository. This is why it is called a `Pull Request`. We are literally requesting them to pull from our repository. @@ -453,7 +453,7 @@ remote: `git` is correct. -What we will want to do next is creating a pull request on the original repository to get our changes incorporated. +What we will want to do next is create a pull request on the original repository to get our changes incorporated. ## Opening a Pull Request @@ -461,10 +461,10 @@ It is now time to incorporate the edits you have made in your fork into the orig To do this, we must create a `Pull Request`. Navigate to the URL of your fork. -You should see a highlighted area and green button which says "Compare and Pull Request". +You should see a highlighted area and a green button that says "Compare and Pull Request". Alternatively, you can navigate to the URL given in the message where you did a push. -Once you are on the page that says "Open a pull request", you should see fields which ask for the name of the pull request, as well as a larger text box which has space for a description. +Once you are on the page that says "Open a pull request", you should see fields that ask for the name of the pull request, as well as a larger text box that has space for a description. Make the title of this pull request "add sodium page". Edit the description to describe what you have done in your pull request, then submit the pull request. @@ -484,7 +484,7 @@ This is indicated in the figure below through the change in color of the word 'm ## Incorporating upstream changes to local -After your change has been accepted to upstream, you will want to incorporate the changes into your local main branch. +After your change has been accepted upstream, you will want to incorporate the changes into your local main branch. First, switch to your main branch. ````{tab-set-code} @@ -495,7 +495,7 @@ git checkout main ```` -You can get changes to your local main by either doing a `git pull` from upstream main, or by doing a `git fetch` from upstream main, followed by a merge. +You can get changes to your local main by either doing a `git pull` from the upstream main, or by doing a `git fetch` from the upstream main, followed by a merge. For now, just do a pull. ````{tab-set-code} @@ -507,7 +507,7 @@ git pull upstream main Next, you will want to update your origin main. -Push from the local main to origin. +Push from the local main to the origin. ````{tab-set-code} @@ -531,7 +531,7 @@ git branch -d sodium The `-d` option means to delete the branch. -To delete the branch on your origin repository on GitHub, you can use the command +To delete the branch on your origin repository on GitHub, you can use the command: ````{tab-set-code} @@ -562,7 +562,7 @@ If you want more `git`, see the following tutorials. - To contribute to someone else's project, you should fork their repository. - All development work should be done on a new branch. Each branch should implement one feature. -- Once you've implemented a new feature, push to your repository and create a pull request on the original repo. +- Once you've implemented a new feature, push it to your repository and create a pull request on the original repo. ```` From cba50457ece2e195f5d330ca092d951b15729748 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Thu, 2 Nov 2023 17:05:01 -0400 Subject: [PATCH 28/49] Update 08-testing.md --- _episodes/08-testing.md | 99 ++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 51 deletions(-) diff --git a/_episodes/08-testing.md b/_episodes/08-testing.md index 85f8c047..e2752e32 100644 --- a/_episodes/08-testing.md +++ b/_episodes/08-testing.md @@ -18,16 +18,16 @@ While this seems to work, it can be tedious, and prone to error. In this lesson, we'll discuss how to write tests and run them using the `pytest` testing framework. Using a testing framework will allow us to easily define tests for all of our functions and modules, and to test these each time we make a change. -This will ensure that our code is behaving the way we expect, and that we do not break any features existing in the code by making new changes. +This will ensure that our code is behaving the way we expect and that we do not break any features existing in the code by making new changes. This episode explains the importance of code testing and demonstrates the possible capabilities. ## Why testing Software should be tested regularly throughout the development cycle to ensure correct operation. -Thorough testing is typically an afterthought, but for larger projects, it is essential for ensuring changes in some parts of the code do not negatively affect other parts. +Thorough testing is typically an afterthought, but for larger projects, it is essential to ensure changes in some parts of the code do not negatively affect other parts. -**Software testing is checking the behavior of part of the code (such as a method, class, or a module) by comparing its expected output or behavior with the observed one.** +**Software testing is checking the behavior of part of the code (such as a method, class, or module) by comparing its expected output or behavior with the observed one.** We will explain this in more detail shortly. ## Levels of Testing @@ -49,19 +49,19 @@ This is a more holistic approach where you test the interface between modules, a Where you test your system as a whole to check if it meets all the requirements. Another important type of testing is **Regression tests**. -In Regression tests, given a known input, does the software correctly and consistently return the correct values. +In Regression tests,In regression tests, the software is checked to ensure that it consistently returns correct values given known inputs. This kind of testing can catch problems in previously working code that may have been broken by new changes or new features. It is highly encouraged to have Unit tests that *cover* most of your code. It is also helpful to have some Integration and System tests. In this lesson, we are focusing on unit testing. -Same concepts here can be applied to perform Integration tests across modules. +The same concepts can be utilized to conduct integration tests throughout various modules. ## The pytest testing framework MolSSI recommends using the [pytest](https://pytest.org) testing framework. -Other testing frameworks are available (such as unittest and nose tests); +Other testing frameworks are available (such as [unittest](https://docs.python.org/3/library/unittest.html) and [nose tests](https://nose.readthedocs.io/en/latest/)); however, the combination of easy implementation, [parametrization of tests](https://docs.pytest.org/en/latest/parametrize.html), [fixtures](https://docs.pytest.org/en/latest/fixture.html), and [test marking](https://docs.pytest.org/en/latest/example/markers.html) make `pytest` an ideal testing framework. @@ -106,9 +106,9 @@ def test_molecool_imported: This file begins with `test_`, and contains a single function `test_molecool`. -This module will import our package, then checks to see if it has been imported correctly by checking if the package name is in the list of imported modules. +This module will import our package, then it checks to see if it has been imported correctly by checking if the package name is in the list of imported modules. -The last line, containing the python keyword `assert`, is called an assertion. +The last line, containing the Python keyword `assert`, is called an assertion. Assertions are used to check the behavior of the code during runtime. The `assert` keyword halts code execution instantly if the comparison is `False`, and does nothing if the comparison is `True`. Remember that pytest counts a test as passing if no error occurs while it is being run. @@ -142,8 +142,7 @@ molecool/tests/test_molecool.py . [100%] Here, `pytest` has looked through our directory and its subdirectories for anything matching `test*`. -It found the `tests` folder, and within that folder, it found the file `test_molecool.py`. -It then executed the function `test_molecool_imported` within that module. +If the `tests` folder exists, the code locates the `test_molecool.py` file within it and executes the `test_molecool_imported` function present within the module. Since our `assertion` was `True`, our test did not result in an error and the test passed. We can see the names of the tests `pytest` ran by adding a `-v` tag to the pytest command. @@ -212,8 +211,8 @@ def test_calculate_distance(): We have written one test in this file. -In our test function `test_calculate_distance`, we defined two points. -We know that these points should be a distance of 1 from one another. +In our test function `test_calculate_distance`, we have defined two points. +We know that these points should be at a distance of 1 from one another. Run this test using `pytest`. In the terminal window, type @@ -225,7 +224,7 @@ pytest -v ```` -You should now see an output similar to the following +You should now see an output similar to the following: ````{tab-set-code} @@ -243,14 +242,14 @@ molecool/tests/test_measure.py::test_calculate_distance PASSED [100%] ```` -We now see that we have two tests which have been run, and they both passed. +Now we can see that two tests have been run and both have passed. This means that our calculated distance was equal to what we set as the expected distance, and the assertion did not fail. ### Failing tests -Let's see what happens when one of the test fails. +Let's see what happens when one of the tests fails. -In case of test failure, Pytest will show detailed output from doing its own analysis to discover the error by inspecting your objects at runtime. -Change the value of the `expected` variable in your test function to `2` and rerun the test. +If a test fails, Pytest will provide detailed output by analyzing the objects at runtime to discover the error. +To rerun the test, you can change the value of the `expected` variable in your test function to `2`. ````{tab-set-code} @@ -294,11 +293,9 @@ molecool/tests/test_measure.py:26: AssertionError ``` ```` - -Pytest shows a detailed failure report, including the source code around the failing line. -The line that failed is marked with `>`. -Next, it shows the values used in the assert comparison at runtime, that is `2 == 1.0`. -This runtime analysis is one of the advantages of pytest that help you debug your code. +Pytest displays a detailed failure report which includes the source code surrounding the line that failed. +The failed line is marked with `>`. Additionally, it displays the values used in the assert comparison at runtime, such as `2 == 1.0`. +This runtime analysis is one of the advantages of pytest, which can help you with debugging your code. ``````{admonition} Check Your Understanding :class: exercise @@ -309,7 +306,7 @@ What happens if you leave your `expected_value` equal to 2, but remove the asser :class: solution dropdown If you remove the word `assert`, you should notice that your test still passes. -This is because the expression evaluated to `False`, but since there was no Assertion, there was no error. +This is because the expression is being evaluated as `False`. However, since there was no Assertion, there was no error. Since there was no error, pytest counted it as a passing test. The `assert` statement causes an error when it evaluates to False. @@ -342,7 +339,7 @@ Change the expected value back to 1 so that your tests pass and make sure you ha ``````{admonition} Exericse :class: exercise -Create a test for the `calculate_angle ` function. Use the three points +Create a test for the `calculate_angle` function. Use the three points ```python r1 = np.array([0, 0, -1]) @@ -359,7 +356,7 @@ You should now see three passing tests. :class: solution dropdown Since `calculate_angle` is in the `measure` module, the tests for this function should go in the same file as `calculate_distance`. -You should define a new function in `test_measure` called `test_calculate_angle` +You should define a new function in `test_measure` called `test_calculate_angle`. ```python def test_calculate_angle(): """Test the calculate_angle function""" @@ -377,7 +374,7 @@ def test_calculate_angle(): ```` `````` Let's also make a test for the `build_bond_list` function. -We start with creating `test_molecule.py`, then defining the test inside that file. +We start with creating `test_molecule.py`, and then defining the test inside that file. We must have some coordinates to test. In our Jupyter Notebook, we were reading this data from an xyz file. @@ -385,7 +382,7 @@ However, remember that for unit tests, we do not want to make our test dependent Therefore, we will just make up some coordinates in our test. Next, there are several things we might test about this function. -We could check that we find the correct number of bonds, and that those bonds are the correct length. +We could check that we find the correct number of bonds and that those bonds are of the correct length. You should write at least one test per function, but you may have multiple assertions in the same test. For example, we could write the following test for `build_bond_list`. @@ -412,12 +409,12 @@ def test_build_bond_list(): ```` -Here, we are asserting that the correct number of bonds were found, and next we are iterating through the dictionary to ensure that a distance of 1.4 angstrom was calculated for each bond. +Here, we assert the correct number of bonds and iterate through the dictionary to ensure a 1.4 Angstrom distance for each bond. ## Testing Expected Exceptions If you expect your code to raise exceptions, you can test this behavior with pytest. -For example in our `calculate_angle` function, our inputs must be numpy arrays, or the function will error. +For example in our `calculate_angle` function, our inputs must be numpy arrays, or the function will give error. Consider our `build_bond_list` function. We may want to raise a `ValueError` if `min_bond` is set to be less than zero. We can add a type check to the function so that a more informative message is given to the user. @@ -463,10 +460,10 @@ The test will pass if the `build_bond_list` method raises a `ValueError`, otherw ## Exercise - Test Driven Development -Sometimes, tests are written before code is actually written. +It is common practice in software development to write tests before actually writing the code. This is called "Test Driven Development" or TDD. -In this case, you would write tests which define the behavior of your code, run the tests to see they pass, then write code to pass each test. -TDD is common when developing a library with well-defined interfaces and features. +In this case, you would first write tests that define the behavior of your code, then run these tests to see if they pass, and finally write code to pass each of these tests. +TDD is a common approach when developing a library with well-defined interfaces and features. TDD has another benefit of never having false positives. If you ensure that your tests first fail THEN pass, you know that you have really written a function that works and that your test is not just passing by default. @@ -500,7 +497,7 @@ def calculate_molecular_mass(symbols): ``` ```` -This defines a function, inputs, and what the function should return. +This defines a function, its inputs, and what the function should return. Next, add the following test into `test_molecule.py`. ````{tab-set-code} @@ -703,7 +700,7 @@ def calculate_center_of_mass(symbols, coordinates): Some of pytest's advanced features make use of decorators. Decorators are a very powerful tool in programming, which we will not explore in depth here. You can think of them as functions that act on other functions. -To decorate a particular function, you write the name of the decorator, preceeded by `@`, in the line above the `def` statement: +To decorate a particular function, you write the name of the decorator, preceded by `@`, in the line above the `def` statement: ```python @decorator def foo(): @@ -713,7 +710,7 @@ def foo(): ### Pytest Marks Pytest marks allow you to mark your functions. -There are built in marks for pytest and you can also define your own marks. +There are built-in marks for pytest and you can also define your own marks. Marks are implemented using decorators. One of the built-in marks in pytest is `@pytest.mark.skip`. To use this mark we have to import pytest. @@ -802,7 +799,7 @@ In your `test_molecule` module, you may have noticed that you kept having to cre For this particular case, you could use a global variable, but a better approach is to create something called a `pytest fixture`. Fixtures are resources that tests can repeatedly request to use. -Fixtures can be used for dependency injection (a way of passing or supplying resources from one object to another) which help decouple the code and make it cleaner. +Fixtures can be used for dependency injection (a way of passing or supplying resources from one object to another) which helps to decouple the code and make it cleaner. To use fixtures, we need to import `pytest` and use the `@pytest.fixture` decorator. Fixtures can be defined as methods, where the name of the method is the name of this resource, and the returned data is its value. @@ -826,7 +823,7 @@ def methane_molecule(): ```` -we defined a fixture named `methane_molecule` which has symbols and coordinates. +We defined a fixture named `methane_molecule` which has symbols and coordinates. Now, any test method can request this fixture by adding its name to its input argument. For example, our `test_molecular_mass` function becomes. @@ -927,7 +924,7 @@ def test_move_methane(methane_molecule): ```` -When you run your tests, you will see that everything passes +Once you run your tests, you will notice that all the tests pass without any errors. If you have an "expensive" fixture (one that takes a lot of time to generate), you may want to change this so that the fixture is created fewer times. You can do this by adding the `scope` argument to the fixture. @@ -952,25 +949,26 @@ def methane_molecule(): ```` -Notice that now when you run your tests, the `test_build_bond_list` will fail. -This is because the `test_move_methane` moved the carbon atom and since the scope was module, it remained moved for the following tests. +Notice that when you run your tests now, the `test_build_bond_list` will fail. +This is because the `test_move_methane` moved the carbon atom, and since the scope was set to `module`, the atom remained moved for the subsequent tests. The `scope` keyword can be helpful for saving time, however, be aware if you are changing properties of the fixture in other tests! ````{admonition} Using fixtures across different test files :class: tip -If during implementing your tests you realize that you want to use a fixture function from multiple test files you can move it to a conftest.py file. -You don’t need to import the fixture you want to use in a test, it automatically gets discovered by pytest. +If you realize while implementing your tests that a fixture function needs to be used in multiple test files, you can move it to a conftest.py file, + and you don't need to import it in the test as it will be automatically discovered by pytest. + For further information, please refer to [this article](https://www.tutorialspoint.com/pytest/pytest_conftest_py.htm). Read more about this [here](https://www.tutorialspoint.com/pytest/pytest_conftest_py.htm). ```` ### Pytest Parametrize For some of our functions like `calculate_distance` or `calculate_angle`, we have only tested one measurement so far. -This is not very complete, and we may be missing testing edge cases. -You may think of writing another test where you change the values which you input into the calculation. -This is definitely something you can do, and `pytest` has a feature which makes it easy to run a test with multiple inputs/values - the `parametrize` mark. +This is not complete, and we may be missing testing edge cases. +You may think of writing another test where you change the values that you can input into the calculation. +This is definitely something you can do, and `pytest` has a feature that makes it easy to run a test with multiple inputs/values - the `parametrize` mark. ````{admonition} Edge and Corner Cases :class: note @@ -980,13 +978,12 @@ The situation where the test examines either the beginning or the end of a range In a simple, one-dimensional problem, the two edge cases should always be tested along with at least one internal point. This ensures that you have good coverage over the range of values. -Anecdotally, it is important to test edges cases because this is where errors tend to arise. -Qualitatively different behavior happens at boundaries. -As such, they tend to have special code dedicated to them in the implementation. +Anecdotally, testing the edge cases is crucial since this is where errors often arise. +Boundaries exhibit qualitatively distinct behavior, which is why they usually have a dedicated code in the implementation. ### Corner cases When two or more edge cases are combined, it is called a corner case. -If a function is parametrized by two linear and independent variables, a test that is at the extreme of both variables is in a corner. +If a function is parametrized by two linear and independent variables, a test at the extreme of both variables is in a corner. ```` @@ -1233,13 +1230,13 @@ The output shows how many statements (i.e. not comments) are in a file, how many To improve our coverage, we also want to see exactly which lines we missed and we can determine this using the `.coverage` file produced by `pytest`. Unfortunately, this strategy becomes impractical when we are working with anything larger than our test package because the `.coverage` file becomes too convoluted to read. -We will need more tools to help us determine how to improve out tests and that will be the subject of Code Coverage part II, which we will cover later in the workshop. +We will need more tools to help us determine how to improve our tests and that will be the subject of Code Coverage Part II, which we will cover later in the workshop. ```{admonition} Do we need to get 100% coverage? :class: attention Short answer: __no__. -Code coverage is a useful tool to assess how comprehensive our set of tests are and in general the higher our code coverage the better. +Code coverage is a useful tool to assess how comprehensive are our set of tests, and in general the higher our code coverage the better. __However__, trying to achieve 100% coverage on packages any larger than this sample package is a bit unrealistic and would require more time than that last bit of coverage is worth. ``` ## Key Points From d0854621e3578a3d6bbc5fdc1331cea9a2c2b5fc Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Thu, 2 Nov 2023 19:05:03 -0400 Subject: [PATCH 29/49] update ci.md --- _episodes/09-CI.md | 64 +++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index 8fbe4c24..d28f0f16 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -10,7 +10,7 @@ Questions: Objectives: - Explain the concept and benefits of continuous integration. - Introduce the GitHub Marketplace as a one-stop shop for continuous integration services. -- Demonstrate how to setup continuous integration using GitHub Actions. +- Demonstrate how to set up continuous integration using GitHub Actions. - Familiarize learners with YAML configuration files. ```` @@ -18,7 +18,7 @@ Objectives: :class: attention - All Python code and tests described so far in the lesson. -- Configured Git and GitHub account (described in set-up) +- Configured Git and GitHub account (described in [Set Up](setup.md)). - Pushed up-to-date version - with tests - of the `molecool` project to GitHub. ```` @@ -28,7 +28,7 @@ From [Wikipedia](https://en.wikipedia.org/wiki/Continuous_integration), continuous integration (CI) is the practice of merging all developers' working copies of code to a shared mainline, several times a day. In other words, CI refers to the coupling of version control and unit testing in an automated way. Typically, CI runs either when you commit new code to your project, or beforehand, when you try to merge experimental code into the main repository (through a pull request). -CI is useful not only for catching bugs before they reach your fellow developers and your end users, but also for expanding your testing to platforms that are not available to you. +CI is useful not only for catching bugs before they reach your fellow developers and your end users but also for expanding your testing to platforms that are not available to you. Most CI services are tightly integrated with GitHub. In this episode, we will be using [GitHub Actions](https://docs.github.com/en/free-pro-team@latest/actions), @@ -36,22 +36,22 @@ because it is tightly integrated with GitHub and is free to use. Other options you might consider include [CircleCI](https://circleci.com), [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/), or [Travis-CI](https://travis-ci.com/). Using any of these services is essentially getting access to empty remote computers that we can configure as we wish. -In order to test our projects using GitHub Actions, we will have to set up the correct environment and tell our CI service what to do. +To test our projects using GitHub Actions, we will have to set up the correct environment and tell our CI service what to do. ## Setting up GitHub Actions All of GitHub Actions' settings are stored in the file `.github/workflows/CI.yaml`. Note the leading period on the `.github` folder, which makes this a hidden folder in Linux and Mac OS. -The `.github` file stores information which is relevant for GitHub in general. +The `.github` file stores information that is relevant to GitHub in general. For example, you will also see in this folder a file called `CONTRIBUTING.md` which contains contributing guidelines (the information in this file is displayed to someone when they contribute to your project). -The file `PULL_REQUEST_TEMPLATE.md` is the file which gives the template which users see when they open a pull request on your repository. +The file `PULL_REQUEST_TEMPLATE.md` is the file that gives the template that users see when they open a pull request on your repository. If you wanted to change the template or contributing text, you would do so by editing these files. -Though not included with the cookiecutter, you can also have +Though not included with the CookieCutter, you can also have an [issue template](https://docs.github.com/en/free-pro-team@latest/github/building-a-strong-community/configuring-issue-templates-for-your-repository). -Workflows for GitHub Actions are in `.github/workflows` in yaml files. +Workflows for GitHub Actions are in `.github/workflows` in YAML files. Fortunately for us, CookieCutter has created a file for us (`CI.yaml`) and set it up to run our tests with pytest. -GitHub has seen this folder and has actually been running tests on our repository every time we push to GitHub. +GitHub has seen this folder and has been running tests on our repository every time we push to GitHub. You might have noticed this, and you might have also noticed that our tests are not passing on GitHub despite passing locally. We will address this soon. First, let's go over the file `CI.yaml` in detail so you can understand what is happening under the hood. @@ -68,7 +68,7 @@ You will see something like the following at the top of the file: name: CI on: - # GitHub has started calling new repo's first branch "main" https://github.com/github/renaming + # GitHub has started calling the new repo's first branch "main" https://github.com/github/renaming # Existing codes likely still have "master" as the primary branch # Both are tracked here to keep legacy and new codes working push: @@ -97,7 +97,7 @@ for a list of all the available keywords and a more in-depth explanation of each This first section of the file tells GitHub what events should trigger our workflows to run. In this section, we are specifying the action to run on pushes to the "main" branch or to the "master" branch. -This is intended by the cookiecutter authors to catch both "main" and "master" since both are common as primary branches. +This is intended by the CookieCutter authors to catch both "main" and "master" since both are common as primary branches. If you wanted your CI to run on events to another branch, you would add the name here. GitHub Actions also allows you to run workflows [on a schedule](https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#onschedule). @@ -130,13 +130,13 @@ It should be noted that we have made these keyword names up. Adding keywords here with associated values just means that these are available as variables in the rest of our workflow. To use variables in your GHA workflow you use the syntax `${{ variable_name }}`. -You will see we have used the variables we defined in `matrix` in the job `name` and to specify the operating system to run on `runs-on` keyword in this section. +You will see we have used the variables we defined in the `matrix` in the job `name` and to specify the operating system to run on the `runs-on` keyword in this section. This is enough for us right now, but if you would want to specify exactly which versions of the operative systems you wanted to run your tests on, you could! -Next, we tell GitHub Actions the `steps` which are part of our workflow. +Next, we tell GitHub Actions the `steps` that are part of our workflow. GitHub Actions are unique in that the CI is made up of different steps. -Steps may be custom code which you write, but, steps may also be modular, commonly used code blocks which have been made available to the community. -For example, many Python projects will need to install miniconda to run. +Steps may be custom code that you write, but, steps may also be modular, commonly used code blocks that have been made available to the community. +For example, many Python projects will need to install Miniconda to run. GHA makes it possible for one person to write this step and share it, instead of everyone having to write their own implementation. Some steps in Actions are modular and can be moved between workflows. To see what this means, let's look at our first step. @@ -153,7 +153,7 @@ To see what this means, let's look at our first step. This starts our `steps` section. Steps in our workflow are indicated either with the `uses` keyword or with the `name` keyword (will see next). If we use `uses,`, we are using a modular step which someone else has written and made available on the GitHub Actions Marketplace. It then says that it uses `actions/checkout@v1`. -This is an action which checks out your project. +This is an action that checks out your project. You can see the [documentation](https://github.com/marketplace/actions/checkout) to learn more about this action. By specifying that this step uses the checkout action, we don't have to write code to do the checkout ourselves. @@ -174,7 +174,7 @@ Next, we want to get some info about the build. This is a custom step, so we giv We then give this step a descriptive name. After we have checked out our code for CI, we run some bash commands to get some information about our build. -Next, we set up miniconda. This is a common action which many people have to do in their workflows, so we've used an action which is available on marketplace +Next, we set up Miniconda. This is a common action that many people have to do in their workflows, so we've used an action that is available on the marketplace. ````{tab-set-code} @@ -201,13 +201,13 @@ If we were setting this up ourselves, we would have had to find the action, read You will see we are specifying the Python version as well as the environment file. This environment file for testing is in our `devtools` folder, and we will return to it soon. -Before we discuss the rest of the steps, let's consider how you might have found this action if the cookiecutter did not set it up for you. +Before we discuss the rest of the steps, let's consider how you might have found this action if CookieCutter did not set it up for you. We've already mentioned the "marketplace" several times in this tutorial, so let's look at that. Navigate to [https://github.com/marketplace](https://github.com/marketplace). -The GitHub Marketplace is a place you can find Actions and other apps which can be added to your repositories. +The GitHub Marketplace is a place where you can find Actions and other apps that can be added to your repositories. If we are using GitHub Actions and there is a task we are trying to achieve, it's a good idea to check the marketplace for it. -Let's find the miniconda action by searching the marketplace. +Let's find the Miniconda action by searching the marketplace. Search for "set up miniconda" in the marketplace. If you search for this, you will find the action that we used. @@ -240,10 +240,10 @@ dependencies: ```` -This is a yaml file just like our GitHub Actions file (remember we said YAML is commonly used for configuration files). -This is a file which can be used to create a conda environment with specified packages. +This is a YAML file just like our GitHub Actions file (remember we said YAML is commonly used for configuration files). +This is a file that can be used to create a conda environment with specified packages. For this workshop, we created our environment by typing the command into the terminal. -This could be inconvenient or impossible to reproduce if we have a lot of dependencies, so conda allows us to specify environments using a yaml file which can be passed on or reused. +This could be inconvenient or impossible to reproduce if we have a lot of dependencies, so conda allows us to specify environments using a YAML file which can be passed on or reused. We can see that this file specifies what packages will be installed in this environment. There are the two base dependencies, `python` and `pip`, followed by dependencies specific to unit testing: `pytest`, `pytest-cov`, `codecov`. @@ -286,9 +286,9 @@ After our package is installed, we run the test: ## Getting our CI to work -Unfortunately, our CI runs failed, which can be seen from the red cross that appear after the last commit message on your main GitHub repository page. +Unfortunately, our CI runs failed, which can be seen from the red cross that appears after the last commit message on your main GitHub repository page. To know more about why this was the case, we have to read the GitHub Actions log files. -Click on the red cross then click the Details link from one of the failing entries that marked with red cross. +Click on the red cross then click the Details link from one of the failing entries that marked with a red cross. The new page you will be redirected to has details about the job at the top and then the contents of the log file underneath. Look for red lines that indicate errors in your build. @@ -367,14 +367,14 @@ building documentation, and even building and uploading packages to conda and Py This repository is just for demonstration, so we probably do not want to actually waste resources running these tests every 24 hours. Go to your `CI.yaml` file and remove the scheduled jobs. -You should remove the schedule keyword from your YAML file, so that the `on` section matches below: +You should remove the schedule keyword from your YAML file so that the `on` section matches below: ````{tab-set-code} ```{code-block} CI.yaml name: CI on: - # GitHub has started calling new repo's first branch "main" https://github.com/github/renaming + # GitHub has started calling the new repo's first branch "main" https://github.com/github/renaming # Existing codes likely still have "master" as the primary branch # Both are tracked here to keep legacy and new codes working push: @@ -472,7 +472,7 @@ Once on the `Codecov` web page, notice that `molecool` is already in your reposi The last line step of our `CI.yml` configuration file is a call to an executable called `codecov`. The CookieCutter includes this utility program and sets it up automatically for us. -As a result, when our CI workflow runs successfully (all tests pass), GitHub Actions runs `codecov`, which send statistics of our test coverage automatically to Codecov.io. Neat! +As a result, when our CI workflow runs successfully (all tests pass), GitHub Actions runs `codecov`, which sends statistics of our test coverage automatically to Codecov.io. Neat! Back to the Codecov `molecool` report page, the sunburst plot gives a hierarchical view of our project and its coverage. @@ -482,8 +482,8 @@ Back to the Codecov `molecool` report page, the sunburst plot gives a hierarchic ``` Red areas represent code that is poorly covered by our tests. -On the right, you see the latest commits and can click on each one of them to see how they changed overall coverage of the project. -The bottom of the page shows a simple file-browser like interface, much like the HTML page we obtained before. +On the right, you see the latest commits and can click on each one of them to see how they changed the overall coverage of the project. +The bottom of the page shows a simple file-browser-like interface, much like the HTML page we obtained before. ## Modifying the Workflow - Adding an Action @@ -532,7 +532,7 @@ jobs: If you push this, you should see an additional job under your CI workflow where you can see molecool displayed as ASCII art. -Note that you could have also used [GitHub's Built in environment variables](https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables) to print this +Note that you could have also used [GitHub's built-in environment variables](https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables) to print this ````{tab-set-code} ```{code-block} CI.yaml @@ -558,5 +558,5 @@ You can even see [this guide](https://docs.github.com/en/free-pro-team@latest/ac - Continuous integration automates development steps, such as testing, coverage, and packaging. - Continuous integration also allows you to test your code on a variety of operative systems and platforms. - The CookieCutter includes (almost) ready-to-use configuration files for GitHub Actions. -- You can find GitHub Actions steps and other services in GitHub Marketplace +- You can find GitHub Actions steps and other services in GitHub Marketplace. ```` From 2ff56b6b4a2ca2bf91748ba327085f7307221b04 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Thu, 2 Nov 2023 19:08:02 -0400 Subject: [PATCH 30/49] Update 10-distribution.md --- _episodes/10-distribution.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/_episodes/10-distribution.md b/_episodes/10-distribution.md index 4a752f78..74ca0256 100644 --- a/_episodes/10-distribution.md +++ b/_episodes/10-distribution.md @@ -13,7 +13,7 @@ Objectives: ````{admonition} This lesson is under development :class: attention -This lesson is in a preliminary stage, and is not as polished as the rests of the lessons. +This lesson is in a preliminary stage and is not as polished as the rest of the lessons. We expect to add more content to and update this lesson in the future! ```` @@ -107,13 +107,13 @@ Tags created through the GitHub interface (or pushed from a different location) locally the next time you `git fetch`. Keep in mind that the GitHub repository page is one of the main entry points for new users of your package. -Your project looks healthier and better maintained with a nice, well documented history of +Your project looks healthier and better maintained with a nice, well-documented history of [releases](https://docs.github.com/en/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags). ``` Tags and GitHub releases do not automatically make your package easier to find or install, -but they can be helpful in preparing the source of version information or the source archive +but they can help prepare the source of version information or the source archive as you prepare the *distribution* of your package. ## Packages and distributions @@ -131,7 +131,7 @@ Others are specific to the build system (e.g. `setuptools` or `conda`). The build system is responsible for assembling your files into a distribution archive that can be easily placed into anyone's `site-packages` directory. It also makes sure that various package metadata is assembled so that a -package installer like `pip` can evaluate software dependencies, and so that +package installer like `pip` can evaluate software dependencies so that your package looks good when it is shared, such as on pypi.org. ## Distributing packages for `pip install` @@ -213,12 +213,12 @@ and use twine to upload your package. The [tutorial](https://packaging.python.org/en/latest/tutorials/packaging-projects/) should go quickly because, as you will note, most of the configuration it describes -has already been pre-configured by the cookiecutter. +has already been pre-configured by the CookieCutter. Caution: *strongly* consider creating an account on `test.pypi.org` and uploading an initial "alpha" or "beta" release of your package to see how it looks and to do test installations. -Note that pypi.org enforces universal uniqueness of packages and versions. +Note that pypi.org enforces the universal uniqueness of packages and versions. Once you have uploaded `molecool` version `1.0.0`, you cannot replace it; you can only upload additional versions. (You can "yank" a release, but this only marks the package as "yanked", indicating it should not be used. @@ -228,7 +228,7 @@ It is still out there.) * Test the publication of new releases on test.pypi.org before pypi.org to avoid cluttering your versioning scheme and your release history on pypi. -For more in depth documentation on packaging for PyPI specifically with setuptools, +For more in-depth documentation on packaging for PyPI specifically with setuptools, see https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/ @@ -263,13 +263,13 @@ Once your package has outside users, consider how your changes affect your users. Avoid surprising your users by effectively supporting the package manager heuristics (e.g. use prerelease version semantics to make a version only available when `pip install --pre` is used). -Make sure your version increments reflect the compatibilty changes +Make sure your version increments reflect the compatibility changes in the distributions you release. Making these considerations may lead you to moderate the changes you make. For instance, instead of completely changing an interface, consider introducing a new function or module with a different name. -Or provide backwards compatible support for the old interfaces. +Or provide backwards-compatible support for the old interfaces. ### Exercises - Versioning semantics @@ -303,7 +303,7 @@ Probably a minor version increment. ````{admonition} Case 3 :class: exercise -An internal change or bug fix that you don't expect users to notice (but who knows? there could be a bug...)? +An internal change or bug fix that you don't expect users to notice (but who knows? There could be a bug...)? ```{admonition} Solution :class: solution dropdown @@ -330,5 +330,5 @@ Use a "tweak" version or post-release version. Check [PEP 440](https://peps.pyth - Add package metadata and build a distribution to share a package through community platforms. - Adopt common conventions and establish clear expectations for compatibility versus breaking changes so that prospective users of your package have confidence in its stability and maturity. -- Multiple packaging systems exist, and require separate preparation. +- Multiple packaging systems exist and require separate preparation. ```` From 94e143a6963f43b14d98e42a341b4a5a32137c7f Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Tue, 7 Nov 2023 19:49:33 -0500 Subject: [PATCH 31/49] add VSCode info --- _episodes/01-package-setup.md | 35 ++++++++++++++++++++++--------- _episodes/setup.md | 38 ++++++++++++++++++++++++++++------ fig/setup/vscode-button1.png | Bin 0 -> 212017 bytes fig/setup/vscode-button2.png | Bin 0 -> 384418 bytes 4 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 fig/setup/vscode-button1.png create mode 100644 fig/setup/vscode-button2.png diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index ef8cfb12..726cef4c 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -171,6 +171,14 @@ Choose "yes" for this workshop. ### Reviewing directory contents Now we can examine the project layout CookieCutter has set up for us. Navigate to the newly created `molecool` directory. + +````{tab-set-code} + +```{code-block} shell +cd molecool +``` +```` + You should see the following directory structure. ``` @@ -220,14 +228,28 @@ You should see the following directory structure. ├── .gitignore <- Stock helper file telling git what file name patterns to ignore when adding files └── .lgtm.yml ``` +```{admonition} Visualizing the Directory Structure +:class: note To visualize your project like above you will use `tree`. If you do not have `tree`, you can get it using `sudo apt-get install tree` on Linux, or `brew install tree` on Mac. Note: `tree` will not show you the helpful labels after `<-` (those were added by us). +``` CookieCutter has created a lot of files! -They can be thought of as three sections. + +If you have set up VSCode as your text editor as described in the setup ([Set Up](setup.md)), you can open a VSCode project that contains the newly created `molecool` directory by typing + +````{tab-set-code} + +```{code-block} shell +code . +``` +```` +This will open a new VSCode window with your current directory (`.`) the `molecool` directory as the root directory. + +The files that Cookiecutter has created for us can be thought of as three sections. In the top level of our project, we have a folder for tools related to development (`devtools`), documentation (`docs`) and to the package itself (`molecool`). We will first be working in the `molecool` folder to build our package, and adding more things later. @@ -269,15 +291,8 @@ To read more about Python packages vs. modules, check out [Python's documentatio ``` ## The `molecool` directory -Navigate inside our package directory. From the directory where you ran CookieCutter, - -````{tab-set-code} - -```{code-block} shell - cd molecool -``` -```` - +We will first examine some files in the `molecool` directory. +This is the directory that contains our package code. ### The `__init__.py` file diff --git a/_episodes/setup.md b/_episodes/setup.md index 87692788..80607217 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -1,4 +1,4 @@ -# Set Up +# Computer Set Up Participation in the MolSSI Best Practices Workshop will require using your own personal computer or laptop and installing some software. @@ -408,17 +408,43 @@ Instead, you will need to create something called an ssh key to verify your acco Follow the [instructions given by GitHub](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) to create an SSH key and add it to your account. +## Text Editor ## Text Editor Everyone should have a text editor they can use to edit code. If you do not have a preference for text editors, we recommend [Visual Studio Code](https://code.visualstudio.com/). If you are using WSL, see [these instructions](https://code.visualstudio.com/docs/remote/wsl) for installing Visual Studio Code for use with WSL. If you are using Mac, follow [these instructions](https://code.visualstudio.com/docs/setup/mac#:~:text=Launching%20from%20the%20command%20line,code'%20command%20in%20PATH%20command.) to set-up VS Code so that you can use it from the command line. -You should also install the [Microsoft Python Extension Plugin](https://marketplace.visualstudio.com/items?itemName=ms-python.python) for VSCode. -When enabled, the Python extension will allow you to set the Python environment that VS Code will use to run static checks of your code. -You can set the Python environment when you have a Python project open by clicking the Python version (will likely be 3.something) on -in the blue ribbon at the bottom of the editor on the right. -Select the `molssi-best-practices` environment. +```{admonition} Remote Development Extension (for WSL or ssh) +:class: tip + +The [Remote Development Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) will allow you to connect to remote machines (like an HPC system) and use VS Code as if it were running on your local machine. +This can be **very** useful for computational scientists. + +Note that if you are using WSL, you will *have* to install this extension to use VS Code with WSL. +This is in the [above linked instructions](https://code.visualstudio.com/docs/remote/wsl). +``` + +When using VSCode with the Python extension, you will want to have it use the correct Python version and installation for analyzing your code. +You will want it to use the Python installation and packages that are installed in the `molssi_best_practices` environment you created earlier. + +To set the Python interpreter for VSCode, first open a Python file using the editor. +You might just open any Python file by typing `code test.py` in your terminal. +Once you have an editor open, you can click the button on the bottom of VSCode, shown in the screenshot below as (1) (this could also say a Python version like "3.10"). +Alternatively, you can open the command palette (Ctrl+Shift+P on Windows/Linux, Cmd+Shift+P on Mac) and type "Python: Select Interpreter". + +```{image} ../fig/setup/vscode-button1.png +:align: center +``` + +After you have clicked the button, you will see a list of Python interpreters that VSCode can use. +You will want to choose the one that is in your `molssi_best_practices` environment. + +```{image} ../fig/setup/vscode-button2.png +:align: center +``` + +You should do this for every Python file or project that you open in VSCode. ## Downloading Workshop Materials diff --git a/fig/setup/vscode-button1.png b/fig/setup/vscode-button1.png new file mode 100644 index 0000000000000000000000000000000000000000..64a14ad528d1a8f27a001cbaf666b25fcf78253a GIT binary patch literal 212017 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 #J)`&O;+O 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%0AOACtZ0d`+&S$gQ=LBj@qpAeLcE!)DCgy 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

yATw_)tYv$C=M&ae1H8A*)%)fd=&@Yyi7 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 Gp#K90RYx=c literal 0 HcmV?d00001 From 697c0531746860e2cf879d3ba4dc50c903a2530d Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Wed, 8 Nov 2023 17:25:19 -0500 Subject: [PATCH 32/49] fixes inconsistency in function return type --- _episodes/04-function-style.md | 80 ++++++++++++++++++++++++---------- _episodes/conf.py | 4 ++ 2 files changed, 61 insertions(+), 23 deletions(-) diff --git a/_episodes/04-function-style.md b/_episodes/04-function-style.md index 532e556e..e89889eb 100644 --- a/_episodes/04-function-style.md +++ b/_episodes/04-function-style.md @@ -102,6 +102,41 @@ array([[ 9.626, 6.787, 12.673], ``` ```` +### Function Return Type + +When we examine our `open_pdb` function, you may notice some inconsistency in the data type of the returned values. +Our function returns both molecules symbols and coordinates. +However, the molecule symbols are returned as a list, while the coordinates are returned as a numpy array. +This is not necessarily a problem, but it is inconsistent. +We should make sure that our function returns the same type of data for each variable. +This will be more clear to both users of our code and developers who are editing our code. +To change both outputs to NumPy arrays, our function can now look like the following: + +````{tab-set-code} + +```{code-block} python + +def open_pdb(f_loc): + with open(f_loc) as f: + data = f.readlines() + c = [] + sym = [] + for l in data: + if 'ATOM' in l[0:6] or 'HETATM' in l[0:6]: + sym.append(l[76:79].strip()) + c2 = [float(x) for x in l[30:55].split()] + c.append(c2) + coords = np.array(c) + sym = np.array(sym) + return sym, coords + +``` +```` + +You can test your function again using the same procedure we applied above, +and now you will see that your function returns two NumPy arrays. + +### Raising Exceptions Hooray! It seems like this function works! This should come as no surprise since we are the authors of the function, @@ -112,8 +147,6 @@ There are instances where unwanted behavior occurs, even though the code execute (i.e. there are no syntax errors). In these cases, our code should be able to stop itself to prevent further malfunction. -### Raising Exceptions - Take for example the division by zero. If we try to calculate ````{tab-set-code} @@ -132,7 +165,6 @@ ZeroDivisionError: division by zero ``` ```` - In this example, the code was smart enough to identify the division by zero and halt. This type of feedback is much more helpful than just throwing an ugly `NaN`. This is called an *exception* error. @@ -181,8 +213,8 @@ Let's try this out. In a python interpreter, try the following: ``` ```` - -You will see that no error occurs. If we open the written XYZ file, the last coordinate point has been discarded. +You will see that no error occurs. +If we open the written XYZ file, the last coordinate point has been discarded. We probably intend for these variables to have the same number of elements. When they don't, there's no way to tell what the user wanted, @@ -260,17 +292,17 @@ PEP8 is a document that gives guidelines for best practices in Python coding sty PEP8 is a recommendation, not a rule. However, you should follow this convention when possible. -> ### Python PEP -> -> If you spend a lot of time programming in Python, you will see references to PEPs a lot. -> PEP stands for "Python Enhancement Proposal". -> These are design documents which provide information about features. -> PEPs come from the Python community, meaning anyone can author a PEP (however, there is a strict review process). -> PEPs are classified into three categories - standards, informational, or process. -> -> You can read more about PEPs in [Python's documentation](https://www.python.org/dev/peps/pep-0001/). -> PEP1 outlines what a PEP is and how they work. -{: .callout} +:::{admonition} Python PEP +:class: note +If you spend a lot of time programming in Python, you will see references to PEPs a lot. +PEP stands for "Python Enhancement Proposal". +These are design documents which provide information about features. +PEPs come from the Python community, meaning anyone can author a PEP (however, there is a strict review process). +PEPs are classified into three categories - standards, informational, or process. + +You can read more about PEPs in [Python's documentation](https://www.python.org/dev/peps/pep-0001/). +PEP1 outlines what a PEP is and how they work. +::: PEP8 tells us several things about styling that will make our code easier to read. Let's consider some of these and how they might change our function. @@ -303,6 +335,7 @@ def open_pdb(file_location): atom_coords = [float(x) for x in line[30:55].split()] coordinates.append(atom_coords) coords = np.array(coordinates) + symbols = np.array(symbols) return symbols, coords ``` ```` @@ -498,13 +531,14 @@ There are many ways you could format a docstring (different styles/conventions). We recommend using [numpy style docstrings], which we used for the example above and for the `calculate_distance` function. -> ### The `__doc__` attribute -> -> When you add a docstring to a function or module, python automatically adds this to the `__doc__` attribute of the object. -> -> You can also see an object's docstring by typing `object.__doc__` into the Python interpreter. -> For example, to see the docstring associated with the canvas function, `molecool.canvas.__doc__` into the Python interpreter (after importing `molecool`, of course.) -{: .callout} +:::{admonition} The `__doc__` attribute +:class: note + +When you add a docstring to a function or module, python automatically adds this to the `__doc__` attribute of the object. + +You can also see an object's docstring by typing `object.__doc__` into the Python interpreter. +For example, to see the docstring associated with the canvas function, `molecool.canvas.__doc__` into the Python interpreter (after importing `molecool`, of course.) +::: #### Sections of a Docstring Each docstring has a number of sections which are separated by headings. diff --git a/_episodes/conf.py b/_episodes/conf.py index b1e98300..a81f17b4 100644 --- a/_episodes/conf.py +++ b/_episodes/conf.py @@ -62,6 +62,10 @@ 'sphinx_togglebutton' ] +myst_enable_extensions = [ + 'colon_fence', +] + autosummary_generate = True napoleon_google_docstring = False napoleon_use_param = False From ad83460ef433d9b5a44105bcf8962a47d2749878 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Wed, 8 Nov 2023 18:22:40 -0500 Subject: [PATCH 33/49] clarifications on text editor --- _episodes/setup.md | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 80607217..14cce068 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -183,7 +183,7 @@ To deactivate an environment, type ````{tab-set-code} ```{code-block} shell -$ conda deactivate +conda deactivate ``` ```` @@ -200,7 +200,7 @@ Using `conda`, we can install packages to our environments. ````{tab-set-code} ```{code-block} shell -$ conda activate molssi_best_practices +conda activate molssi_best_practices ``` ```` @@ -210,7 +210,7 @@ To list all the Python packages installed in an environment, first activate it, ````{tab-set-code} ```{code-block} shell -$ conda list +conda list ``` ```` @@ -221,7 +221,7 @@ For example, to install NumPy (do not execute this, we will install NumPy later) ````{tab-set-code} ```{code-block} shell -$ conda install numpy +conda install numpy ``` ```` @@ -244,7 +244,7 @@ You can install multiple libraries at the same time by listing them one after an ````{tab-set-code} ```{code-block} shell -$ conda install -c conda-forge numpy matplotlib jupyterlab +conda install -c conda-forge numpy matplotlib jupyterlab ``` ```` @@ -260,7 +260,7 @@ First, switch to your environment for this workshop if you are not in it. ````{tab-set-code} ```{code-block} shell -$ conda activate molssi_best_practices +conda activate molssi_best_practices ``` ```` @@ -270,7 +270,7 @@ Install the general cookiecutter with the following commands. ````{tab-set-code} ```{code-block} shell -$ conda install -c conda-forge cookiecutter +conda install -c conda-forge cookiecutter ``` ```` @@ -377,7 +377,7 @@ To make VS Code your default editor for git, do ````{tab-set-code} ```{code-block} shell -$ git config --global core.editor "code --wait" +git config --global core.editor "code --wait" ``` ```` @@ -389,7 +389,7 @@ You can check the configuration commands that you have set using: ````{tab-set-code} ```{code-block} shell -$ git config --list +git config --list ``` ```` @@ -408,7 +408,6 @@ Instead, you will need to create something called an ssh key to verify your acco Follow the [instructions given by GitHub](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) to create an SSH key and add it to your account. -## Text Editor ## Text Editor Everyone should have a text editor they can use to edit code. If you do not have a preference for text editors, we recommend [Visual Studio Code](https://code.visualstudio.com/). @@ -429,7 +428,16 @@ When using VSCode with the Python extension, you will want to have it use the co You will want it to use the Python installation and packages that are installed in the `molssi_best_practices` environment you created earlier. To set the Python interpreter for VSCode, first open a Python file using the editor. -You might just open any Python file by typing `code test.py` in your terminal. +In order to change the Python interpreter, you will need to have a Python file open. +Open a Python file called `test.py` by typing + +````{tab-set-code} + +```{code-block} shell +code test.py +``` +```` + Once you have an editor open, you can click the button on the bottom of VSCode, shown in the screenshot below as (1) (this could also say a Python version like "3.10"). Alternatively, you can open the command palette (Ctrl+Shift+P on Windows/Linux, Cmd+Shift+P on Mac) and type "Python: Select Interpreter". @@ -445,6 +453,8 @@ You will want to choose the one that is in your `molssi_best_practices` environm ``` You should do this for every Python file or project that you open in VSCode. +Once you have correctly set your Python environment, VSCode can analyze your code as you write it. +VSCode will be able to check that certain libraries are installed in your environment or that functions are being called correctly. ## Downloading Workshop Materials From c809982725583ea87fbbd203aa877683e6b0fd76 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Wed, 8 Nov 2023 18:36:48 -0500 Subject: [PATCH 34/49] add license information to footer --- _episodes/_templates/molssi_footer.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_episodes/_templates/molssi_footer.html b/_episodes/_templates/molssi_footer.html index 4dc2ffa9..d9e69bcd 100644 --- a/_episodes/_templates/molssi_footer.html +++ b/_episodes/_templates/molssi_footer.html @@ -28,6 +28,11 @@

Funded by the National Science Foundation OAC-1547580 and CHE-2136142.

+

The MolSSI Best Practices Workshop is licesened under a CC BY 4.0 International License. + You are free to adapt and share this material with attribution. + We'd also appreciate you letting us know if you use the material by emailing education@molssi.org. +

+ {% if show_sphinx %}

From 79b8d4b516bd423db3c83aa5e863beb2943e67c4 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Fri, 10 Nov 2023 08:24:57 -0500 Subject: [PATCH 35/49] add note with additional clarification on cookiecutter --- _episodes/01-package-setup.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index 726cef4c..8e28e34f 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -59,12 +59,26 @@ Run the [CMS CookieCutter](https://github.com/MolSSI/cookiecutter-cms) to start ``` ```` - This command runs the cookiecutter software (`cookiecutter` in the command) and tells cookiecutter to look at GitHub (`gh`) in the repository under `molssi/cookiecutter-cms`. This repository contains a template that cookiecutter uses to create your project, once you have provided some starting information. + +:::{admonition} Cookiecutter Template Location +:class: tip + +When we use the command `cookiecutter gh:molssi/cookiecutter-cms`, +we are using the Cookiecutter tool and telling it to use the GitHub repository `https://github.com/molssi/cookiecutter-cms` as a template. + +The `gh` is for GitHub, and the `molssi/cookiecutter-cms` is the repository name. + +You could point to any location where there is a Cookiecutter template, +including files on your local file system or other online repositories. + +::: + + You will see an interactive prompt that asks questions about your project. Here, the prompt appears first, followed by the default value in square brackets. The first question will be on your project name. From 46515c81f48d33c7ec0fdc9ae26574f49244ed73 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 13 Nov 2023 14:47:02 -0500 Subject: [PATCH 36/49] Update 08-testing.md --- _episodes/08-testing.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_episodes/08-testing.md b/_episodes/08-testing.md index e2752e32..4056c6ad 100644 --- a/_episodes/08-testing.md +++ b/_episodes/08-testing.md @@ -49,7 +49,7 @@ This is a more holistic approach where you test the interface between modules, a Where you test your system as a whole to check if it meets all the requirements. Another important type of testing is **Regression tests**. -In Regression tests,In regression tests, the software is checked to ensure that it consistently returns correct values given known inputs. +In Regression tests, the software is checked to ensure that it consistently returns correct values given known inputs. This kind of testing can catch problems in previously working code that may have been broken by new changes or new features. It is highly encouraged to have Unit tests that *cover* most of your code. @@ -414,7 +414,7 @@ Here, we assert the correct number of bonds and iterate through the dictionary t ## Testing Expected Exceptions If you expect your code to raise exceptions, you can test this behavior with pytest. -For example in our `calculate_angle` function, our inputs must be numpy arrays, or the function will give error. +For example in our `calculate_angle` function, our inputs must be numpy arrays, or the function will give an error. Consider our `build_bond_list` function. We may want to raise a `ValueError` if `min_bond` is set to be less than zero. We can add a type check to the function so that a more informative message is given to the user. @@ -460,13 +460,13 @@ The test will pass if the `build_bond_list` method raises a `ValueError`, otherw ## Exercise - Test Driven Development -It is common practice in software development to write tests before actually writing the code. +Sometimes, tests are written before writing the code. This is called "Test Driven Development" or TDD. In this case, you would first write tests that define the behavior of your code, then run these tests to see if they pass, and finally write code to pass each of these tests. TDD is a common approach when developing a library with well-defined interfaces and features. TDD has another benefit of never having false positives. -If you ensure that your tests first fail THEN pass, you know that you have really written a function that works and that your test is not just passing by default. +If you ensure that your tests first fail and THEN pass, you know that you have written a function that works and that your test is not just passing by default. ``````{admonition} Exercise 1 From bbad0cf9b0e7463d7236d0a6c5e3aa8731160cc0 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 13 Nov 2023 14:50:17 -0500 Subject: [PATCH 37/49] Update 09-CI.md --- _episodes/09-CI.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index d28f0f16..5eb94312 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -145,14 +145,14 @@ To see what this means, let's look at our first step. ```{code-block} CI.yaml steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 ``` ```` This starts our `steps` section. Steps in our workflow are indicated either with the `uses` keyword or with the `name` keyword (will see next). -If we use `uses,`, we are using a modular step which someone else has written and made available on the GitHub Actions Marketplace. -It then says that it uses `actions/checkout@v1`. +If we use `uses,`, we are using a modular step that someone else has written and made available on the GitHub Actions Marketplace. +It then says that it uses `actions/checkout@v3`. This is an action that checks out your project. You can see the [documentation](https://github.com/marketplace/actions/checkout) to learn more about this action. By specifying that this step uses the checkout action, we don't have to write code to do the checkout ourselves. From cddb3698fd74069c7b6d73d68e38de29420fcc14 Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Mon, 13 Nov 2023 14:52:42 -0500 Subject: [PATCH 38/49] Update 09-CI.md --- _episodes/09-CI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index 5eb94312..e8278eec 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -153,7 +153,7 @@ To see what this means, let's look at our first step. This starts our `steps` section. Steps in our workflow are indicated either with the `uses` keyword or with the `name` keyword (will see next). If we use `uses,`, we are using a modular step that someone else has written and made available on the GitHub Actions Marketplace. It then says that it uses `actions/checkout@v3`. -This is an action that checks out your project. +This is an action which checks out your project. You can see the [documentation](https://github.com/marketplace/actions/checkout) to learn more about this action. By specifying that this step uses the checkout action, we don't have to write code to do the checkout ourselves. From 6d5b584ef28cf2b9ceeabc32a7c96f0720870103 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 15 Nov 2023 17:50:18 -0800 Subject: [PATCH 39/49] Update github actions checkout from actions/checkout@v3 to actions/checkout@v4 --- _episodes/09-CI.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index 673b49ca..df0e02fd 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -145,14 +145,14 @@ To see what this means, let's look at our first step. ```{code-block} CI.yaml steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 ``` ```` This starts our `steps` section. Steps in our workflow are indicated either with the `uses` keyword or with the `name` keyword (will see next). If we use `uses,`, we are using a modular step which someone else has written and made available on the GitHub Actions Marketplace. -It then says that it uses `actions/checkout@v3`. +It then says that it uses `actions/checkout@v4`. This is an action which checks out your project. You can see the [documentation](https://github.com/marketplace/actions/checkout) to learn more about this action. By specifying that this step uses the checkout action, we don't have to write code to do the checkout ourselves. From e76c6614539b4982e4e0c07bde5d3cb62ea8e8e6 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Mon, 27 Nov 2023 12:02:46 -0500 Subject: [PATCH 40/49] improves toc and section tocs --- .../00-code-organization-documentation.rst | 6 ++++- _episodes/00-git-and-github.rst | 8 ++++++- _episodes/00-setup.rst | 23 +++++++++++++++++++ .../00-testing-continuous-integration.rst | 5 +++- _episodes/07-collaboration.md | 2 +- _episodes/csv_tables/setup.csv | 2 +- _episodes/index.rst | 9 +++++--- 7 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 _episodes/00-setup.rst diff --git a/_episodes/00-code-organization-documentation.rst b/_episodes/00-code-organization-documentation.rst index 0496607a..a713e835 100644 --- a/_episodes/00-code-organization-documentation.rst +++ b/_episodes/00-code-organization-documentation.rst @@ -1,9 +1,13 @@ Code Style and Documentation ---------------------------- +.. csv-table:: + :file: csv_tables/documentation.csv + :header-rows: 1 + .. toctree:: :maxdepth: 1 - :titlesonly: + :hidden: 04-function-style 05-package-structure diff --git a/_episodes/00-git-and-github.rst b/_episodes/00-git-and-github.rst index eee45389..5f3899c0 100644 --- a/_episodes/00-git-and-github.rst +++ b/_episodes/00-git-and-github.rst @@ -1,9 +1,15 @@ git and GitHub ----------------- +This section covers the basics of version control using git and sharing and collaborating on code using GitHub. + +.. csv-table:: + :file: csv_tables/git_and_github.csv + :header-rows: 1 + .. toctree:: :maxdepth: 1 - :titlesonly: + :hidden: 02-git 03-github diff --git a/_episodes/00-setup.rst b/_episodes/00-setup.rst new file mode 100644 index 00000000..c49abe2f --- /dev/null +++ b/_episodes/00-setup.rst @@ -0,0 +1,23 @@ +Set-Up +------ + +This section covers the set-up necessary for the workshop. +In the first lesson, you will learn how to set up your computer for Python development, +including setting up the version control software, git, creating an account on the web platform GitHub, +and installing and using the conda package manager. + +The second lesson will teach you how to create a Python package +using the MolSSI Cookiecutter for computational molecular sciences. +The MolSSI CMS Cookiecutter will create a skeletal Python package +and files for testing, documentation, and continuous integration. + +.. csv-table:: + :file: csv_tables/setup.csv + :header-rows: 1 + +.. toctree:: + :maxdepth: 1 + :hidden: + + setup + 01-package-setup \ No newline at end of file diff --git a/_episodes/00-testing-continuous-integration.rst b/_episodes/00-testing-continuous-integration.rst index 00254179..f66f3dde 100644 --- a/_episodes/00-testing-continuous-integration.rst +++ b/_episodes/00-testing-continuous-integration.rst @@ -1,9 +1,12 @@ Testing, Continuous Integration, and Distribution ----------------------------------------------- +.. csv-table:: + :file: csv_tables/ci_testing.csv + :header-rows: 1 .. toctree:: :maxdepth: 1 - :titlesonly: + :hidden: 08-testing 09-CI diff --git a/_episodes/07-collaboration.md b/_episodes/07-collaboration.md index 52e05552..75f5fa7d 100644 --- a/_episodes/07-collaboration.md +++ b/_episodes/07-collaboration.md @@ -292,7 +292,7 @@ git branch -a We will use remotes/upstream/main to keep track of new changes that happen upstream that we do not have in our local main. -# Developing a new feature - creating branches +## Developing a new feature - creating branches We will implement a new element for the webpage. Create a new branch in your repo with your element of choice. diff --git a/_episodes/csv_tables/setup.csv b/_episodes/csv_tables/setup.csv index b61d8b0f..c89e0871 100644 --- a/_episodes/csv_tables/setup.csv +++ b/_episodes/csv_tables/setup.csv @@ -1,5 +1,5 @@ Lesson Title,Questions,Objectives -`Set-Up `_,"* How do I set up my environment? +`Computer Set-Up `_,"* How do I set up my environment? * How do I set up git and GitHub? * What text editor should I use?","* Use conda to create an environment and install packages. * Set up credentials for GitHub." diff --git a/_episodes/index.rst b/_episodes/index.rst index 01b212bc..aef9de1a 100644 --- a/_episodes/index.rst +++ b/_episodes/index.rst @@ -1,5 +1,8 @@ +Overview +-------- + Best Practices in Python Package Development ---------------------------------------------- +============================================ This course by `The Molecular Sciences Software Institute `_ (MolSSI) teaches users MolSSI's best practices @@ -57,8 +60,8 @@ Continuous Integration, Testing, Distribution :hidden: :titlesonly: - setup - 01-package-setup + self + 00-setup 00-git-and-github 00-code-organization-documentation 00-testing-continuous-integration From 3c972f5f29f348ea70055883da14ed4d1e391dd6 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Sun, 3 Dec 2023 21:07:53 -0500 Subject: [PATCH 41/49] add descriptions to sections --- _episodes/00-code-organization-documentation.rst | 5 +++++ _episodes/00-git-and-github.rst | 7 +++++++ _episodes/00-testing-continuous-integration.rst | 2 ++ 3 files changed, 14 insertions(+) diff --git a/_episodes/00-code-organization-documentation.rst b/_episodes/00-code-organization-documentation.rst index a713e835..2098a89a 100644 --- a/_episodes/00-code-organization-documentation.rst +++ b/_episodes/00-code-organization-documentation.rst @@ -1,6 +1,11 @@ Code Style and Documentation ---------------------------- +Code style and documentation are topics that are often overlooked in a software project. +However, these are important aspects of a project that can make it easier to maintain and extend. + +In this section, we will discuss some of the best practices for code style and documentation. + .. csv-table:: :file: csv_tables/documentation.csv :header-rows: 1 diff --git a/_episodes/00-git-and-github.rst b/_episodes/00-git-and-github.rst index 5f3899c0..d7335a54 100644 --- a/_episodes/00-git-and-github.rst +++ b/_episodes/00-git-and-github.rst @@ -1,5 +1,12 @@ git and GitHub ----------------- +Version control is a system that records changes to a file or set of files over time so that you can view or use specific versions later. +It is a fundamental tool in modern software development, and we recommend always using version control on your projects, even if you are working alone. +Version control also facilitates collaboration between multiple people working on the same project. +The most popular version control system is git, and you should have it set up on your comptuer from the set up section. + +Git projects (or repositories) can be hosted on a variety of platforms, but the most popular is GitHub. +GitHub is a web-based hosting service for git repositories, and it provides a number of tools for software development. This section covers the basics of version control using git and sharing and collaborating on code using GitHub. diff --git a/_episodes/00-testing-continuous-integration.rst b/_episodes/00-testing-continuous-integration.rst index f66f3dde..d0f9922e 100644 --- a/_episodes/00-testing-continuous-integration.rst +++ b/_episodes/00-testing-continuous-integration.rst @@ -1,5 +1,7 @@ Testing, Continuous Integration, and Distribution ----------------------------------------------- +This section covers the testing, continuous integration, and distribution of software packages. + .. csv-table:: :file: csv_tables/ci_testing.csv :header-rows: 1 From 4cfd26a79c7413b059171cb394bb91e0f760ec2c Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Sun, 3 Dec 2023 21:57:59 -0500 Subject: [PATCH 42/49] clarify zen of Python function --- _episodes/02-git.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 992e357d..cc98ca97 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -642,6 +642,13 @@ import this into the interactive Python prompt. +This will print the Zen of Python to the screen. +The Zen of Python is a collection of 19 software principles that influence the design of Python. + +Let's make a function (similar to our existing `canvas` function) that prints the Zen of Python. + +Add the following function to your `functions.py` module. + ````{tab-set-code} ```{code-block} python From 65b9732c98d7bf3238ced168fe106cc16015b6ab Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Sun, 3 Dec 2023 22:44:51 -0500 Subject: [PATCH 43/49] fixes some issues on git lesson --- _episodes/02-git.md | 92 ++++++++++++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 30 deletions(-) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index cc98ca97..861595ea 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -688,7 +688,7 @@ Next, commit this change: ```{code-block} shell git add . -git commit -m "add function to print Zen of Python +git commit -m "add function to print Zen of Python" ``` ```` @@ -755,21 +755,21 @@ To switch to an existing branch, use Save and commit this change. -To incorporate these changes in `main`, you will need to do a `git merge`. -When you do a merge, you should be on the branch you would like to merge into. -In this case, we will first merge the changes from our `doc_update` branch, -then our `zen` branch, so we should be on our `main` branch. -Next, we will use the `git merge` command. - -The syntax for this command is +````{tab-set-code} -````{tab-set-code} ```{code-block} shell -git merge branch_name +git add README.md +git commit -m "add information about branching to readme" ``` ```` +To incorporate these changes in `main`, you will need to do a `git merge`. +When you do a merge, you should be on the branch you would like to merge into. +In this case, we will first merge the changes from our `doc_update` branch, +then our `zen` branch, so we should be on our `main` branch. +Next, we will use the `git merge` command. +The syntax for this command is `git merge branch_name` where `branch_name` is the name of the branch you would like to merge. We can merge our `doc_update` branch to get changes on our `main` branch: @@ -797,10 +797,13 @@ git merge zen This time, you will see a different message and a text editor will open for a merge commit message. +**Note** that if you have an older version of git, you may see `Merge made by recursive strategy.` instead +instead of `Merge made by the 'ort' strategy.` + ````{tab-set-code} ```{code-block} output -Merge made by the 'recursive' strategy. +Merge made by the 'ort' strategy. ``` ```` @@ -854,12 +857,7 @@ Next, copy the function definitions from the first cell and paste them above or Your file should look something like this. ```python -""" -functions.py -A Python package for analyzing and visualizing xyz files. For MolSSI Workshop Python Package development workshop. - -Handles the primary functions -""" +"""Provide the primary functions.""" import os import numpy as np @@ -867,29 +865,29 @@ import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D - def canvas(with_attribution=True): """ - Placeholder function to show example docstring (NumPy format) + Placeholder function to show example docstring (NumPy format). - Replace this function and doc string for your own project + Replace this function and doc string for your own project. Parameters ---------- with_attribution : bool, Optional, default: True - Set whether or not to display who the quote is from + Set whether or not to display who the quote is from. Returns ------- quote : str - Compiled string including quote and optional attribution + Compiled string including quote and optional attribution. """ quote = "The code is but a canvas to our imagination." if with_attribution: quote += "\n\t- Adapted from Henry David Thoreau" return quote -def zen(): + +def zen(with_attribution=True): quote = """Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. @@ -909,15 +907,20 @@ def zen(): If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!""" - + + if with_attribution: + quote += "\n\tTim Peters" + return quote def calculate_distance(rA, rB): + # This function calculates the distance between two points given as numpy arrays. d=(rA-rB) dist=np.linalg.norm(d) return dist def open_pdb(f_loc): + # This function reads in a pdb file and returns the atom names and coordinates. with open(f_loc) as f: data = f.readlines() c = [] @@ -948,11 +951,12 @@ def open_xyz(file_location): xyz_file = np.genfromtxt(fname=file_location, skip_header=2, dtype='unicode') symbols = xyz_file[:,0] coords = (xyz_file[:,1:]) - coords = coords.astype(float) + coords = coords.astype(np.float) return symbols, coords def write_xyz(file_location, symbols, coordinates): + # Write an xyz file given a file location, symbols, and coordinates. num_atoms = len(symbols) with open(file_location, 'w+') as f: @@ -965,6 +969,8 @@ def write_xyz(file_location, symbols, coordinates): def draw_molecule(coordinates, symbols, draw_bonds=None, save_location=None, dpi=300): + # Draw a picture of a molecule using matplotlib. + # Create figure fig = plt.figure() ax = fig.add_subplot(111, projection='3d') @@ -987,8 +993,6 @@ def draw_molecule(coordinates, symbols, draw_bonds=None, save_location=None, dpi ax.plot(coordinates[[atom1,atom2], 0], coordinates[[atom1,atom2], 1], coordinates[[atom1,atom2], 2], color='k') - - plt.axis('square') # Save figure if save_location: @@ -997,6 +1001,8 @@ def draw_molecule(coordinates, symbols, draw_bonds=None, save_location=None, dpi return ax def calculate_angle(rA, rB, rC, degrees=False): + # Calculate the angle between three points. Answer is given in radians by default, but can be given in degrees + # by setting degrees=True AB = rB - rA BC = rB - rC theta=np.arccos(np.dot(AB, BC)/(np.linalg.norm(AB)*np.linalg.norm(BC))) @@ -1007,6 +1013,8 @@ def calculate_angle(rA, rB, rC, degrees=False): return theta def bond_histogram(bond_list, save_location=None, dpi=300, graph_min=0, graph_max=2): + # Draw a histogram of bond lengths based on a bond_list (output from build_bond_list function) + lengths = [] for atoms, bond_length in bond_list.items(): @@ -1031,7 +1039,7 @@ def bond_histogram(bond_list, save_location=None, dpi=300, graph_min=0, graph_ma def build_bond_list(coordinates, max_bond=1.5, min_bond=0): - # Find the bonds in a molecule + # Find the bonds in a molecule (set of coordinates) based on distance criteria. bonds = {} num_atoms = len(coordinates) @@ -1059,7 +1067,6 @@ atom_colors = { if __name__ == "__main__": # Do something if this file is invoked on its own print(canvas()) - ``` Open the interactive Python interface and try out some functions to verify that your package still works. @@ -1084,6 +1091,31 @@ git merge add-functions ````` `````` +## Adding data +We now have a package with some functions. +Let's add the data from our starting material to our package as well. +We will add this to the `molecool/testing/data` directory. +Although it would be a best practice to add these files through a branch, +we will add them directly to the `main` branch for simplicity. + +Assuming that you ran the cookiecutter from the starting material directory, + +````{tab-set-code} +```{code-block} shell +cp -r ../data molecool/tests/ +``` +```` + +Then, commit the change: + +````{tab-set-code} + +```{code-block} shell +git add . +git commit -m "add data to package" +``` +```` + ## Ignoring files - .gitignore Sometimes while you work on a project, you may end up creating some temporary files. @@ -1224,7 +1256,7 @@ We want these additions to `.gitignore` to become a permanent part of the reposi ```{code-block} shell git add .gitignore -git commit -m "Ignores Emacs temporary files and data directory" +git commit -m "Ignores Emacs temporary files and input/output files from calculations." ``` ```` From 69982f97be7b1231e0dbe38736ec6f34a4f4b872 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Tue, 5 Dec 2023 18:48:20 -0500 Subject: [PATCH 44/49] add starting and ending links for git lesson --- _episodes/02-git.md | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 861595ea..71b57f70 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -16,14 +16,29 @@ Objectives: ``` -````{admonition} Prerequisites -:class: info -To complete this lesson you will need: +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +You will need to make sure that you have `git` installed and configured, +as described in the set-up instructions. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/git-start.zip) -* To have configured git (as described in the set-up instructions) -* The Python package created in the first lesson +Alternatively, download the repository using the command line: + +````{tab-set-code} + +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout git-start +``` ```` +::: ## What is version control? @@ -1285,6 +1300,17 @@ Use -f if you really want to add them. It is possible to override this with the `-f` option for `git add`. + +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/b74f9bb50e5b614d1078730aef1d4f972cbde99c). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/git-end.zip). + +::: + + ## More Tutorials If you want more `git`, see the following tutorials. From 09ee8ab9a4822bf134de524cfe819e454a75435f Mon Sep 17 00:00:00 2001 From: "Pratiksha B. Gaikwad" Date: Wed, 13 Dec 2023 12:44:43 -0500 Subject: [PATCH 45/49] update start-end links (#125) * update start - end links * add starting and ending links for git lesson * fix ending tags * more clarifications on start/end --------- Co-authored-by: Jessica A. Nash --- _episodes/01-package-setup.md | 10 +++++++ _episodes/02-git.md | 9 ++++++ _episodes/03-github.md | 29 +++++++++++++++++++ _episodes/04-function-style.md | 33 +++++++++++++++++++--- _episodes/05-package-structure.md | 28 ++++++++++++++++++ _episodes/06-type-hinting.md | 28 +++++++++++++++++- _episodes/08-testing.md | 28 ++++++++++++++++++ _episodes/09-CI.md | 47 ++++++++++++++++++++++++++++--- _episodes/10-documentation.md | 33 ++++++++++++++++++++++ 9 files changed, 236 insertions(+), 9 deletions(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index 8e28e34f..abc0c39e 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -471,6 +471,16 @@ If you are in the project directory, the code will still work. However, it will ```` +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/e703f52e9381b051415264927d2bde6c1cebb52a). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/cookiecutter-end.zip). + +::: + + ## Key Points ```{admonition} Key Points diff --git a/_episodes/02-git.md b/_episodes/02-git.md index 71b57f70..8fef6284 100644 --- a/_episodes/02-git.md +++ b/_episodes/02-git.md @@ -1320,6 +1320,15 @@ If you want more `git`, see the following tutorials. - [More on branches and merging](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) - [Git Commit Best Practices](https://github.com/trein/dev-best-practices/wiki/Git-Commit-Best-Practices) +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/b74f9bb50e5b614d1078730aef1d4f972cbde99c). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/git-end.zip). + +::: + ## Key Points ````{admonition} Key Points :class: key diff --git a/_episodes/03-github.md b/_episodes/03-github.md index e551a514..6d8a8def 100755 --- a/_episodes/03-github.md +++ b/_episodes/03-github.md @@ -14,6 +14,25 @@ Objectives: ```` +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/github-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout github-start +``` +```` +::: + ## Securely accessing GitHub During the setup for this workshop, we generated an SSH key and added it to our GitHub account. The SSH key will allow us to authenticate our identity to GitHub, allowing us to access our remote repositories. @@ -547,6 +566,16 @@ feature requests, or ongoing work that are shared with everyone else who is work Try filling out a quick issue now. Then comment and close the issue. +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/efe8747f7253400d1a81354c62b4a1edc50e9ddd). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/github-end.zip). + +::: + + ## More Tutorials If you want more `git`, see the following tutorials. diff --git a/_episodes/04-function-style.md b/_episodes/04-function-style.md index e89889eb..3702a288 100644 --- a/_episodes/04-function-style.md +++ b/_episodes/04-function-style.md @@ -15,12 +15,25 @@ Objectives: - Learn to write docstrings in numpy style. ``` -```{admonition} Prerequisites -:class: info +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you should first complete +the 'Using Branches Exercise' in Episode 2 or you can download a pre-made workshop repository that is at the starting +point. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-coding-style-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout python-coding-style-start -Before starting this lesson, you should first complete -the Using Branches Exercise in Episode 2. ``` +```` +::: ## Editing a function in our package Let's look at one of the functions in our package. @@ -852,6 +865,18 @@ from mpl_toolkits.mplot3d import Axes3D ## noqa: F401 You can run `flake8` again to see that the import error is no longer reported. + +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/ce11656b043846d6600b989eeba6a37ba541ea0c). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-coding-style-end.zip). + +::: + + + ## Key Points ```{admonition} Key Points diff --git a/_episodes/05-package-structure.md b/_episodes/05-package-structure.md index 814156fd..845ceef4 100755 --- a/_episodes/05-package-structure.md +++ b/_episodes/05-package-structure.md @@ -17,6 +17,24 @@ Objectives: * Understand how the `__init__.py` file affects your Python package. ``` +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/deciding-package-structure-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout deciding-package-structure-start +``` +```` +::: As new features are implemented in codes, it is natural for new functions and objects to be added. In many projects, this often leads to a large number of functionalities defined within a single module. @@ -784,6 +802,15 @@ git push origin main ``` ```` +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/5b7642b7fa140a833bc618a1561bc4a08d433257). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/deciding-package-structure-end.zip). + +::: + ## Key Points ```{admonition} Key Points @@ -793,6 +820,7 @@ git push origin main - You can use the `__init__.py` file to define what packages are imported with your package, and how the user interacts with it. ``` + [package setup]: https://molssi-education.github.io/python-package-best-practices/01-package-setup/index.html [PEP8]: https://www.python.org/dev/peps/pep-0008/ [YAPF]: https://github.com/google/yapf diff --git a/_episodes/06-type-hinting.md b/_episodes/06-type-hinting.md index 3fb22466..845d44f1 100644 --- a/_episodes/06-type-hinting.md +++ b/_episodes/06-type-hinting.md @@ -14,6 +14,24 @@ Objectives: - Learn the syntax to utilize type hinting in Python. ```` +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-type-hinting-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout python-type-hinting-start +``` +::: + Python does not inherently require or enforce the *types* of variables in code. Python instead works under a principle called `Duck Typing`. Duck Typing is derived from the phrase, "If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck." @@ -211,7 +229,6 @@ Click the dropdown box and select `basic`. VS Code should now perform static type checking on your code. Try and pass a set of integers into the function and you should now see a red underline under each of the integers informing you that the types are incompatible. - ## More For more complex or flexible typing, note that the abstract base classes in @@ -225,6 +242,15 @@ The [typing](https://docs.python.org/3/library/typing.html) library includes a n More information on Python's typing package can be found in the [Python documentation](https://docs.python.org/3/library/typing.html). +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/cc3e3267215f8e773caa42d4dfc3b4d64646568e). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-type-hinting-end.zip). + +::: + ## Key Points ```{admonition} Key Points diff --git a/_episodes/08-testing.md b/_episodes/08-testing.md index e46036d4..c75dc048 100644 --- a/_episodes/08-testing.md +++ b/_episodes/08-testing.md @@ -11,7 +11,24 @@ Objectives: - Explain the reasons why testing is important. - Understand how to write tests using the pytest framework. ```` +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-testing-start.zip) + +Alternatively, download the repository using the command line: +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout python-testing-start +``` +```` +::: Until now, we have been writing functions and checking their behavior using an interactive Python interpreter and manually inspecting the output. While this seems to work, it can be tedious, and prone to error. @@ -1239,6 +1256,17 @@ Short answer: __no__. Code coverage is a useful tool to assess how comprehensive are our set of tests, and in general the higher our code coverage the better. __However__, trying to achieve 100% coverage on packages any larger than this sample package is a bit unrealistic and would require more time than that last bit of coverage is worth. ``` + +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/7025c726eee958f0ad6b302e9f1118a7a9cadb36). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/python-testing-end.zip). + +::: + + ## Key Points ````{admonition} Key Points :class: key diff --git a/_episodes/09-CI.md b/_episodes/09-CI.md index 36fad4d2..dec8bfe6 100644 --- a/_episodes/09-CI.md +++ b/_episodes/09-CI.md @@ -14,15 +14,42 @@ Objectives: - Familiarize learners with YAML configuration files. ```` -````{admonition} Prerequisites -:class: attention +:::{admonition} Follow Along with This Lesson +:class: tip -- All Python code and tests described so far in the lesson. -- Configured Git and GitHub account (described in [Set Up](setup.md)). +To follow along with this lesson, either you meet the following prerequisites: +- All Python code and tests described so far in the workshop. +- Configured Git and GitHub account (described in [Set Up](setup.md)) - Pushed up-to-date version - with tests - of the `molecool` project to GitHub. + +or you can download a pre-made workshop repository that is at the starting +point. +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/CI-Github-actions-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout CI-Github-actions-start +``` ```` +**Note** - For this lesson, you must be able to push to GitHub. +If you are using the pre-made repository, you will need to create an *empty* repository on GitHub, then +change the remote URL to your own repository. + +If you cloned using the command above, you will use the following command to change the remote URL: + +````{tab-set-code} +```{code-block} shell +git remote set-url origin YOUR_REPOSTIORY_LOCATION +``` +```` + +::: + From [Wikipedia](https://en.wikipedia.org/wiki/Continuous_integration), continuous integration (CI) is the practice of merging all developers' working copies of code to a shared mainline, several times a day. @@ -550,6 +577,18 @@ Note that you could have also used [GitHub's built-in environment variables](htt A GitHub Action can be made and used by anyone. You can even see [this guide](https://docs.github.com/en/free-pro-team@latest/actions/creating-actions) from GitHub on creating actions. + +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/3cb3812df24d27009845d52ff097c2dda2184ea3). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/CI-Github-actions-end.zip). + +::: + + + ## Key Points ````{admonition} Key Points :class: key diff --git a/_episodes/10-documentation.md b/_episodes/10-documentation.md index 37a3ec2b..db1c8484 100644 --- a/_episodes/10-documentation.md +++ b/_episodes/10-documentation.md @@ -16,6 +16,29 @@ Objectives: This episode discusses documentation strategies. In particular, we will focus on how to build documentation using Sphinx and host that documentation online using [Read The Docs]. +:::{admonition} Follow Along with This Lesson +:class: tip + +To follow along with this lesson, you can complete the previous lessons, +or you can download a pre-made workshop repository that is at the starting +point. + +You will need to make sure that you have `git` installed and configured, +as described in the set-up instructions. + +- [Download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/package-docs-start.zip) + +Alternatively, download the repository using the command line: + +````{tab-set-code} +```{code-block} shell +git clone https://github.com/MolSSI-Education/molecool.git +git checkout package-docs-start + +``` +```` +::: + Documentation must be provided to allow for use, development, and maintenance of software. Documentation is often overlooked by developers since it can be tedious and boring. However, writing good documentation is an extremely good habit to develop. @@ -700,6 +723,16 @@ Commit and push - your documentation should build successfully and you should be Later, when you share distributions of your package, you will want people to be able to find this documentation easily. Update your `README.md` and `setup.cfg` files with your new ReadTheDocs URL. +:::{admonition} Final Repository State +:class: tip + +You can see the final state of the repository after this section [here](https://github.com/MolSSI-Education/molecool/tree/49dd852174be00d76a303cd8fd82ed08a9440d9f). + +You can also download a zip of the repository [here](https://github.com/MolSSI-Education/molecool/archive/refs/tags/package-docs-end.zip). + +::: + + [Sphinx]: https://www.sphinx-doc.org/en/master/ [sphinx example]: https://www.sphinx-doc.org/en/master/examples.html [Sphinx ReadTheDocs theme]: https://sphinx-rtd-theme.readthedocs.io/en/stable/ From b08883ad92a94f144a2487368f300bff5a816139 Mon Sep 17 00:00:00 2001 From: test Date: Mon, 18 Dec 2023 11:53:46 -0500 Subject: [PATCH 46/49] Updating running cookiecutter demo. --- _episodes/01-package-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_episodes/01-package-setup.md b/_episodes/01-package-setup.md index abc0c39e..6cc623f8 100644 --- a/_episodes/01-package-setup.md +++ b/_episodes/01-package-setup.md @@ -106,7 +106,7 @@ Select open_source_license: Choose from 1, 2, 3, 4 (1, 2, 3, 4) [1]: 2 Select dependency_source: -1 - Prefer conda-forge over the default anaconda channel with pip fallback +1 - Prefer conda-forge with pip fallback 2 - Prefer default anaconda channel with pip fallback 3 - Dependencies from pip only (no conda) From e264fcc4c96362800d1d4212084f52be4df8ed97 Mon Sep 17 00:00:00 2001 From: test Date: Mon, 18 Dec 2023 16:03:13 -0500 Subject: [PATCH 47/49] Adding an optional section on installing and using the pre-built docker image. --- _episodes/setup.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/_episodes/setup.md b/_episodes/setup.md index 14cce068..e68e5160 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -60,6 +60,25 @@ you can [set up WSL to use graphical interfaces on your computer](https://docs.m Otherwise, you will only be able to interact with WSL through the terminal (and the text editor VSCode, see later in the set-up for information on how to use VS Code in WSL). +## Docker (Optional Alternative) +If you would prefer to use Docker instead of setting up an environment on your own machine, a Docker image has been prepared to get you most of the way through setup. Note this is an optional alternative to setting up conda on your computer. +First, follow the [instructions to install Docker on your computer](https://docs.docker.com/get-docker/). +Then run the following command in a terminal +````{tab-set-code} + +```{code-block} shell +docker pull ghcr.io/molssi-education/python-best-practices-container:latest +``` +```` +Once the image has been pulled to your local machine, you can run an interactive terminal to continue following along with the instructions. +````{tab-set-code} + +```{code-block} shell +docker run -it ghcr.io/molssi-education/python-best-practices-container +``` +```` +You do not need to install conda or git using this container, so you may skip ahead to Cookiecutter Installation. + ## Miniconda Installation You can install Miniconda through a graphical interface or using your terminal. Pick either "Graphical Installation" or "Text-based (terminal) Installation". From d8e3a30e2778edef73ab4306a65ed9c0d03a0cd9 Mon Sep 17 00:00:00 2001 From: test Date: Thu, 4 Jan 2024 11:10:47 -0500 Subject: [PATCH 48/49] Updating docker instructions. --- _episodes/setup.md | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index e68e5160..1ba54d70 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -17,6 +17,8 @@ these updates could take a considerable amount of time. Plan accordingly! If you are on Windows 11, you can also [set up WSL to be able to use graphical interfaces](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps). + +As an alternative to WSL, or in addition to it, you can setup and use a Docker container to follow along with the workshop. ``` Please follow the instructions given here to make sure you have the necessary software installed. @@ -70,14 +72,30 @@ Then run the following command in a terminal docker pull ghcr.io/molssi-education/python-best-practices-container:latest ``` ```` -Once the image has been pulled to your local machine, you can run an interactive terminal to continue following along with the instructions. +Once the image has been pulled to your local machine, you can run an interactive terminal to continue following along with the instructions. Be sure to replace `local_path` in the command with the path to the location on your computer you would like to save your files. +````{tab-set-code} + +```{code-block} shell +docker run -it --name molssi_best_practices -v local_path:/work ghcr.io/molssi-education/python-best-practices-container +``` +```` +Once the container is running, you will want to move into the directory shared with your computer using +````{tab-set-code} + +```{code-block} shell +cd work +``` +```` +You do not need to install conda, git, or the cookiecutter using this container, so you may skip ahead to Configuring Git. +To exit your container, simply run `exit` from the command line. +You can then restart the container by running ````{tab-set-code} ```{code-block} shell -docker run -it ghcr.io/molssi-education/python-best-practices-container +docker start -i molssi_best_practices ``` ```` -You do not need to install conda or git using this container, so you may skip ahead to Cookiecutter Installation. +moving into the `work` directory and resuming your work. ## Miniconda Installation You can install Miniconda through a graphical interface or using your terminal. From 2df93568ba8234d60a2a438e76a5d2c762a40ab3 Mon Sep 17 00:00:00 2001 From: Jessica Nash Date: Thu, 4 Jan 2024 12:07:04 -0500 Subject: [PATCH 49/49] slight adjustment to set-up instructions --- _episodes/setup.md | 53 ++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/_episodes/setup.md b/_episodes/setup.md index 1ba54d70..00441eb9 100755 --- a/_episodes/setup.md +++ b/_episodes/setup.md @@ -39,10 +39,27 @@ We will be learning to manage conda environments and install the packages we nee If you already have Anaconda installed, however, there is no need to install Miniconda. ``` +`````{admonition} Ensure that your conda version is up-to-date +:class: tip + +If you already have `conda` installed using Anaconda or Miniconda, +you should make sure your `conda` version is up-to-date. +Ensuring you have an up-to-date version of `conda` will ensure that you are more easily able to install the packages we will be using in this workshop. + + +````{tab-set-code} + +```{code-block} shell +conda update -n base conda +``` +```` + +````` + ## Installing WSL (Windows users only) If your computer uses the Windows operating system, we require installing Windows Subsystem for Linux (WSL). Follow the installation instructions at [this link](https://docs.microsoft.com/en-us/windows/wsl/install). -If you don’t have a preference for Linux distribution, we recommend installing Ubuntu 20.04. +If you don’t have a preference for Linux distribution, we recommend installing Ubuntu 22.04. Once WSL is installed, open your ‘Start’ menu and choose ‘Ubuntu’. This will open a terminal window. @@ -137,40 +154,6 @@ conda init ``` ```` -### Set conda to use the libmamba solver -The libmamba solver is an optional replacement to the default conda solver. -The libmamba solver will handle dependency solving much faster than the default solver. -To use the libmamba solver, first ensure your conda is up to date. -````{tab-set-code} - -```{code-block} shell -conda update -n base conda -``` -```` - -Then install the libmamba solver into your base environment. -````{tab-set-code} - -```{code-block} shell -conda install -n base conda-libmamba-solver -``` -```` - -Finally, set the default solver to be the libmamba solver. -````{tab-set-code} - -```{code-block} shell -conda config --set solver libmamba -``` -```` - -```{admonition} Using Mamba instead of Conda -:class: attention -If desired, instead of using a miniconda installation with the libmamba solver, you can directly use Mamba or Micromamba. -Installation instructions can be found in Mamba's documentation: https://mamba.readthedocs.io/en/latest/index.html -If using a version of mamba instead of conda, simply replace `conda` in all following instructions with `mamba`. -``` - ## Creating a conda environment A `conda` environment contains a specific collection of packages you have installed.

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