From 914dd262ef54803cd55fa6f8c53adec44dfd7e41 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 12:07:04 -0600 Subject: [PATCH 01/12] tutorials are now build and cc to the website --- .github/workflows/website.yaml | 4 +- docs/build/doctrees/bugs.doctree | Bin 12588 -> 0 bytes docs/build/doctrees/contribute.doctree | Bin 7469 -> 0 bytes docs/build/doctrees/ctoc.doctree | Bin 2950 -> 0 bytes docs/build/doctrees/environment.pickle | Bin 1004010 -> 0 bytes docs/build/doctrees/faq.doctree | Bin 3158 -> 0 bytes docs/build/doctrees/general/bugs.doctree | Bin 12604 -> 0 bytes .../build/doctrees/general/contribute.doctree | Bin 7485 -> 0 bytes docs/build/doctrees/general/ctoc.doctree | Bin 3571 -> 0 bytes docs/build/doctrees/general/faq.doctree | Bin 3174 -> 0 bytes docs/build/doctrees/general/glossary.doctree | Bin 3893 -> 0 bytes docs/build/doctrees/general/index.doctree | Bin 10983 -> 0 bytes docs/build/doctrees/general/license.doctree | Bin 6437 -> 0 bytes docs/build/doctrees/general/notices.doctree | Bin 14974 -> 0 bytes docs/build/doctrees/general/state.doctree | Bin 3222 -> 0 bytes docs/build/doctrees/general/usage.doctree | Bin 3178 -> 0 bytes docs/build/doctrees/genindex.doctree | Bin 2870 -> 0 bytes docs/build/doctrees/glossary.doctree | Bin 3885 -> 0 bytes docs/build/doctrees/index.doctree | Bin 11320 -> 0 bytes docs/build/doctrees/license.doctree | Bin 6421 -> 0 bytes docs/build/doctrees/modindex.doctree | Bin 2866 -> 0 bytes .../doctrees/msei_reference/basic.doctree | Bin 3132 -> 0 bytes .../doctrees/msei_reference/convolve.doctree | Bin 7165 -> 0 bytes .../doctrees/msei_reference/distutil.doctree | Bin 9909 -> 0 bytes .../doctrees/msei_reference/index.doctree | Bin 3501 -> 0 bytes .../doctrees/msei_reference/infection.doctree | Bin 2500 -> 0 bytes .../doctrees/msei_reference/latent.doctree | Bin 154036 -> 0 bytes .../doctrees/msei_reference/math.doctree | Bin 26439 -> 0 bytes .../doctrees/msei_reference/model.doctree | Bin 69254 -> 0 bytes .../doctrees/msei_reference/msei.doctree | Bin 148835 -> 0 bytes .../msei_reference/observation.doctree | Bin 47032 -> 0 bytes .../doctrees/msei_reference/process.doctree | Bin 112356 -> 0 bytes .../msei_reference/regression.doctree | Bin 31131 -> 0 bytes .../doctrees/msei_reference/transform.doctree | Bin 31178 -> 0 bytes docs/build/doctrees/notices.doctree | Bin 14958 -> 0 bytes docs/build/doctrees/observation.doctree | Bin 31883 -> 0 bytes docs/build/doctrees/reference.doctree | Bin 2807 -> 0 bytes docs/build/doctrees/reference/index.doctree | Bin 2829 -> 0 bytes .../doctrees/reference/observation.doctree | Bin 31903 -> 0 bytes docs/build/doctrees/search.doctree | Bin 2852 -> 0 bytes docs/build/doctrees/state.doctree | Bin 3206 -> 0 bytes .../doctrees/test_reference/index.doctree | Bin 3166 -> 0 bytes .../test_reference/test_ar_process.doctree | Bin 4555 -> 0 bytes .../test_first_difference_ar.doctree | Bin 4791 -> 0 bytes .../test_reference/test_leslie_matrix.doctree | Bin 4547 -> 0 bytes ...logistic_susceptibility_adjustment.doctree | Bin 4581 -> 0 bytes .../test_process_asymptotics.doctree | Bin 5039 -> 0 bytes .../test_reference/test_random_walk.doctree | Bin 6367 -> 0 bytes .../test_reference/test_regression.doctree | Bin 4519 -> 0 bytes .../test_reference/test_transforms.doctree | Bin 10683 -> 0 bytes docs/build/doctrees/usage.doctree | Bin 3162 -> 0 bytes docs/build/html/.buildinfo | 4 - docs/build/html/.nojekyll | 0 docs/build/html/_sources/bugs.rst.txt | 52 - docs/build/html/_sources/contribute.rst.txt | 10 - docs/build/html/_sources/ctoc.rst.txt | 12 - docs/build/html/_sources/faq.rst.txt | 6 - docs/build/html/_sources/general/bugs.rst.txt | 52 - .../html/_sources/general/contribute.rst.txt | 10 - docs/build/html/_sources/general/ctoc.rst.txt | 21 - docs/build/html/_sources/general/faq.rst.txt | 6 - .../html/_sources/general/glossary.rst.txt | 12 - .../html/_sources/general/license.rst.txt | 17 - .../html/_sources/general/notices.rst.txt | 37 - .../build/html/_sources/general/state.rst.txt | 6 - .../build/html/_sources/general/usage.rst.txt | 6 - docs/build/html/_sources/genindex.rst.txt | 4 - docs/build/html/_sources/glossary.rst.txt | 12 - docs/build/html/_sources/index.rst.txt | 91 -- docs/build/html/_sources/license.rst.txt | 17 - docs/build/html/_sources/modindex.rst.txt | 4 - .../_sources/msei_reference/basic.rst.txt | 9 - .../_sources/msei_reference/convolve.rst.txt | 7 - .../_sources/msei_reference/distutil.rst.txt | 7 - .../_sources/msei_reference/index.rst.txt | 15 - .../_sources/msei_reference/infection.rst.txt | 7 - .../_sources/msei_reference/latent.rst.txt | 28 - .../html/_sources/msei_reference/math.rst.txt | 7 - .../_sources/msei_reference/model.rst.txt | 20 - .../html/_sources/msei_reference/msei.rst.txt | 61 -- .../msei_reference/observation.rst.txt | 20 - .../_sources/msei_reference/process.rst.txt | 36 - .../msei_reference/regression.rst.txt | 7 - .../_sources/msei_reference/transform.rst.txt | 7 - docs/build/html/_sources/notices.rst.txt | 37 - docs/build/html/_sources/observation.rst.txt | 7 - docs/build/html/_sources/reference.rst.txt | 7 - .../html/_sources/reference/index.rst.txt | 7 - .../_sources/reference/observation.rst.txt | 7 - docs/build/html/_sources/search.rst.txt | 4 - docs/build/html/_sources/state.rst.txt | 6 - .../_sources/test_reference/index.rst.txt | 14 - .../test_reference/test_ar_process.rst.txt | 4 - .../test_first_difference_ar.rst.txt | 4 - .../test_reference/test_leslie_matrix.rst.txt | 4 - ...logistic_susceptibility_adjustment.rst.txt | 4 - .../test_process_asymptotics.rst.txt | 4 - .../test_reference/test_random_walk.rst.txt | 7 - .../test_reference/test_regression.rst.txt | 4 - .../test_reference/test_transforms.rst.txt | 6 - docs/build/html/_sources/usage.rst.txt | 6 - docs/build/html/_static/alabaster.css | 708 -------------- docs/build/html/_static/basic.css | 925 ------------------ docs/build/html/_static/classic.css | 269 ----- docs/build/html/_static/custom.css | 1 - docs/build/html/_static/doctools.js | 156 --- .../html/_static/documentation_options.js | 13 - docs/build/html/_static/graphviz.css | 19 - docs/build/html/_static/language_data.js | 198 ---- docs/build/html/_static/msei.css | 5 - docs/build/html/_static/pygments.css | 75 -- docs/build/html/_static/searchtools.js | 574 ----------- docs/build/html/_static/sidebar.js | 70 -- docs/build/html/_static/sphinx_highlight.js | 154 --- docs/build/html/objects.inv | Bin 2913 -> 0 bytes docs/build/html/searchindex.js | 1 - docs/pyproject.toml | 2 +- docs/source/general/ctoc.rst | 1 + docs/source/index.rst | 1 + .../tutorials/example-with-datasets.rst | 550 +++++++++++ docs/source/tutorials/getting-started.rst | 282 ++++++ docs/source/tutorials/index.rst | 9 + docs/source/tutorials/pyrenew_demo.rst | 311 ++++++ model/Makefile | 10 + 124 files changed, 1168 insertions(+), 3912 deletions(-) delete mode 100644 docs/build/doctrees/bugs.doctree delete mode 100644 docs/build/doctrees/contribute.doctree delete mode 100644 docs/build/doctrees/ctoc.doctree delete mode 100644 docs/build/doctrees/environment.pickle delete mode 100644 docs/build/doctrees/faq.doctree delete mode 100644 docs/build/doctrees/general/bugs.doctree delete mode 100644 docs/build/doctrees/general/contribute.doctree delete mode 100644 docs/build/doctrees/general/ctoc.doctree delete mode 100644 docs/build/doctrees/general/faq.doctree delete mode 100644 docs/build/doctrees/general/glossary.doctree delete mode 100644 docs/build/doctrees/general/index.doctree delete mode 100644 docs/build/doctrees/general/license.doctree delete mode 100644 docs/build/doctrees/general/notices.doctree delete mode 100644 docs/build/doctrees/general/state.doctree delete mode 100644 docs/build/doctrees/general/usage.doctree delete mode 100644 docs/build/doctrees/genindex.doctree delete mode 100644 docs/build/doctrees/glossary.doctree delete mode 100644 docs/build/doctrees/index.doctree delete mode 100644 docs/build/doctrees/license.doctree delete mode 100644 docs/build/doctrees/modindex.doctree delete mode 100644 docs/build/doctrees/msei_reference/basic.doctree delete mode 100644 docs/build/doctrees/msei_reference/convolve.doctree delete mode 100644 docs/build/doctrees/msei_reference/distutil.doctree delete mode 100644 docs/build/doctrees/msei_reference/index.doctree delete mode 100644 docs/build/doctrees/msei_reference/infection.doctree delete mode 100644 docs/build/doctrees/msei_reference/latent.doctree delete mode 100644 docs/build/doctrees/msei_reference/math.doctree delete mode 100644 docs/build/doctrees/msei_reference/model.doctree delete mode 100644 docs/build/doctrees/msei_reference/msei.doctree delete mode 100644 docs/build/doctrees/msei_reference/observation.doctree delete mode 100644 docs/build/doctrees/msei_reference/process.doctree delete mode 100644 docs/build/doctrees/msei_reference/regression.doctree delete mode 100644 docs/build/doctrees/msei_reference/transform.doctree delete mode 100644 docs/build/doctrees/notices.doctree delete mode 100644 docs/build/doctrees/observation.doctree delete mode 100644 docs/build/doctrees/reference.doctree delete mode 100644 docs/build/doctrees/reference/index.doctree delete mode 100644 docs/build/doctrees/reference/observation.doctree delete mode 100644 docs/build/doctrees/search.doctree delete mode 100644 docs/build/doctrees/state.doctree delete mode 100644 docs/build/doctrees/test_reference/index.doctree delete mode 100644 docs/build/doctrees/test_reference/test_ar_process.doctree delete mode 100644 docs/build/doctrees/test_reference/test_first_difference_ar.doctree delete mode 100644 docs/build/doctrees/test_reference/test_leslie_matrix.doctree delete mode 100644 docs/build/doctrees/test_reference/test_logistic_susceptibility_adjustment.doctree delete mode 100644 docs/build/doctrees/test_reference/test_process_asymptotics.doctree delete mode 100644 docs/build/doctrees/test_reference/test_random_walk.doctree delete mode 100644 docs/build/doctrees/test_reference/test_regression.doctree delete mode 100644 docs/build/doctrees/test_reference/test_transforms.doctree delete mode 100644 docs/build/doctrees/usage.doctree delete mode 100644 docs/build/html/.buildinfo delete mode 100644 docs/build/html/.nojekyll delete mode 100644 docs/build/html/_sources/bugs.rst.txt delete mode 100644 docs/build/html/_sources/contribute.rst.txt delete mode 100644 docs/build/html/_sources/ctoc.rst.txt delete mode 100644 docs/build/html/_sources/faq.rst.txt delete mode 100644 docs/build/html/_sources/general/bugs.rst.txt delete mode 100644 docs/build/html/_sources/general/contribute.rst.txt delete mode 100644 docs/build/html/_sources/general/ctoc.rst.txt delete mode 100644 docs/build/html/_sources/general/faq.rst.txt delete mode 100644 docs/build/html/_sources/general/glossary.rst.txt delete mode 100644 docs/build/html/_sources/general/license.rst.txt delete mode 100644 docs/build/html/_sources/general/notices.rst.txt delete mode 100644 docs/build/html/_sources/general/state.rst.txt delete mode 100644 docs/build/html/_sources/general/usage.rst.txt delete mode 100644 docs/build/html/_sources/genindex.rst.txt delete mode 100644 docs/build/html/_sources/glossary.rst.txt delete mode 100644 docs/build/html/_sources/index.rst.txt delete mode 100644 docs/build/html/_sources/license.rst.txt delete mode 100644 docs/build/html/_sources/modindex.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/basic.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/convolve.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/distutil.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/index.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/infection.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/latent.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/math.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/model.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/msei.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/observation.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/process.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/regression.rst.txt delete mode 100644 docs/build/html/_sources/msei_reference/transform.rst.txt delete mode 100644 docs/build/html/_sources/notices.rst.txt delete mode 100644 docs/build/html/_sources/observation.rst.txt delete mode 100644 docs/build/html/_sources/reference.rst.txt delete mode 100644 docs/build/html/_sources/reference/index.rst.txt delete mode 100644 docs/build/html/_sources/reference/observation.rst.txt delete mode 100644 docs/build/html/_sources/search.rst.txt delete mode 100644 docs/build/html/_sources/state.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/index.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_ar_process.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_first_difference_ar.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_leslie_matrix.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_logistic_susceptibility_adjustment.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_process_asymptotics.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_random_walk.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_regression.rst.txt delete mode 100644 docs/build/html/_sources/test_reference/test_transforms.rst.txt delete mode 100644 docs/build/html/_sources/usage.rst.txt delete mode 100644 docs/build/html/_static/alabaster.css delete mode 100644 docs/build/html/_static/basic.css delete mode 100644 docs/build/html/_static/classic.css delete mode 100644 docs/build/html/_static/custom.css delete mode 100644 docs/build/html/_static/doctools.js delete mode 100644 docs/build/html/_static/documentation_options.js delete mode 100644 docs/build/html/_static/graphviz.css delete mode 100644 docs/build/html/_static/language_data.js delete mode 100644 docs/build/html/_static/msei.css delete mode 100644 docs/build/html/_static/pygments.css delete mode 100644 docs/build/html/_static/searchtools.js delete mode 100644 docs/build/html/_static/sidebar.js delete mode 100644 docs/build/html/_static/sphinx_highlight.js delete mode 100644 docs/build/html/objects.inv delete mode 100644 docs/build/html/searchindex.js create mode 100644 docs/source/tutorials/example-with-datasets.rst create mode 100644 docs/source/tutorials/getting-started.rst create mode 100644 docs/source/tutorials/index.rst create mode 100644 docs/source/tutorials/pyrenew_demo.rst diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index d6bdc36a..2be17b78 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -39,7 +39,9 @@ jobs: # Building - name: Build HTML using Poetry - run: poetry run -C docs sphinx-build -M html docs/source/ docs/build/ + run: | + poetry run -C model make sphinx-tutorials + poetry run -C docs make html # Upload - name: Upload artifacts diff --git a/docs/build/doctrees/bugs.doctree b/docs/build/doctrees/bugs.doctree deleted file mode 100644 index 25ddfa3f5b06efcf458c3470269180c6793b8199..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12588 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 diff --git a/docs/build/doctrees/ctoc.doctree b/docs/build/doctrees/ctoc.doctree deleted file mode 100644 index 61d356308790c196ec54d1d5f15db4440b539cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2950 zcmaJ@TW=gS6mFC3W;fa0T-qYkHjoOHwxXLwhzGX_+F|K zm$Sl#cj3t&;Z1n#`3}5|mE4B3-FxU21*<0jUIT zS8LtueTYQ)161}Sd=K$G!uJH|fs2}%?xn}&!mfP0y* z4DsP~Z6QG2zR?P1-g&m)3T9!-)x?03|e!N6Lv;&~A)`Y(sn-=jtwh`}R zH5(@jywgQXmRg6E)}fjmu4pw4i@vttYrRHW6*G`=HQv?W+8N+a(K}5GBWbK5DYeQp zGxZE~tg=+rg=%!Fy1D4@rXM9v#|b0tJPj6-daiuWFbkk(Ad|h89cH@9G7Y}_3zZK2 zZRw?}oGqOVCw%9`_kkRysZ|;P>!&nAjOHa4+qFXiFQ-^;HA|-@Rzq}!#EFc%aNLP4 zy$F7Prj#v|Wh)tlQ6B7CY%B+^8=xtI&g*Z|2G zOhPqeFgk41$b#Vfd+`^X;FhQckrmNeihgf{me8kq34HFw;R0-m3@DT$7dCvq`^b+< zRxTMhCNqeVDMjpYGW`48+R}VEnLuog$_vX?ainxM3I0yhtO9^0u?)O~al`!%`S{_d zpQD~5Jxi{ckCLVNj~C`KsWjsCl<6bE?5y&E>7Q_$OE~L;$S^`_Wbd9o03dVH&SrbL z5K~5kT>4#eQCK=BTx4A019&&2int$`c#o1_9fsPVP`9dey(Cg4w7xt1LBc8GLF4OT zLzSx%;`FI2;Ud0Vs+*u80bCo9;PM3q7Ob!zdBV8qH9e6>@JdDNQH&3Y(*Vrij!7}U z7YKnfX5r*c0!zs`!Y_%QLknoBUefFiC=f#I;k zQk^ky6CNdd2nx`$czS`qab-sC_WM_)^-~36SevzrZX6-Jav>5!(uIoGr7>K!(5frdI%oP&8JGX{jXGSUlX?4 z{VNvx3$N9o{VVptt=dL1zjNJIvxB=IjFI5Y1Xu*WohT_$Smb~!WAj-fe~0AXh97}` ryd^P5c>NjlyLQ+T#})B*E3R6$-Ml{lkt}v=D~;UN&_KMc-Sp^R+0T}} diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle deleted file mode 100644 index 8e4fc62a980ac775eaa86495a803577a82fafd49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004010 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�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

ISmdk|OFg`63EhufpkiI`;|TbS;_kq{GPwhm*U2 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%0DIJgCm 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 diff --git a/docs/build/doctrees/general/bugs.doctree b/docs/build/doctrees/general/bugs.doctree deleted file mode 100644 index e2bac25cd6f31c444003dd34490e878d5e2d4cc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12604 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 Bt7rfK diff --git a/docs/build/doctrees/general/contribute.doctree b/docs/build/doctrees/general/contribute.doctree deleted file mode 100644 index 66932c8b0be9b9c7fca03d6168494a3ede4036b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7485 zcmd^E&2AjW5hf+^|6i7fz!sG;48;`8*_CN0mX*MPOxp@Wi4G)LFcKJ}-kIL*A?MH2 zJtX&FAU+tNfW9Q200I02&Ml8%p91&^e9RjpIT`RJU-iuF&aOm@WP|`g1Q6Qp>8`G- z{;InA>)((4X?3E5q@;gV4fGn9+$bE^kO#)d8G2s^Q)icpX950DrNgJ&Qh1> zdITd};RjyIqx_>>&(m<_2eMJlpOD;DejN3ti!m`SCO*nn#graXz6yBllfJMKM=JGO zkP&sP`>}QB-n*MQjmPkF_xSzvhJ+!NwQ?Z4VaYZ#P6|)g~hK)FH8E37ISw~-lj2`o=~hqpK`GvUJ$e5 zk~k|?G;4k!c`BPK<$G}&vJ{3j-zj}6o40)RtE|-wvq1UM$Na$NiEsN+o5Kc|H=)05 z7J4^3JmM(}nr`JI-bf|vyu5WLYr#KLFr0N#mWY~5KO8?ZGIBHO#u2xCX+bEqj&-vuO~Het(eahYS`9Z2n`Dq1aM`4h zHnVB|TMr$JMV=+IR_H6Ulgvu8Ab|9bGcHxbTHS10-8i$bQ&zMlGsK1 zXa&B@Bgtt=1~+5`2`h^{o*Jhso`%wj+otjGX2M+T#J#w!_Q^lD%gKA|h0)lB{r&w0 zGs7Bj+G&>JW%Kst#=G11-nG{o*BU~F0Sv!t#i{pf!P}P^qZ$fP!aUYdZL72ZRt1bOEd9fgspfH8R8}UUBTbW_`8a*J!itP zFF}t($1L@8y>=2f=b3m#yg?=#L&t&24)5nfF{YcxKw~{V3fn5Z`wFtkgnCzHO{Ki} zHR-dZr+W_f@~zQQy=8s(*@s@u^@F>9y*LrzfnWZI;aTnW{9u&VR(4Ld>BEA=rhetA zo8HeD1ABhEXJ+FV8{HT3*3do|I@whU%lq3stS#$dxVP)E*>&;T+E)MNekIttxtv)>&ynaY1pw=X)oghyi0k=~m{2|CaUz`%QEDsaAJSyzH^&0%j zQC2mocV3xMk0qc#JPyT~`Z06FA;FK#)FjUqD`E|$%(<#~Lb7dCf%oCfQ4}#aIZ<*@ zF)G(A6l4-*41U!s3pAe8AD~xgIGi5!jfynjTMkn5D8pE1N>hCePYmWGV zn&9YRR00`n(E0z5|2J3G0{zQ+po{(q_M2zz?kfLWIo3ATH2iB_!>5-w$CQt(bj*+E501iOjcAu-X8p4Gh}`!*+>bo66K$Dmtc)PdFgIs%ItAeOZq- zYHl6a_~YfG@h9aX{nd7?_zmlKigJcY7Wm)X7Rs(IFm_fYra;%e

$W^S5Kpxl!tzw}sv!M#AV`09I)Ds? z?5oCYbaBQl-^P(kp-Yi_Bral{ z5AGiCg)nWX*o$*LMgKWOV%4v+*KcuU;flhEKf)pIy5Le2xAt(KN10Jw;WysjzJGV~ z?GNs6Zr?H)qB?pPtAYkx7A<3lt>v=Ovu0-z)z0y-M@|CWv@=UHiUMjHzUmcDJM;7b z(GK^WUirRemrtZwRntwE8fLBj))3M5YJnTQz`QVyeBudh<9;@9kDmYuR$S%JKTd&B z>AW*tGrzyBwZ$&#4$-;L~z6Jm46FTbQ6RQ!MCU zm0dKa%Vw4aXw9kEb%^<-uUL2t8m8S`pKr&pLix*UAGb#J91*}#7CHxDKteDTdR~HX zO`NKfhsYO-9v*O0+&e`1ITink70U@FA-k<-iDgWc6YxC__npzx0t8*v9Menuz=ziq zQ5 z{OIsBjZ;UUoDX;kkCUpd%Jo9w>6(-=BPG`>LtlnO>~LUN&lht0I#jbS4SpD!tQW}! z2}cRID1c45o(ovi$#AEE$C1tS88G$wIoyYE8F4(G04Z3;2TZp0IKre2GvN{616Fz4 zKgh+no@bz4oqm@-;{#rEUKS=!4}x&4>F|NR6ihY=TrfQa7mDrgcO{Z%NU#Se{HY;nN-Za<&_I~Y!WfBQFmVQ&crOrqbua_x2ab3SdmL*l8YFa9T$cmyjW z$nJvG^|@-BHIM+nJA^@#PA}F%6nRSITa$VPm<*j>c=il%Bq(H_Khle`8!2|+2+-~U zQSabRgP5Q{E9uF?`8Y#dOE~H|(=M7$0P4GR?TRb#_TXaUi+F>VjSDe*H%qVtJq(%G zo-z+S0(xQ>?;OBDl^D)bs=$qVXq+Dsc!QV~(MWGMyE!luwz!87?m`8@LC8MR7hR0n zb$H19z`+|9mElJ1rScUDU=7+uT6?6=@@S9Vfb?XMP7uF8i z5O9WlHlrVj2Zy42D84up-yDkX4>R#1eKIm;A>$5YB#`k($oN`( zC;qi#(;8G5WO}Z?`9_;L*9U~i9B5edP>fgO3bX4y#W+L}z!J9Npob?j^ukbQZ}ilF z#HngkGwJ+*eDm5v=flNeS>+d;lE^@KzM}k+>lrr=0&Em)z$rAbQTBfhkL^fUy)`O7 v%kLtp@G6G*toR~I1m}ARX`p+i*KMFMQ!qOOy$;Qq_9$nT>4gdbJc0cihtcvF diff --git a/docs/build/doctrees/general/ctoc.doctree b/docs/build/doctrees/general/ctoc.doctree deleted file mode 100644 index 9c0d38327586fc99cab3d434f3ddee6cff466a97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3571 zcmbVPZHpwg5x%?KnVs3)**E)4@ZH8^g5xvs?8LzzOdt?)CNbG~W6Z?_f@w6}nvqy_ zt4~tj&3-V%1cxl>Q>=V4`2XY=R6tUy`Z3I_-SILTpt7gXhK6B2q5nMYx~Yndyrz_kdvHwWxPCL|?cN&*SiFf0{|Mh(_}<3%4!%eJaPu-` z0|_-U=HSVdf3>t+W{A9XQdR|DhQ9{vAdT+7?hIgXtv4ujv0n8pXC@cX!olj|IeQ)j zCo921X=|CeiPGbhRLPuImTwCy?I5;MI9h31$6V6uM2%&OBsyDZ;$4)( zE=q5TvKE_9>yO(Cn7lNsuDJgk2gvAn0m!>>y3oN7>A#FXzENiWy{Cdz z3qIDS;AYIKVhj|>YBARHu@l_#aeMn1E=xy6l(^s|af|2y-ef;w{k3+{f*EevgruwJ z)plTaqafhvHWLpcFoxg)wm{Tk!)5Wjz3O|ozV_=c-`%e-S3Z${&5U=iLu~UNUIX~^ z$E+xIg#_tp67#+FNPZ7Ykm%(X^kC(N$;dTZW?v^hAWEG$qST3=PpGc(05;u5ne(02 zIBL;@ZD_SzK$q>q@0}EGtTK?!|9*&$X2rXp1H&q-7zLHpMlTGviDr9FJEl@;w>q)X z8@lhlKgt_JB%XDYeYlb&>h=T69k>*r^ruAfu>s9ZjIs#6{~1#aO0DZ)eciaaap6iF zU-@A|yVC}oH7vjjAcwNX;vij^;g)MG_uFM-6jmctaz><2ySTVVAiN3wY_7Ef=kSfq z%lm#reGn+lmUB>lfaJ)6Tj~t2L+#bVd+1|6IX9!E*6etP@0 zsJ6TTi7rd3rxU)cwdL97$yg$}%U)m}NcDM~719!n5lHLh-U=7M*dcbC=bj)E++4x8P)lG&OnIZM6YpXUM%Cdb1kup!Gag*biP z)VP9%wucUR8RoFH*i64?r_P& z99q{IFPT&s=6GV+==NzliKAH6JaO8s-{I8@ntlBsaS6bSQp7YS0S=crW)>XWga&a6 zr%+lB5v#aeTakc6LOuEa=_#3u3vJ5U6iAvy1-#k(7Zy diff --git a/docs/build/doctrees/general/faq.doctree b/docs/build/doctrees/general/faq.doctree deleted file mode 100644 index 2a49948bbc5b835980210ac722fb2b985c47ac28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3174 zcmb_eTWcFf6i#AGvV4*4+$bbY6-pY1#!?G?C@GYt2}!}NAffF;Ls&+;Bh8@Moz2Xw zEk6X>hd>SUmgz%(LH}mIv%9)jP{>0J!aHYX&hnc^{Mxg}F9L02cl{SWC9{?AU8t-#a|T;3h<)FV=FW*V->iKa z_;n>S9tOpb`Az1Wk;B3v7V>>fCYJnc#fn)AA-)?KORKMqq{tVGA&V!5kLXO{TaJxs zD~MfjOKgkVVoeZfxHfexgmvjFVaaX`M0Ke=gmR#ju|i%1JA6UmfvW9?5LP z5kt)T@Za_;zx!jJal=%9#NPCbMSypXuM|V%p^b>y*sxqIXX?p7JN~Hq$_Z(^IUDmX z{

Hj}Q*y1CI~!>#?cyK*2`EapP1gd1d;GJVs36kTNA!<1TKRxHJJ7ktqxgT~} z92bT;-aSD@fVi$6A$Hz=3`T1m&{I-_7D*RC(D15MP-feSWQ4E`ekd*Vd|FO0b|U z{vTCy9uN=xb!S*+6(g6USx1yS&~Vx@6^<|Y&Dj~AU|A3-FZ&LlL@X1{Ic0k$skp^& zSnkm5V^HKiu~5l*Bcn6Nvn2TDZ%hGZbGZ7ZE?i!?Fc7-~->wqmvqE(Mz>ITtCDcVOG$Jporq@K2#fWFnk)x?+wfc)7b$+ik-jT_Q!q7OHvB%HN@UG3 zSJ>I1hHoT%Sd3w=bIMGHtl@;=EQO?v^v9fn3V->I%#fo9)Tk4jLgN>1bo9*;xHI_M z7dInrj5d*AS)#Z>#>v�j5=^m$WoWEx{kG?5wB||M*U&bm744>g|ggD>wZf1puH~ zf&37`2EU_NHZH)+NH=)PU%>E3} zu)^tRA@Wxwu(gvEX&%k-hpd(Y3FsL-F{E&}l$6M(+Al=8%)u}y*1!jX7g|C_oSuRtE+mj-P37W^sA*&{VbD&4Z z7(jr587o{Rp0LGm<(y0jyh^jG6=|rN1Yjl|@&x^R1{Vb94n}UoI5mlQ%A|@gI?~)x zy1icye*mi*Rh)M2*LZe9!yXcT)3 zw!0v$#x;ncZ8Tprsf94kjMU#erIkPDbB(LB47aV@bK`Q?_Bv=@8u7VHp-tr zvbm7iV$6~x(+Ri1_Y)l#DbHN^GCcTu_%xjQfnhJKE=Cay_ndT!ceZ^0snXUma~X&SEL$J(1>N1*`65($Z08KO zx*(4IAZpbVn|{02?%Z!FnelL5Oqt(h&KWr^9IPTMHf3T-3&Ur`Q}`Xn=Cl>Wk$6+=i~C|zocL(+%yMHV&hY2jq|7*(O+Ku#vy-RN{koV= z(n2|DCC;l6&*eyFGY%VKK7syrQt3UJ^Nbs&Ci5DLv9Yl7t+SiORBZTuL+;>KK?=Bz z5&4E$RY5lk)<0>;Yyj!5hCqHevecdks6~%!EdEZ zX5rigR)`;oUx^d(5J2@vk7CM~mpo(Z_YnWjI{ZI{wgbPrgyx$n5BvZj$L5CRqOhHkZKO@GkW&RVG zU}Fc9S4jK`nBE5vA5^Kn44R)egxV30*COC?$AZth7Ko?K$vQ^A&F|v(R1^N#%I`WF zw|%_s<33dVe8rxZ*ZP?F{|3{dHGPt1{b~^qws;Y5330HJ-RGy;pS7scg`Vz?BjK@wV`pJ{w z?{r=$=J?PFK5XjN@P%}uOcFah<>UGI;c#YjI!w`VRJ2UMahg16vgf-Lxy-fy{Qpkc z2V`Z<@A{xqliL_vq1CmGkRvZ|E-|N~em&@AqZJSR9cNf(fhN`V+~~RCwrXWPryWz_ zY{Tz1Jn+-mMnU)8@P~0>s8L33TikCbReSV(%N_dF9R2>dZQ$@p=6IH%_I}J%fr8xh z62GkrmlrOai=%TtsM?j&CSZ}k+t#r($6~L#5RE9iz;d@<7Di!p;B*{OW2IeO+@rF8 z8T{>;)-KbIcQ(&%_yd|FvLcNZsIX}O<uCNVL&-W5OE#|oH@C7p&Py>hIECpo% z_+w5+g@5=%nE|5+-CZZ(3Vu+y+3152+JEr(S2rVWj5d*AS)#ZB;-qTqfbg z4Z~w?5+rSoNWnGKx6l1{tg{)+1R^p)tfD_U41h6GR zBKiylB@%d4Qp(^a_b*Agl9s^bdzg&js%nW4J*NCZD7_eeEzREYCTtbM`7e$UM=zUQ>8tOW5h3L^S#%RPqQy6Yjsj$U#jZdZ& zyh^hw8|i6q5fC%!lqX2xOQ;|?cevzk46ciaW42TgoF19I! z@LmCZhltgG@wNEM`T-H#WeyEL4dUx7E8eEj`YW`lXPCxcVoLG{U9Xj54q^%4lO7OV zQ7AbZzDnONrQ(AX@NzoUsttsa_0Afx&#;S6Uc9t8{c4af%k-IPo1tLBabqX zZnR!OkGKUDZ3R&uNOAqvl?>2v>jhW5n6z8{5{OM6x=q*baPVUB76y%5daza(5RFW) z<@z??S&U+l%Hy8v^K@lAX+zzUG3h_>3p;Vfoe6?M9hKw46&|lt$@BY}Ku(@A0ga`( zgSOVXs6!+doX4GG&J(N7{A$uRop(S9&N~6icjNyY{@;iH_uozv=e*NG^M-Ej)Sda2 zNySbL`ZT+d89EiJKfQcpZ0r{IU^$#@hU@@*JQ1@yRcn4ebZy>u125>h7OeVOE>QMS zM~E<9YPGtqaFX^S25Mcta=9C9?XQJr?-;Cp{pIJc&9g8HdXO@!FPMv)i{|12%ltvo1`tWleI8jEv1r>LB%oHTx z9GGnilW7FNYXlMFzGM0pbp%v~xKsmC1tud15gL*hjv^$kLJZCZnelBoU0}mbSB_*H&dIqw)>F~YD88n6KXgnOO%+~Kxw+*)n9$}| z87DrNriswk3d;WHU(mU4PeROqeAQ`|=|7*QZ*c<`(hl$48IjcN>6 z@P4IQ`U?x!m8-S+7WaaXV#0+5R==Yia3}C=#Ci|1K(yLkfK?oUSxb$D1!F#o!U_pH zKgyTliC9E|->s5%_MW8WlAhZ`b_Mr8J-9^w6O#N1v_2<~vU+8RpHzo%K2c!emA6GQ zIaepEVy{s1zg249++`0Bb9?G4y8FYy z%zz+3cK!Q%*!AzLLsaZ~{Z1~sw_X)FZ>L74C^_pLLkM4`?9FX_&tNd~tAC%F=j0WZ zP68|~{o3Da>G}B2YJn8SUa+#)-ixYCEB6SrdJjQ%Rjbd`K4kSnYCo9O&jLZeJG|BJ zKe(Ktby^HUY?~*rk88UY?a&b)x;v>efemufp;viiQEA}YAfUPhoPjnX*b-bA~&elZ(dkp z*IG9={40>D@6yJ9ex5a(&$8FA@Q@=%;9CR8>vg@qM2Cw@Oa&4f{!Jt}u*;mE*MsR^ z*J74Xu-6{E&baW_*KayO>cmX!^^zWmuF;_QR$g%_9S zA5)Z~3&__zUFF=46_xAgb!mycgd81m1{=QO=P}J2ghdm9m!V!a5)mdMp5B*2Y^YU( zDv^07l;JPS$ssYY_8bj^KSb0bgm6E!#2_pIQAB~AsKkw?25lma2oY_b2Ep_ihdQ&j z;jeL(GbmcNp=AdxpIKth(JL}clt0|?A75@g$B_J@3`5Cf#>(Zu_jRr)&XXt=Ufh7~ zMMQ-!#er(kH~qu}Qm(6CkWDtKXVX=xRSYom_4SwOhlNSob1iRxR=Hr;%x;&m7Ep9E zGwhfMRhc^A0&JMxD(r)jrrr{LH7uldq9x>51aD9{y~*{*M~aRxl7>=p188VKw+%&i zL&>(G;MjDH{+@visTPeT+5K1Y{Tc`DYR(Yp5~ zJZ`7Gujrq<_*ps9+r`gn@2hz3_TErWsh(fMb7ideb@lNLJXO}Zs_M%a_rFmws_I^f z!u_;6%-pbc&mhN7GH#l_-4t5JrC#$|WRz`I)ZRy>>!mj`Z4HK zvf}9Eg%`~&r1^2slkdj(4$@c1;N$qw^&1R+%L@hw&S;TDoRg>TOGkfvjmFQErawwW z{k0JLLCx;Z)I&S5Th%zc_ZO<5v&Fdwp}HigcJwgV$wTj3&E)Z|`98q2oL)?XHgTpR3_7=d$xy~w?= z!PXL_N?p^7^_g6QU0wbp>TcXxyO9;$M$(jybD+%q7UM&z^8<&H9ogOcsE1bPt3&F1 zKUHXTzU@4g%D-?Z26E-UnlUn}{EJ%oy?0^MA$|AWi;{b(nnud4byU??l&Y88h=!p@ zSRpdu4QOuL_X5*yAcP7Bk=u1dMX#gI^N{+yb|`U>KA)!^TA%Af`h0;Zv_9V&MoOjK zIuw<;($+I-N0s)}p_N7>l}f9`L8tpzyXZ8lSi8z~Qq|E(Xr=Bxt0Wera^TT`vpCXs z>hfU`nSSi4rP9FOp^Iw)`j)}C2!!eBKrw5h;>Lv5z$0?jN+P=U> z%Bh$O+Opx^%N#{`>K;o6#{~kLRAf*-WqJwXtvshldc?< z(~jvCpW|{4OCqEO7o5a-qj5QI^LEn3bhF!LVQp1#I=FdJpVRpV(BuZ zvSvoHt9yjrFbS^MP}mCH&}cSPegZqQ;u8>^Bl`k!{4Rj#xqVlp*H1qoXG0zu#i2DZ zbCOEhxGrIkamYvWEHjGZ#c&{;z+ViaZYz~%sih(SEe)JCLOnv=65?U={F9d;&)KMB zjSNpElIxUqBBQ%GNwyN#%l@eI)R*647S-e zOn3ki9L@zMIcuTSroj;idj_rqlA~2*&t-R=09LP~-P*1^#{I37LhmW&RRH)zUJp&PAZ-W9# z$KlSeoL~0NQOUdL@jZHchaNwp$N$kIgj4AC@knHi#-UWXT0_)GyN+|$`PE%D#$DBa zSM}Xh{dN=Qow!b=r)yw3!}+E2|9Y;6i@7KbqvxWXrkYDFp}j|GY6_%#AE!484|^SY zP+*bBnJTUnqcfHZbdsdNye=X4k+;(lt(NF^KoM}*ZwFohRn_$2k;0;NZD_<=KC9|< zW@vnM=aQD5v!i2WHOSP!xmid!0l}#}fqbC{41fnLaFds_@^3J)@pKr*h=SWa&u+o7^h+0NaaduQVP zVrSML50QdIr9{kImxn&`C%^-$)Th27gb;rL{{hdHDjxXF&hFl|v0K}!A|WDOdFOl1 zIlptxoL`YR%7I;%Plu$ma4e9aw!eyak znVEtaqg!m>96cQPD6_X1iz&`j8K2Wlr@AD+q{oW8b@iw(LY8&Y9@UdnsYLWr1(}Qt zmxL$HeaBs&N{LQO7Jx zksXz=-6#oYqD0tvr_h}2yerhbwATqzUkNF&-fyv3v_#lvkilgg++TL=y*mRIvV{5_ z-)f?rNC^4r`o**deKa989V9g7b*(LJaUn^<;z$Y=B?knpV!21s&|?W%-n>tCmq?Tl zpDLELt%B$Ed6pI?fczaRf0w^%w9LN?)$-S1xbNY26TjE-y9KrJAMh5x!51ONXsI^H z)3%7>4gKd_0;>Vy0(wM*ME$o^{e-c%$U&46mxhqo6SA-?5sJ{z>p;RF@P=)M@ zGXj|dNuoYBWn?*~F8*vreYFP^kpgsN7d8Y|$;L0aCu{EZROGZkj)bf?a<#QA zE?dB5%k^B~vUOrnR0~_jNn@9v4C~`U*B|rH#ebW}DrRC-RVMGRTHMY zs+NYEwpHXsnQodtjwy`mDfiC1OpzXy%v7t3gt~5;phPQcjIw4aYm^wl!N#@)ex)+f z=$1JlFPi63G@Hgykbj&Gb4EEvfWH-$+FZRt<9{zUKi74Kclqb(?^0HbbLLKIZ)gEi zy}x1Mp=YTVM4>PRS}WHwtrwnp9F?_w0?Zz%tMj7tucfHNpjgTBW?em1_E^$GPe`V~LJYv+%o%zlCuNW%Ld8Na(__D&ehRjuVs*w)LdB`dx_q{) zn^sxi60mdA101EIL5#*_d!U0;cF>$GnrY&rHLW7oF?5L;#la2SFgeKd)qWHyJhNGC zaQ%XwHr!B{2F^ZmeSlYlo-x&Y>>xZC%1L6&S8NaSS>EHAV$Uf_8=P1yC|De*!LT5S za(q;SP~Sy8$*Es88+wlI3usMImCABbLpMCuO9wb^1~p>{tzkyOXn>w3)bBDQRQ62I zh!8q*z}bLe2nTTKRP|dwZh_Rv^!3Ao4oi|KaX3f`pC!<^xvHx&J!>^x+oh53lIa^q zMviRp_~wO?5j|t~9p0f_ef{vjk;VFokpWnf94hi5Q>LeV8V*tf6lfelNnZqsr(Z&8 z6(yeIF+8_C93udet{!uvun#ez5#a%=tS|O6KBi}Asv>9Dr7sG=YuZbL*r^~0#pWFX z=u1F z$4l3Mn@vF&31`Ut44Y0D)11EWE#o(DzHkUwyxbRAXm;~p^2=a5VJh1MMCXiu0Xg9S zK=ef*RQBGL*Y!-yVyAi%8)2qQkBRG!aSr{h^4)-L*^UpuS%i6cndxh0W_|(8bQA-9 z0gnT-ivHHk+iyajGfCe)vc2gUZvXvqdpIjKklg{vCz$HzXCMHe*b4lPNkX&-FY*-6 z)+h80U@~wj_pAhPB8R|WD9_VmbKIlb$1&(~`%SSq^+08>cHp^4< zMOP2)kJy_i6YQ@Y-K!Wu%0oDDqtpb8OkZ{*--p&A15(QPO40u@6!Q2E0^<4w`BAn3 w7XdX6X9I;V0SbF?6U#_}yyIvNd>!+T<(ZKvaz@%paU=b@!R!1TAACk0e*Z=?k diff --git a/docs/build/doctrees/general/notices.doctree b/docs/build/doctrees/general/notices.doctree deleted file mode 100644 index 09891c779d9543d355936e2ac7dd7a08b8464bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14974 zcmeHOU2GiJb=DtAQItqYv6&i@;;{_Ha>CuEpNg0ryMdo~=M#LA zPraF5=F?&#c4Lo~K8aJW#GHl3N)Wp?rl*EzckCY9qy^MJeF>U4x z=10Y3w$2rC%yWH~t|VbZ{5ha7`1M>@h6gY ztDktW8@cH3HQ2yyxPFI$2Aj38{-~wa-Rd%*g_hUy6+fC`1R_6l`$*E}Gio;qcAnNR z#MxV_n{mU9K$F{Nq2lEHo}V%dj6&ZHOte81QCkTxs zVn%z*Sh}%f48j0I^dln<3_I{Vs~v=BX9T`6NZOuj8=P5Q%rTrN`=dh-QWhDmZ$!yp z5QMQ2bPPz6u}TB>-6(cOQ@YTPHFpf5=+ zn~bfn%L$6|I?>34Kee>h%hy_m@H#UBIYIo>WDhMfxc7ur> z_z_$QLUb76jUZgp_W!;Q6YS9H>D#SforS(Mi_#J+vl%6Af)9clCjjch^#JY+wnDed zV=|Dja$$_bci@{``Ca4wYfHvIf7iIO_-lJ58rb9t^6?~HczDi+>o9{*W5aUSL0-(mAn9^B>*~_dqH(3UXkZpl8(Cg$Ar5m~ zTLDcDh!Tm>+z$GE@UjUwY^mj|)we#+!k~pwTM`hjdmcFCD=!L&DRB(sRT17rt2QHI zm_-<<*e5{~ODvYrG+y2UZnyhx3|Fa(9ULU+8nVwN*bHMUNF=TBD;T5i(k+lsM?59W zjT9q7+Vx`RT!J%j&n3On{@&d3sCk3ZJ68e)IMwig>$8jFoYD|TQ1^0j~R{?TM{8l z0g@6n1WPP*0dItu1YD42gk2O`xwbn{2nT4e3G`J6CL_WkC@y^FE`TIyH!(^Ju0Mr^ zF$2P2hF04P5UpE?`NGzX<=2)zb$$8HAKq>D9U$SVoO^W%sS<*orNF0H>cGR==-&uB z4L}j~S7SGgn+VDJK|MC4aFv3*h}lXA>>XZ2AEgT}4f zk8scuVegg+8xCxwmcM{``k6G$6H-D;qg2^b;QH(DjTCF1%+++Hw4(nSk1icm?-~iH zd|ijsW9sp4h08&j*j9k_jY2;jdgwZ4&(℞e!06oLFfI3M9y*?cOmMRodgvWB{!8 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 diff --git a/docs/build/doctrees/general/state.doctree b/docs/build/doctrees/general/state.doctree deleted file mode 100644 index 75aa65b0572a0838692b5a556fce2cbc3a646ffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3222 zcmb_eTWcFf6i)0&wroqb6DJfBrz#~)LL;e#K9m$nXaXsis*qk@+OUjvXElRnceXRL zzB~llhd@o|Ez^hog8t2ZXLlt_rh!0f5Z*a+=3Kw?&HUQ>^N*b?)t}$Bg^>B_kR?g3 z6K;dwOmtjkJa^$uc=%g*6(0DGVJB9XCg#CkfkrH(N(|4#%iw#Y?xeEA=KO}`v6DJq z92YIo78@_a1JUsD8H9{X!b<~)qc3G-XbIU^^fL$;LNx=bu(vJoq0Erj@PQHqRp%?^L}CU)NpIR=wDJO6pOjgD&Yo&r{dr8|BJ1rMX1lH zuFqK9r7no~QF`$K9DRu2J^b$D_Yh?jAB%xF6pxVUwRu^~$pWYV#L($P2j8K85ut9m z0#BZE*Pk%Uso{_MERIV<06RucfXcp3kvs4I8|tcp4XgAYh`k#7q6H9=yQV1h;v%bO z@17NbF z&z8I9Hvrpe7JPRFv{gU9oM(N}&m|`Z6}ksH9VAN(Px3)d zU_{=IumvlKNB+PWmRrRrt!O?S6)Uuyc1(q%D}HOP!xJn^0_auW1FVR1q6Ne3%q2C` z_)W_lMt=%Q-6u|}I5IUlcRWvmZ~w?t35r>eY+IMEC|wwf-Ldb~MReK(ED``1Mal{+ zwrhtGyv(rNYL=x@SaqF_BjPC9h2s_?G-ttIPqlVAs9|aI=&J7$Rp(_Eou*)_07=h+ z8jC2_8PTwX$=kJrD_%*W6X`@WXG(Z%4m8v`_B)0b+PFwjFT>HA-x5qMmMy=}PbI1b zLM!cDspVSzy!@qiWDFoMn)7Q2v-xQsH;slR0V>fhctXEs#Lz(!u8gFlq32 zRyQMVj5d*Ad7`*M#VOR-0m^lym#nlZE5RRL+PP#x{N;PK(Tf1)NAIj|TsrCZC;EqE zvC`@2Lgd#Zu+>e`4wA8$glfoOwA-jfsZ{kHdyBr{1ovh&h&(52 z3HrT_mk0V(FM-c}8ZN*lp8|zSX3~Xk_U`*$!HWn*sjpBy^&T$ul8ZXT1$2(L44 zhLXFq@`33e37082>o_*S2qjL0qfLJZKxWZmHWvv*wjhL@`#pP>J9ZigITZ>&fcKix zg!>&!FN^4x5<_iKs2kO~UPemCtSRkbEbvZ<(fE4UQ01zGI6W&1xS;o2^(bpd;2h}D zF`gs9z?>DX6HnN3a!F5S1YV_CJ&N?ingw7coA3nldxj7M=MGM8#?YEYJY!Ntcxuuc zqzZe#c`O2~Dy=!~+^_Ten4W5Wv*r>EFQ6#%L}EBx$0TQLk8$@HqmMUf=cz^l5nBjS+Ured#w&#U$GB@HI5kl z=4D&W4(>J3MyyLBh2XbitrV(@9B^-JJZn3(NuDoR}!Qj4e7}dtFe- gig zhk!l=4Afi72Y-Qo)9-Zm%+3x70bLlj>(r@J=klGe&TpMR+4hzCFYdZZs`6~e^Sm^< za4Bx&CJTiqeR`7~|DIl^N3m!5sWZW5BE>7v$fVM_6=iynVxQE#(r(zEUw0z&%9M-a zvLm~4{Y82td$Hq{*J5ca?tCwNs0I%PKRP}Yi4>uC{ReSI4y<8`e{k&eTd$4&0NRpa0hAH}n#a!01)~j;#b(=*u`bPP0!+2B#?UhqF zuMb6~4pli3h#?ar`0qxI-=nE0h2?q_C>ulT5aQjVYhjF>^bj+jT3*TJ{5?B1UOXNA z?4@#p3Wo;x&j+W*&IYO+RMt$baPITLibAD%CZy51u*f)N{Z{;6Y_%mqenw4xj^$md zf_xvTm-led2l(B`?;(DVkyiPkJd_9W2_n5dPiq)2pa~=ly~$0AJ^IH8XUiG*>>J?+ zW9|eM{K&2KiNM{69E-;nDNA_h_ErE_oKlVo?ohhL01cqQqUE7p7Fyy@z$i`Es4& zI)GZEKki(DXFVhD+iG{6%w5 zL6iH$IyLW2tSP-H^Ax*3aUDP+3*zjW;H%)%vD`h5y(Vei*n~w6h&s=U3X84gLWWyr zSZ=nB5S;?h znwQf67Dl?kQt=ud$@q>HnXx&`MFp7P8U>6T$8KiI31UP#R1Tnui8@QN8~Z$X!!AVe zngX_V@=#Q4fj?xm7AQc^;z=QcyS1c7Hr4(@R5=kqoM#2$X-}M0#tF83vW7_J*$Ez~ z2A{huSB{T01=4!CKJN?k*fxT3=!Ck-V05QdV-uyDSM(Nr;S#)zbt8(BtmUZp7N!Z* zsaXP_`_x>3O*sV$wJMZP-|an&{Yq2}NogKQ3TB%mMD&b0BfclSuiVqo2x2#^&b>6{ z(AeoH#havAI{;1QMS=2olw$+(!}}k7f_(PvBwI00k_+<>=H}6m-Rd!qlI!W)6qse03Zvt=*>j{%vFSt*KyCCm!6+7sison2k>6khH$^_Xm((~ z1~j!pqTZ?3&5~)8@iw&wnZzWJq3}(!A~$3|ccL3a&K6_()Sm?e=~<00OLf z(s0`AxF*UI8ph&A!zE~5Kv9*sLUVZLxt$7d6W)Yhs0#vvd8@&KQt@`eYaG~A1WU)8DwLWy?l6?@Y^~C5mS8cUBc-KH1 znF&M+DQ;y(Yh)KO;N4h%*2>>d2L3*}>RzSi=mSiZ=qSv-G;ub!E-2)Zcxxf9i?^l9 XOoyDnGNrn0=EQO>A<(-W#>0OA+uPW_ diff --git a/docs/build/doctrees/genindex.doctree b/docs/build/doctrees/genindex.doctree deleted file mode 100644 index 18e8b0a9fbb709ef6b89b113cdc595ad56105609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2870 zcmaJ@O>Y}F5KU}Lviu?2`9gujX@Vk6g2Yyfwm{%(Tcm|iABujQ0*2b9M8aHhOL86g z5THE-r~v{!g#EvLv%8Wd9cnSgyxz z8|PWv(8`E(R*iVv;vqOSssi$(eAZR&DfV8bx%V*QcgOIe`L&r><@I31vvViLw5E!^ zz$Y}7tnOZ16ua05BtWlu2p}HW3a(6&-^U(C;j#n? z*XfM7jc+k6waQdTSM~He?o9f--WRx=h_L96;`mA)%9p@(1Mv+1FCJQaw6M4?b~O_7 z^y4n#B<7-$#9U5zP)75KN3)3q9JX-odV^;j2kN_w=rSfPo8`-RCpd1r<|HjvIy-T~ zH*D?%8@NuVH{#Z8jmR;qD21DGkX4Sf!sg1@nOPcz#7!>(C_91p4@gV3n#azX03M~- z{f+Ai(wMO&c5M~PDx@>HcNY5%3c5-t?dCv+Q_eBmYKN8680`j|G13;z z;@}P5^r(pkC$S@_u6xTGSTyP6f$k z3df1cmbiM%4tz4Tx)`GWZp| zfTa)kGeJp#f&*oM5re=jX)(oq6~;%ej?e*8e6T#pgmcz0$xW_>1L72F2JY@PNH2Kl z)Lv3NT$x#MA^(Yk#_4qcv#k%7CsuaGeM$gC^Ah-IBm_chZYC9<2*90VyoS~vZ#$7$ zm$O_@yTLIE965{K%$hNB1RN>{QN>uHt9RpoSHZGtQ(RNv)^1)EC7bgPsMZDr>Nzw@ za=2GpYGzaIuT7;FRc_g|AU^G*5m+zS;?9~PSzs4vyA410Sgt%DX-cGxvNzKOG`53e zJd{w23{H33Wo)c;b2r?hUpNH)z80b|RWZ|r)1ErOOPG0lQQBbGKA8f42LlL5Thu3fHCkDx3L>wzypbY34bBrd zQ;b9o{azvjDR5a_#k(0+oil+uM>9N%sLR%2AGFUJkX4VHo^}=2g}I<7M%-+A3B(I3 zqU|e)Be3QQs-G7J2ny5+Xs+nrIXx)equVW6n@0!C@HUzu%33JgxM5?VQZZWcYUjN#7XT>;Q z-Cy$9pPgE7y0zpVz10P3=66?pwKKTV&@nPwQ9r{(fhWwe?;;h($8Q& uo=MOV-fyG@D!Sw?wYA$tGk-2 zYJ2t}B1DSBO7)iVBN9*i6@EgbJn~EUPT!_y;;f9sNG(mBI(6!t?_BG%-plVDZInNM zWOE_2#h4{YrW0<1?p1H)ceU6_~$zX6U|NR=3#g-?P%Bz7m2 z9oOe~ERUVkS$kac#J1S^B%F$Y?>Xrd?`--0Q>CqC<}wfuShham3%a|r^F^ri*v=Vl zbwM2aLDZ@#HvM+3-MQaVGUMUAm@>c1oHKG-I9NqiY|6xv#yhcM)`E!ty^N*RzkX8W z%f*z%7lzM>r|>(D&1ox$Bk`u#7x%@cIPrg&JhR-`i8K7UHYqbsW|I$U?Cj*JbiXR5 zleADyT8Z;&#B({4*^I-6m`|X;om6^H<~0UmV`1G}XE%$f*zo;^+`+4Y5-=Sld?qtV zNJmQISmUiO+;`TPBI$VgO3p3EO?Ss{e+0ttQR$Uaaj#w1z5ozEuYfogZvk$o+ml(s z7vGRBz6B3y!$(8z;_-M~1@OIVnEvzGzrqqf-o=kCEm(tz)Q@ZRcVO{}D{Ev4hDg zB>oso?*WMSs}x@b&CeP_?TE)~5%9QU!RK8I#M9^wUPf^(`GmcVy3FNQGW2Y1Se@!gk(W1@m{U=|9`v%oiiiG=Gc2<}lWKcz^xSY;wXmMkj;V0A;ddJz z_~~q;p!;t4!?-ZiAfvV&?l+XGE&9IY4t;8lK7ZUcZulf~JWEh}KW3^xL2i19-`0i8 z3m4AC(YYVYdBzQM+5{{Tc-uOb=2+}i7orhm7g+Ar%fcwE4xEl7YN)h}i+fb|FN425 z)7oX)@y_Pi4SzuMLsq2G0u?q5pd4DXi9CvRN@IzI$TuqrSG=S|6lYP>)^THfpzibM ze&6sMF&!!XoCCg_epfKnE_?o%FCiJ&6r^OuC9ll^D18U$foTZ=)0DsKM zsPK1xC^KLbp{wfzT)__tHygb_Lfa4i{_1ALjnO6&EK3wOK%7*KUGPU0(j6(iQcCbA zYddQq{@lB*hwf&jK8NJO8( zfJ6e1N=g~r?>6{1H`A}yOLGNjgWr%4T@ z**=W1NQN@cAoQSSi)K=lLy5mf|8NQByfPPgM$!_vd=C>bTvaU*qQ{h9h@5PWKvXi7 zF8t=!yZ$iec?3|Zk&leoC(4vTcS;Wb9pPMVpG+no+i`yBgwDp=%qPL$CC*X-a7LKh z;2sBe^g$oJ^P~5G=b@R!YvPHr6#s)pJd%}B$X;+WmfX$CJ5T^7!leqA4IG;yixMZo zS>K-^Cex@*&(?s*<`f}U{+7MW99u*}&V|B<_}x;PLVw@VBpm&vKwet_^+vg_mXXpi ztD!xK1qQ4bj<50!D3=i8^hJ^53VK(RkA=DpTp@aNjPV&U&=iK-R4QySUE`A}1+UVq z%0_w;Tm-~SI^_vc_!24z&K)kf8-wd2;+QQ}geMRc+EVS~`VoU*RkNzBUHMI(J*TII z?^opn`HN7*)GLu3E^^GwIm#0z+hZt&&~kVfp@gH+QTg__SE$uv17t{>wTo>^A-q#S z-yvf4UwkdTvVK4WcbP-OPlNdS%8IvXwEhZh>KUf-mza|LLDy@gn1fit_oN3zR}@Ol zhOg4MOR4x^1-zV2wQ2*QWWBRSY`F(35(mw#<)Pav@=<4vqr!f7T~@t=_J-0C>w*eH z@O!aV3JAjnw2z%%)buZb!WZFpNCV93NGLqyEF525*jA7g@?J|WeYYpGSQQDy%ADMW QHvx)VT@R>p7t`^70nw@06#xJL diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree deleted file mode 100644 index 9f84b01538a29256b7949690fb6e53a855563c0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11320 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 diff --git a/docs/build/doctrees/license.doctree b/docs/build/doctrees/license.doctree deleted file mode 100644 index f761b19357b2ba1026f5b7fd9115399f293cb65f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6421 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 diff --git a/docs/build/doctrees/msei_reference/basic.doctree b/docs/build/doctrees/msei_reference/basic.doctree deleted file mode 100644 index f635cd6a2cbc4d169f90fa8c0f3a60c5e15b43df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3132 zcmaJ@OK%%D5KiLAvTRGX^Dv4eP8Aes5;T&MB8Q^K)IbXu@gZn?3m9sb5()1vHze1O zLxA=Wpaysgd+smjf9yBh)x$<(1Cqtza30@$Gvptwzh7=%i+_I0mQod`L!PFEPK6DA zE!9bti^7G^;n|NSxBe{J3n% zRoQ+Qp307IIps33wB_%;=2j*Bx1tayJnO$f5b?W$8lA$So4<-visnk)Poa)=wd9D* z1-aupY@Ui-@vBV+hyG@!3K0&gG571-IitpvL*|s}ib^eI)lM>QErj^pDtKQ1T1%^P zu^98@$cPE)RKD%_l(vH0lK17Nd>~iko=--@^~Udp9- z<@Ysrc769k;9=o(f7vPQY(Ni@11Uk6p6SS5pzKYItMS!P+kaJnvWe+~0AA z7dGRRDJzWzMQz=$EvFsN!ofAaKGP8?mK8DVy6+{Gp=rS8y}vn=)HA@ZS>e!>Qw+Wx znig@AO^hy_DAM3pf9F|+=AVzkRb9EVa^X;J9s14`$QbUl30S0P8|!#pVzE&>Wbkr? z<$ANMOomn0>4eerpj|j_AwqK&{H=-BuFy^_Z5~|rT^guGm9x_cW=MdfXEC%&mgt=3 zw1vt0wM1khO4x~VlFeoqJT?cKp?2sujVQHoEEC59@ZIq1l4tW}%kPL&1=JjOm7OWI zd@B{>Y6^F~6K)Ei1`SM$9Fh*;PXr|u{_;Il03(JGrc-EP5>;+8_+fw<7yN^Zn@kv^ z4U@b`Ghu)@g_=09yGDA+N-J6ke(%!GB@^-=->Z!-0+=0raB<_(Nxw}AfM`|%p9~2F z-_3Y2t@u;`ZVXa?1J|CvZA79?%2H8+CUB#`kwd?l=wgB#0f$OKR54MfL9Y59ubgHJ zk-wq9t!`T7C7bgPs78ST^$e~8GPo5bk=a!Hg{ZWm!fZdyiBH?&wA5Cx<&%*jiDSpO zSZaQ5u~b<;&M1*4%J!@;&|{lO#-bBqlfh`WQDYO8)wka+{elzRXt5DRLDo{#djszS z)Tv&ApF7lCpiMCa3p14~7v5|?@x4-%i>XY>Y?1^+Mlk9O|CMyEv_FnU5ZhsS=A!k6*k3o;@>3E}19E!u+>0^XODgd_59osDztDAL#y( zba@769mmILq14H6u;%wb$ehi4bAAOgTM|Rg{kA#QRN4cRu@2 zp{Xr^x*gZ`l4UyK4YYfS#MPIe@O85R&?~FH)#@Q|4)*8-4+U^wHWhBs zoUqmSlAg+myqV^8E7IfVD1bBhSfuFRGlU?8aBy-rfz}ZdIqrRi2O&+_81_!{qyt&A zNj=lf{fa1#=@I4E>RE#31r=41Dl~^3DAb)| zfZ19?jXBe+V_lZiddL73&c`~NlOU?zxg?xxcP?1$%)G`!w=USnfHjUL`rXU6njPG0 z7#oSMXeb1~k?1S~y2t_dM*F8m{+ST?_u#ty6yBl_@Qgx7;mvAM`P%Dzgj^7B%*C;I a8>&dMDkZW^sc!2jO}S&p5*@%mkipq?t$m*=j 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 diff --git a/docs/build/doctrees/msei_reference/index.doctree b/docs/build/doctrees/msei_reference/index.doctree deleted file mode 100644 index cabce4d2992b2d1871cb80446d55971ec1eb0abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3501 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 b%MN6fE6)-{mZ@9&EbX>#4Ww)B7xVuB{0i!g diff --git a/docs/build/doctrees/msei_reference/latent.doctree b/docs/build/doctrees/msei_reference/latent.doctree deleted file mode 100644 index b60cf11923390f35bf3367916a31dcb02c16cd07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154036 zcmeIb4V)ZRohX{G$z&$qgd}9gK#>6H2{Szt`O+w`5fLL0G=Vi5L#L*@W~wSZ-A#9O zl2Q4RMa@#kb!pb?vI>Y_Jms-0tLWpg{#=*KRTjD2UG*aC^{qay>)ju3pZb*RwlW`^jB*h3)_{?aDou?$j=+PdDl{__Ng^cfbvc zt~QPkN)pH2+VN;y+|Yp{r(>>m2TCCe=0bO|Px&r)QPrv$on7q--5t~&r)f>J9pIR7 zxX`M!2si!Zs@`hBMfl!V)2F>}ODgRK`(r{cA8Z=Hyx`s_GVwMt+C52=dJCDvFUczv04_~UmZ0X)~HpRG=PV) zF$VOv#yq;mrdx(p0(|~YRVuDxvjwc4dijF(gt^qy5)<>P;DWp6t@T#Ja`dXUqcUx^ zTA&tRvg_o(`O*Yd#ywVcnWqwgnWur2%+o<7o8kX6;r}i0|1e0vJezVp>J2wXfT%to zYM$F?)hfmjPSu_jBtmlgL48e&O1$7MYUoz8;|@>PEA6WB2CXpzk}(b!efCYCFP*XF z7QC^e=|j!MyPS?rNWTa;^-1?QH7^c?*A=;oTUKof4BOp7B+i7rN1tv~4Xr@UO0#O| zd<=Ko^HVt}%CK}Ww&uBuz`M&abre8TE66V;YKTs|8S&0DWQYno-@1E5Yc!3DRd$TZ zF!faeXe9-t*J^b~7eavh+I?@_?0_$C*S1h$Y`JJedt-pO)N1HuW4jg((Y9Q45f~Va z8tdFXdPj#D=Rw{$c@8{49GC8V%?l;#$TtR|%|nQqw>$rEM;C3p1%`64Jz*r9@4%7i z>UPQpL`V=01b{;Z^$!c~H9UOo!#N`Z*tk(0YcDx%9HUvaAQf=RSP}J3--!Y*4{zgdSqQgytj+V}NP<)x+$D{af5`S68k7cy}mtpP0HL;QZuI;J zs6If%%7uw?y+-Of&dgX9I6zpRYU&M>``JC^O*&Lw+qLZww)beo(FsrUg!4v zBUl`_2cVAS6$;5F}40P^+?#{6G|Tu=HPFaiSC(VJ6- z1Asgs5V}_rx;MUBa~VjSSPhoU36uSlNqal_2T}#xwTOJBR&FnWuVLWXa#h=Dv>k1- zS)bNO+8`A-s{xBGS_BrnItk1v^Y}1m**kpH=Ee*Kxlj75SU*hCYW2AJZuc#a)3icr z{F9bES~xp|Y8-+_%G5&&qeycqKhX&72VCc}9u#IC1~NS}OMxv0F}4z1a8HrdG2X2t zxZN8LOiu6iBx-#H^NZ$#k=PbwZ>V4FiSSfJF1r6(kAOoZPGHT6|L5uo-mr)xL0AVbCUD|7zuS{>GB$btss z&RRYAx+1tdN)|6>;KybDkHO!oVT4}`wZcIwYxUq-FpfYX_*#Yoi$zmjIe0BCZT!r$ z(H9qSc%@Yeh>BN))pJi`;~y%<#*m8Wngt&ruk1yHNpmf|!-KH0Fp z=3BMgEAYtqSa`4d*sCvca+0GHZRXYXmw>Te#LrZf9kc(D_;NxN?eU#DrTu3jIIuc6*_8^u9Om`Ve?Rx;D z{Y&z3FZuZY$j5!*w@<;hqxSvu^V9V6GxYPb^z(D{^Yi4B$X6c=Dyqh!LYsASb(_4fuSE*dk%6688abH$S0Z0a+x0&>tOmiDw8 zjXEqi>>$_n`6DYNEAG3&AHSnEvwy$#{ur2=(SoJuQp>omO?FUm+t?)T91N%zwugGf}k=cRo9|003y^Xe3=@3lh zVKHz!MSr2Th5fW;M1y%qsXh@O1lQqLq8Orm>%DZvzEuk2b_^=}MZC$!Qh{ZxK*7y= zk^D*b*vPI^QlSOMp{+#7Q8MBHXZDsu6<_K6T1#`O~+7MdC$;Px!UvaOfB*MO;=NajJ|a>CMj zW@&yDJz-#x%J_tV_0GUpF5ZjgVp;J8d(igPa2LM@EY7BbG6ME*L@n*woif)d6#b%o4=*_&13cl037}PL4QG;&=oAg1a%ltbTT0H1iZJ`ydp{!w<>g}KtptfQLr}y#H?G+cK|HRo}+dV* z@{Oq1ejTATY)DE{3F)2+Hk)6Sa~?2TVma6pkFe-(H9rJH{T0VQCSN66&41u`%LX%W zjcb7P4G0^;!r+&E1c5Rwt;Vp&s~GQgeDDxWVwgNLFm9CeVwo@vkO|WM__TQ z)^c=c$&Oqf)->dY{0v+p8s6ObjaW~jeT)z~6rfIB?^}gpFy-rg zK3`0vi-@aH4k8tWU;C|trfu>&<7*R+m21rBbGBC%ggs&A%aO(|4+m`!Yc-6rHEETj zU12nNbB$p%g@>tm$UYT_iWL*mR?5uMy%6UUmF_%ub!av92DJ4#k-FNQe_?1c7jmM# z5=H6Gug6X1a&k*{lX(w{0XLZecd=EY=U2E^-$f)s2h4bXFjJ|b*hru6qz(sAAnsS& zMwB<0tav*yr4~86a$UPl&dHG7Iosx0W|M-X`4E{q{mgS_7IxOjQwn9IU^3?z2*(9H za#t9mA4C~Vh%g_3o7xlhJoqOp;}c>@2Ze7hgP+C4{UDflSj^O5@+lNWf@S!?nY_9U zCV!1%O$a9TINZi20KE<-e+ket29vDP{Wi|0JeYXE?JMA3W+3v&@lPmxdoTPPGY~&? zWM$#MqbN`Vu@CYrpdsUbpjhm~A|vT>!sD--IDwBfe-X6F+pMm$|AnM(uSSCQZyNlY z1{`IA!){!(ydY1xDo@Yy&Jq@yHY~!*5Pp`$r)%89R8NQHNbqZcjhIhz;lW@1veyuH zhvb^EYoMgSlV*Eu%iWMT-RVS^Hb_qMm%Nxk#g@FD1=@2id3noSzqKzWGCF2o2LHIS zT|+ppO54RdeovA+l*kHnlmq$X6h`O)ApL(J&X94P>iBgyfA2080p(VRLldvZFr28%QGU|nRm=vSn0cFsQ^ zRDzC{IyC1pZMyNfufGl#|ADFJ_O8@(o2Q-+!9Sprb?ySKz|C98W!}wXnQET9D&WAF zZkT$@ieyGsI0AHW%K2#lesn4=y78wxTJNE>CJ*J)oi{s`oKGT+U!7=uX@3>~M>E-n zy#;0xQ0;JmnM4$NN(mNVDJj6%{9#0D@Oz*3qnqyJ&Ir>xdC9_<9Y>l z(S6=(HXKMWWACsVU|OFrfW!Isz!^_pvbc#jzC}iR;^1!rR9DZ6?=Wi@Ei}2r3ljmX z*;2LPEPcRZ=|(!#z6Jh?78ub8b5=N=^g_#sR`-Jf4Kh2YYIQi$?mNBha?o6E-syWc zcZD(fb3#w%jOV-c3zT|LL)5LwWgeEqt?m1H8c`=++!uw0%hh+{g>VyA_VG?^e-&tv z9WsP!V~@EE0g}IDm?la`0YF|3rCSI2}~teiC`BP0b?oz zjLephw{<6EFu+KF6zvawj|E7{m?fbbF}aAtGWq|12lK#;kA#Yd|Km`v2XGMm-kSmH z5pO7|hSE0f%HGfebf{f{f1&}XU|ZZZcj<0AE7d%o@b-Hn*O<(lu58IK;I1P#@dcbc z!=d->I&ySXK7l1MP7-gx1mxox*+(;ztr|QMNXQgUZUySnY>Li9hU^by80s4ek$P8# zf?MjfpfYYI5zL^SxQwGtHGRa?- zm5XLhmt|#ZnW1AOF3d8*V+*r?52oIuh1n~KnvdDnz(4YZS?009((Fbomb1m#z#qYy zzwLWCY(2(LXwkqkcxJbD>^ihQHz9O<{*89rKT@FAY# zA?V};9)kYP1Rj!)YC0hc?T`ifO@#$^RFlzPFt2pinEvUwQLfF-2==RK5Yw8mkUWCcJh2i`{wWtO2~3ZPHM&2 zBJPO<($a_9)+H#UUD^Zy)j?l z_zdDNUh|h25&u^T5!fkJIT2yQ>fS971W$xM^1Oo+p|4ehjhK{!{oJY3Gr@FDB+V0+ zL!TmnS&koa_nt5q|IsQZLJb~jxOLE9pt(<0w2-x_{|D~MvW`Vgg-SD|a#P%W;ya=wKq66$ccYlwXH zj5@OMy4pX;$@!~qACg~KjeeyMF4z@}ng}1K7&*uHgeoE<rkV?x0R;D zd)-eSr}OeqJK~mCu{#md`mw-f9_~8%{r)(%Q5Ns?^j$gr1M}n$hk}(&`4dhp{W08> z@zm0vq43dDOCFZ=t>90iC=w2(_`sR;Sl?PC=X%{L&~hU7qkb93%B_7zvRZUIF4|S< z9UI&}8~o@N+EP$~Qkf0kASF*iH!c4T4oMQefUh!SW^<_Ao|HW5-OA zYftoTk-Nf-@cXzdz?obk5_in>c}w<(ec| zQnzm;?n4u2v`NB$+Xo3A^04d=V6o&NDgnMU&F&IDk{p3~3aE>P5qiJhmBy&g70?UFl zX8SQ(+Vvnjx@jmllEw;mZOS@i)L=i)U*U7nG0YGK96Epg3F zUe#1cZ$;*hjrkP-Qx#SfK{2VTdIl|@gOKzmqtq>p}Q8hExV4fv-@o`#zwhsDU{ z#APnOK|FG*BtC`7Ft_<{0+!_Jh&Y~q+T_QS;^d)x*68ZU*uMZ^zCE18HSeUDP{eyO ziyr()JZ*AJg-0JlPfnYx8i=YgS#q3^m%~k1I^>0HzXU91J<@X$0PaG_;%O7nE@h`p zBxBCV;_BQozX-y9ii<(+q652~@ci8ZNH@#}&+SUs{!u#-8#zBAi#i-0@s=ooryP(6 zsF3J&^4~cGZ|M;u>*PU^!-TW4>;TK}A^F^iT@KLR9+BKf<1_~tr*P4Mo#P>83wDlk zH`+a-Xmu=Qa7b|K`VK(C2+0#N#`}9j-y(7*Ix|Tp9S9!d?^$7CIHYft_zMU0BRwK^ zevtzz3NLwT6qbHN_O~G3VZo6M^^crANr$E$IXy32uHjCzzr7AG;)Vx~@`u{t?Y!a8 zJSR{e=}MS>t?&@sB&ik1<*sT4wvs1Vw)>9)v`p#h2})V=P~~*>EdZP;U4^oV9F7!4 zBTHA3F{h`io~0b|{!AwP#T0?XOc;mipPKx;436O+h9i}K+Af)YYVt2VA4)wn+3%g2 z49ny2ZzikdgHcmWwiqG+f08mtZc3Y^L^kbC-34!1f#*e#x6*oN<~Ok{w#oBbFojLA zVL!U*FWA5z-Si1QRGr!t?f&t^A-E|mRQVbqZ1z|qku$6Qd?0d-Y32=Gap!C1b>yb5 zG_z`F*rvJ1dwfpv%2j+UBlqo@$yE(KZXA84Ky(FFBW~EfaqP@6)He8^|ej~D*g z)nIWV*crud@=vw|i$qNElC!IHN`jnhA-{VkTW$f)ypt{To64~eZ}UFy+0~1K15TMY zr^U0X$)_mzJ?a3Ba8#k2UFuQhMa2MI!Eb#Z(flUNIXj#B7ob7D{z%^o`m}I|;4Sjq z3W5f6fnYz5bgBRQ5P^H|@wyuxC@yGM@A3@lS3?$M`_g!`027b>6#_=wkY6R*Qf$k; z-yh+v^s@cA=yiA#d@zoM?q^WK6E@VJf}5~B8YrJ^#y&~Ma+|UJzDLA}ja&y}gTEQE zKUE?2$6XVf9C!(1+>Ve`bI~24Zja6OEseUb;EdcJOeB>?_v!8PpqY&Rp8eEp%2xe+ zpeuvQgB>BcWaeZ?h~Hiby*k>sN6K0M@r8`g*q+dxU^qGVgw7_~JZ7H*|3vqM;-_NQ z%CZPM4I4xT@Tj|dFOcpFWjPHS0Dzhy04s*_^wY3!2A;f{;ZpLAo`$90a@P#W?nm_I z*F8boEAS9B!zS>Md>VFl$ikkG1^P{i1$w$MZ`pGmvjVRo&v+bjYnFz*pvI5%<8^T; z)7>aiM_!@lzfN;xmftN|1r>Ey*Eqr*LMWBjH3W@lNc=8*klILHV}=OaPaLOpO`vkG zrkI5@ct=AS$O|9r&5=xg_J;`=k4RQ|#pis%E}CeE+#2S`QV7D%L}^bb#vXv1GGu0x6l0&sFqW%tr1D_l*)9V(#SBT0 zI((e)d(3_s{;|pT;HU%n4zZpdbqFj2s5i*)j7J?#i63>K3sBzTdI8p(`u!1{?fhpS zK`;Z4^zgW=x%X9Zu%hpz`X>UyJF*b#_4%&?_-H`t?p0LZ2UwWaqXkc-R{R&ZwfmC_ zR7v!t0@03lQo-ktq-FZp(2cK#I0%MB^o#|0!jOL`;eWzV|4_m+9)eubhTf57mw5^a+*R-=6ASfg!h7A%AJ@4%A}E?68JqTU;6gC~ z(|~LK*2Oh*%pL(0lGWEp2J@fnV~@hvAa0*Y1Pt_oyR9N$lj3&tX|t#7s9HKaSiRoV z=wrS$*aDp}n%cORZr8cV1DIW$>*JH#1z*i^j=qx7yDg-biCXM8CwKZ&k$^pziUdrH z!Ns3W4TOFydxGHQfYzH)T|vIl85RAeG##NHzR~vB0`FvL8(}5Lu)s=?cf~t>R+48` z?+V#?cgP0)ro;w6t70q^>`#&v4n8cf2MqC7(dP=0$N3=76=Dks+FQtLw8&BFzzn6o zF$=VSbAGad+7W%y&}4WAebUfcAWij2LtE3HG*p@l*>Q(c9y!E~jXryb5$qNIisZiA z-BYbk!NVJ^a;epBl?`~f^n?YEU7soG6}#PXri~gj6KXKi^q-EDn4%b|kR>loN@Q$Q zF&(jxHDf#{KfuU6kPf}Dv((fNmz?d|WVNn4Bk(>6os&Y<2!E)R8udmS9+F7(_h;d~?$>8M({kEv%xuq8*>Ja{t1P}fuqn$;-h?2_ zP$u&SLb=Ihj#W2I=Jw|a7;k3HCbDnLV|mnu_!ECCqR{-`+5ETP|2;6i@NdTK*HC5? zX1}T#NCu0Z93f1zg?tY^4~4-GpaWsC(2LFdGcY2U#wk%4GxUMyF~dK_@xB6P_z|j?Op(#!zZ)~e$8yWQ(&|C^p*v@%K6HmwVC?BTUw~j9 zUBe^^#NV`K1bU?r@;n;nriap_tE-Zl%*htsQC%{UBG;IdUQYGp&) zS!&n3vCxAF@1|?i$;-Q}+8~_c@?KbXK3VsBlL>1Rn&H4{E$y}AuRTZGw{3sPk4)>_ z54`g9aLe@13Vuu8s0N%tbNDoQT><~bs6`eQ5iHFeh;k#9)Jm9 zc^0KDc__d8)zuluvjH&QW=xX-*#qNeGofT6XB|Yr5N5?U5f-s#A1WIc>zuO>u(a#}gbRUjWy&tt1- zUTTY;CXUbcd?$+kz(l13E4&9Jn<3%f_on@nf3S(@+v~_>9#&p&IwZiuY4g3QMQKYO z%6pT25e&|H*!2jEP4%WwG7)bQ1taq&$(W0B+6dFK2t1QRygNmb-8;m2{LGMdhO6ri z6mBi+z3?vLNx{^mc_KQU^zA%)k#YYZFv8nqvT<-W{s84ZX5-{C4=b;Y|E&NIr_HzV zuTk2Phbr6n-vQuM8xJKDv2jr_G8>nS*@&y2DN(#PlL>z|MNlyl#-aKrR%Z((qu~^`2CV|5xFU?zYaC4<~BSxZI|$ytCj84-OWKWIpCi(nd6B3bC3a-ej#fIJjw#F>Q@b8)Z|k z(Tz0iP5O+{vY@Pl%{`-9^;$ay2QRtmk9NL!bldB_LwHRCCW;U={P&d`t>UJ^!MD}h z@a~6d5JYy@XW)-LHtV`QzJ0&);@l5qL2jrvXnR85^tAtzx}7HMVWMxNZFP=Zx9SR;#6tT?fT8#Cmc;!9-jckcHg2P<%~Vztnfm7GOJ580dH zA6iJCM$5rut#cDzat|LfaVPUTmwrKJK&M{53UHoAapFeoS7xuFLnD=$yKyUGe_JJ@ zeJi0CL~Cz>FTu;)?BFT{wjl%{$M=;44lJ2uo2mE$ejDWgXErLL)gYp`WVj0v(eT!c zUMLfnN!W~uE4T{c8iq+gHYewVH?1N(JA)Xa!aE6sH<{rsM0lIGrbZ^2*gh;3TW}S` zwmA(fh?NuA?J5HMlMJj!1-1qR_Q4EyAp+aFHEW!f$?fw}xdm52ZiTGSIpIC1BE0`C zgBYU1I~j!c*$j6f!n<(m)*yFn-KrI~c9Xug`dNw3;`V>^uTAkwkjr>{ zK`vPmkid!XnXW|mG#L#~-=M+(rA23w~8}pL2h&hLcoEr`zRt# zii^penUkS!9t+_n$+8`}%)^SB$EK~RtOZnRX(KrXP7#peTJX&vWFTS&BK_T%!8$O5 zW8IoTG6Hw;M7vrwoQ^wxE8QKSbDWJfSALyBESm28;4ITnH)OBPK%752B2$j8W=F|< zkco`{AcA0JKPbEKoBS@=V0(+rfFuthpvy%|g7!mM6D%3wHNlp^T)ZY&`c0{Ols4?; zJ(G87i#{7ee7<4VEr}PTcg*+?Wsjm#Z$jL=0Up#QrGDpl@KU~F$?;!&qc@xSOsQ%e zG>WA??M9>CbXq&ewS70x2T>I(Fw)p}gFk*pZD#*|?fshnV+bbg{W;=z6|@BJM7>^x zf2^7VpWZC`{qQ)bX?V)a5x4@0m<*b6V3OKBk=cRoC$CIAAxxuE3Z4vFEbTH{j#1g; zKPhxySHf%>hm0m{QJ3KOztN;S)Zh+|(S#+DQe%4Zgs6KY>N#y7K7!_c{8f!kc(41& zao#{Ii?#8V;gjXVye47!k8El3L!mUfZwqFUv_D9|2yMZ87ecx?kr_zr>QOK|kr{d@ z%oCYmjw%{Dx#JuBA0(WgG-9qeWdL51xB9OE!{WS!_j= zL~c3aDO_HB2jBp709NXx#iV0LpR^>Ln<#h_rEo5kIJfB_M=P*C^(SQ}w=b~i`TIEj zeu(minw*a%{=jt*XdiWa4$liH9)7Pjva62DaVa<9oC8tKUmaZzi!ReBi)tZ6M@~>H zQ7jn+6@RqXAe)c(R8-If>s6%l_j62aMw!SWs_1boIhJjCv80E~i%}E_;Zo{;?+*p_ zeojzVqVO{aDxHOWC<>efsc)|o;ycHVh2v6+mPH|2rmP(G)Vk#{^Lmua3`*-Z3EhSw z%or1n<0Nzs%Ac}8V@c>i6pxx5=Qs&{9c4jTR6-JZ2E~$5P_J|n`Z3Bx7ExtMLO-7q zEXVRE6bkA^mWRH8<5E)e@wYtmHI&N?N|P@SiF1*s zQ8XFn=)$7VoXkc387Dlq)BGC>KZE?!r&BMZC={GVn2Rhu8LbGE9Az%%BB$YW=T_|~ z3cn|+eFKU@LA9~D$W9!Cl5*!}F0vn|JhyreqVRj7-We2yf_lSA0@r+n<4{s?h-Q{6 zn!9n@bF26P6n;-s{3wb-LB+ycTx8+e z-e=xk%teH!@X0sC*Q3N|(137;L;hGmuNz1h%2_@Cw9UI{Ckpqp%|}VIW3=05->b7p z4BlZMG>JuCXMY~5goGxsZE#b@Cb3IU_^6USEa~O#J5Uq}Zsr63eQXjdJ`#iKT*?Zy6l7oz$&%7U_}g#G!?p;$5sYF75= zrJ|B&tH)3#vWP0W?JURg&AeFB!{zr-6ba!{Dk%BR`A<;z83dKi!Y@%2I15tWMpgmm zuj_q@HAky}Ql-gb=33zLt_Abp**)+de~P+`woxCQRKUqC%bRCGzQ20y$@v~i>R_>qoZ?z?|Gjh9c-CG%sPaQRA+G&jnX z`*Re2Pn3HMMWLWvVTWe7z)29s=W|Jp`hB>4$b8_ z1|`SMw?mUvy(OIT-0Gc1;rB$n??X{2s5jg?VLLQOaU4nt4$&y?&}3EdCve(xtN05j z{GO=zt0)Qu6$?8wPvY>E)SG9ACaY?n$LY?k+Ml8Dd!pJGQ4|WQjqT9%oznZvn{S6E zt9m!!l;>9O78HI@)O#L^LP5RAI?*LKE+sEM{?>`!iE^1iY4X(!aV}z@Xw>S}Ihl*h z;DqOPnh&AyGsr)EI&~L{LcwW-xyb!Ed?iPji@C_7INiBb`veNVC#wAi6orCnV{?&z z#xW=RpYZP*86;Nnmr4({LP03J%fC@?7K`oc7!*-hsmJ ziHfg6Q7EWbn2YSk;VY?kF6JWF;dJL#?Tsk>o~ZVA6orCnV{?(aaSTez?ZsRqQ@7Yd zDDfFIAhdwVyT!b=AYmvc7_?jLJLykz`(5ZIgEy1mk24KA&C&<5yz(@v-h@81Z^BI( z`_P_8;iKl`VM#BXe}Y1sOb~X)XTANb3xPg^@~14&SQ7dHibqY3bDV^JjZL%bx)8_=sSY9mYdE!D81)e9Of|94Y%Tf3lEH|BnccCb77Nn_8-13>i5h&%i zTw6X~kWH7&`*6bLOHa}WE?4eR6n;;X`!N)Sf^vl|pU>d%m2{hD%O|U9zlzhHTeVN3 z@Oz@#@1Q6YR2$p!`7w?`NxAv9e6p(dMV#{7>g{_?&McW8eAb{S6x18;#jvHh({UV1 z3J%dIZuw+Y@p(AyxmA1#3cn{F{0id!pJq zP!tNPjcxgS0>_}F+U{u3p`hMy zlECI7kK#C#6dazymcA#~t}U21Z}{fU^__y*XD+5s2s@4ZaXPdGY=-|i+_VYD(VJ6-({ax(P1h^! zs?i$rUjRQ=)g7bej9IlwqwHAqT4}OfqhDGbw-4SmXjMA)QFy+ZyO_RsuncbJOWzGJ=&-2IjkU>>vI3(BP5KiIM7 z0~PK%+1rZ?!yO{LvbiyQvoMf(o&Rb;=sQ~ow?>6mu$OSx-2HoW^6GYYpSv%VmZq1> z^=8GYO=(VD(+8XILh!?SRckcsWuw*74qJ|?>6&9r8>5Hx<_rvkG4N}pO@*n!>%}IF zrnbA_c<;J~w-?Sb7M6T(LVbYO3Q=o6NW$Fs>V3U6==yq}VbFC6UL!5)x+1w|ao60z zx9d%P+JG0mw}PHX{t}byU0q4m1ROx!pOTwG+a!&UGaPcyo9!E7mkRbRv1?JYo!U9B z6?Qb6`pgy9L1S1O9o6VxT742s*>Wr}Sk9#3s$&|1;6jF0HEL7Df?MR0#$I<%$CKCH z55nv2wL=gh>dhjRNx^nGa@@qX+5Tl$BDxJ=f{4BdH?=3gM;2%W?h*dvGXIbx$*O>T zKTp*_D2+gm+!dzACj_|BhbM^+@+ptTzoj%L59OO5-35&q@0EeZkw(=jTTbVw+YbR1 z-j``WkmF;t{UiXk9|t5Kw$BG&^rGGc@NE}y&(*{|ISI`lMg&COk*fXZraLu!%r&!P zCQQJh;#iIlvsD;@hU^DY1Wbm0z|+NN>CjXMIeWJwI>^-!v0FydGFrq-NO;!3+S`Wb z_@a>~J&p5az|R|IvQ-eGeIx%3B|2v0z7E;%Sy0-vMp4P1|T5`o| zm79>WNKG=KPgqsUnbD?oC{DbvP3sY`^_oMg7%|L4vLj*MOA0Ja1QpJRcGxtU22Br> zRt-i1pymu56=*amP$-dV+-=)vEu^&}?Z8!2?qb6y6FR%ZS3sIfqW;wlsZt%$;su}aPn&fxVTaJPQH)Q zm^@V3$qxYFR3{H56mfDPR1{0581|+V8;Hd)9P0I6UcNs=WIW;x zB~@{I0*6}mhTcJk+Novy(%pvBZbI;(MV9vh@yInMv-`X98^4ghm)w+A$VVoYBUeM% zC6h!}a?vU~Uwbr({!)1>Wo`SS(`RJzu1(;FY^eg5|PKWO>WJ z2LRC#_PylWdJR7A3%`8|z8$sir=OpupP!+hpQWFlqo1EApCBIdTIwM~_T(}WZagl` zi=&GgX5#8!KdG)@deb4RaPM~C9$zsdYgeU7!>CN?<%5M`tpN3!w@Rp`uh0#5+&86< zDyCrVn2UEg9i4D{5ln6=r>`*=hTN8-+!oAAaAEI%TRd-G3iQIx@$K3TumabZDV87^ zK>b@R(GXjz!a_+=INa-x^xhY7gFk*pZD#*|?fo$@HKXMil~T*Nu5HxH0BaY$u*d&< zUoX%SyyO+p@DIF97(OSfb)Ed{zn~Pp!Fw#>lfLp0{uPm?5t$wM{t<1rQ)=pmPY4v# zdRGDsvs>tdB~T|_kUJseo=KUlX_ml==w!D9Ynmq{+%pMF?D&L$Q_@2hfx_E2DwrP$ zQlGmyL*fnAy)%tvRp&U=D|}%dE#L~~pPP3_>YZSN^LEJIBjLU7-;7-YGo98LgtJ5S z=Cs~~wWqN+*URl`s7hL6ms!qR+Y@8c?W$w7tSMMk8Z{c$C^006e`R9~$`GSE)@qhB zY*!W=GutcmGK5aDz6JA)4AMy{96IKymqX!a-W!ViwA4GiX=ds;ChChrae1YkDC#eo z4@yOSPej!AMFfmT?q3Du?tKD^qZ7psUZHj2f+va}QaSgunv^7s6U9%@rF^3JneADT z#EwrCKfNn{ytPpN4UZ(P2^05M=Nle(jt4aw>7ihC!8K@Iknm)!cfd^h?_W^(eU#C#0p z4>dU-i*z$2_E3}0pm_Lxp2!{uD#uIty!16gUe~-$ss3o{r;E zik5S9bW*A`dCWWyiKsr<(j^txHgZ8Dm1UrSZ5*LhnTRQx<3}2^lCJH95|4 z5}H9-P!^Stgg%5~$tb8-Itks4GLc18S(4BLbAsj3yjarn#1kkAJWoUgB~Nw#fWpt9 zj&v6O8AXA!AWe1RY4(4^5h&%iT&LN+td%aAg`2QC1D8w|<*r8I_e8m;p(t<`q{7 zDEtiaPoGYG2}PmcG{Riu8#sI=N12Pc$oFu%bF20zDEywN_LnFM1=YspBJ35+~Y_Z2o&@2}G$uhwUs6rAN z#(oAjWo#IG35Aa;+{2Py>JFTVRx9$T;RFADY#1BD<;D3)_C}{!Zx~w-M8`}{-uy6z z@`sw7k43r}6Wgo55XGZbCHG>lz6(*k17$&3RKi|;3B{68P_wdEFBO%%m8*p^kwsL| zT}nBYoAY8x50`hKC=x0Zsi5S$ai2ipXAo363tvD{;4Dae8(9(jDvnDjTF%jmpj2t{ znE5oyWd^0mR|JzA#-2wJW{e5K+Tih&g#HcXPg$U`B=j`9Ls2NGSlFbw5r?m&-aMN$Syg){ zPIqqA-iN~PiE1B0Q7EW3wn_6ijzLMe`8H{?s`pu(^4#kEAqu}I>U{x4p`c!5dFUk^ zmy)87zvZEo1+3P{pfvgNkT@6Fh@w#|Y35`uvJEFZx6@pV!p|W8^y$=Ow|XB#;rB$n-$YR; zs5hJ>u(`$tb8<+3J^yO5O>!bSqZ!Wf4_$2V0J1LtZTD;c^R#A|YH#1ts67Jr9MS zK~U)|T!Ny&S&;fRvY_}59G6nGoTCLrsnX;z(?Ge*pfve{VsgJ(3q_bQCJ4Kwv)*sk zg+M=q@~14&SQ5Gm#iJ(2IZi?kpe!hhN=QPFqF6Et>XlAHPoYd?5mlBX^xT|a`DtD( z>3QN;C<;7JLJbqmkVSreqQuo^{yvmi}%;vUawI0B{omTQm43$p2wIR__PzSbm- z;Bw{eK;dWbwR9G)LQyCvSJ>m(kHc5eZJs@ztg5{Zr#rW5Z$#nuM76i0C=^s1+vB+# z$DpL#e0w}u)%y@md2aPSj>7MWdY?j3D5y8wd|^v-&*3Vs49K#Euoi{i6V+}; zQ7EW3HW%53V^C7=+{{HT#VOD2xqDFfJyEZYqEJw8I7wi0kvfh;Nx>nSS)PmBg43Q` z#UDlC_e90_pePhnEX+k7#NjKccP{24U&rart=eZ$_&rhW4^R{es*TM>{uRfdq}*Q2 zMKbl99YcxFpaG$YOx|zibpr`QIl-X)W`CdfV%FbZDbMgXE-jUXgNoVh*G7=W9G{!ml>2M zUqnpqFo%J5GE(CfS%Ac}8V@YTf#gj3%3d^!{oP>6uEGUagNJ3YkSTYLg zl}uS~g%d7cUy?>}xpJRF;rB$jKSfa}C|B6m`4tXdNw<0Sb+W2q$D za;tVd3cn|+JrhNtpxW5J&N(;+CFSPZ*U75h%W%qbtM?ideoxd}Mo}oJH{5VxOLN!Z zIFu9|qEXz}$*SU8aoTgM_)ZjlPgHy#ib6rf!oJQ!ID94b=GoWDs@iYhbmvy>vnc$Y zsP=~_3I)~1_H|ysF(@fF-@Z;(_0HcmySaBI3cn}n-H4)4P%pAPbT*DlNzupO^3cU7 zml>2MUmgC>s}Q4|VJBg{o^!{IAA%3RDv z?!oEKt=b1s_&rhWV<-v*)yC!`-^4K}DR*w>B0s<>&#m5nMd9~Ey}vl@ac^6K1Zq-hS@b9|w zUGwOF=4sb=3g+psi@SM$rzbjYi?|{v6m%S$l-z=2P||WQCMB7g%|3<_pFsmc2N~Ac zBn;&QgEpHzC3*B$V|sGC_Pfw)wocAm&}x?SGfN>~LKT?sG_!}{ri`6t-$3D`2I65! zuaTccQ6#vi5B&GB)9lB%yg0u)jylbLC^I>E*Tjn`f2hg%SfpEYu}%KIb9!HW^}LA&T$fY4rM`ER6-K^DT*bdpkC=D^b*QM7ExtMLIdYw zg-x%ptj~)jJx`p8qQLV+R8aC%cMb|agP_t`*ny(JS&*hWad+n`9D!1P%eA}X1=)1T zlySo4t4z`eE?4e#DEyu%_eKXD zC##A#;h@!2T+o~ZcsC<+A?3%fg);qaCGH_z@)R@Lsq>CUZM3x(ek)gDGsD5y5J zsdFoiK}os!Hg&S9_v1L_xz+nQ6n;N>0loWmZEf0MUNXxlv7eApbaN3=k{_C@6D zsh7`()~VWpdGm&E?vQT9K6A0z58VKK>td|bb@b+x;dI=yOVjmAyK1z?8Z%9!W*i=? z>W)!!#<)JPcCGAK^;)ar_BD-3tJ1M|0AhDB{86cwJNEc|=-x8Vwx@xH2!XrIQ+Kr| z7-#ktxKAgolm+wG=8FbTmHCpp$tR)ckx-P8V7?68{gx779JE(AF)1SnBC7VIV5HTU1` zp%^rVLDS3Sdb48HrZlHMsB2V=dR1#Q>t&~lqqTi(tWvj%_2$&rw(;V&@ondi*+rvaRgCE(47;E>{@UXB`0IyhYhJ-z z=a%PyGVZmarr=2C0PXHFfc>)3xw8{U(H-fAouJXMyPH^D(G;lClih&WZ@X!AYzOWk z_S+!$4%vjU_5=uY{xHHWvua|`yd@J*{a`ZYM)z;Vu4x&~)|k^Y4%M5}degCLV{fjP z+tc7;t+C52=dJCDvFUczv0BztO|OoEf=7vIQ7MjrZyMFHR;aGc1lhCu;?ULThj)FJ z8RkJ+kQrtEu-HQtm|gHE6UqMsl6hNBHYCEQ?-#$Oe1gWJenBqtuzKYeD_<9di__@) z#WJ|5J&`<=_Y3=bKzUZbSPg(v{UVf5#4khv$^1ex<_~jQ2Gh3)K9dXllIlBImfgF+ zcf$k_)|jQ>P4}W-?13_XrUfrkNG!iNcqtT%PzUN-tE^Y`rdB9J;qB-(C-jcN5WH2> z9B{Q^txj(6k_l9wjV5?s4JwVPL6Uqz0z(K|2tju=eQ?S;WYn}q-2x;&NNGw!UuREe z9P3Hq*A?B>)@@zQkJ^?OnHNLa%r8FiFRd&|>065iILkUHkRTPlS zStVn>@Max4Pc;jQ9v?(m5kYv>aU(*ax+g6iv1Kn zS2qvLjSU|N=46v|gO3xy`qxKoG1(A^&3wz7+lo>H{hTE6L*_l=4VmKG_fjk~7T<8F z*L$?zn_>QP#2ZRh#rU;%*(zn(8|u=bcIq--|8B!+H(?*Z4?N-DOjd8}N+bRP-eu&b zv<1A#BK-fcLvz}&&aV|+qj(GN_HAI&uy}nctn5uts5k-svR8=?jVyb)=X+*!fU~0mOw+!CChifFDHil?)<@ z+PMaI{dI=B5JA3nYqyb1Cd%(hMHyTLQI2|XoY>k)PNr@b?_hz8XF9Aqi?WzPwW`YoKtye7sn}NZm z5q{GGZ+j)!VP|O`niisW7QDslC6j);K_}84VBbTwZpiYseJ}Yov>iU~3%`8|z8$si zr=OpupP!+hpQWFlqo1EApTLNDEse87_T(~fH-D$mUD;}wR_#d9IN}tYdZpfR2gpCA z8f?KvcC+71_A#fenxR4d*J?U^h3(d61*!sX83tyLeouuzn=@C1d*O?&CZPTL$@_za z(zAdkJ_Vpb(Od~;x{2Je(HwzP_ZryuzSSElP^2en=srNY+v4Rp63_OU^*25T+RI7R_B)f{cuU^WE%xu8#X zO&DNC150XwDfxT!+|L^OSvR+UoQC()-jG3a$Xw>Bf%398!o)hSH)V9XWmu!-`gEgS zBU||%UxW$QAEA*Eutva*5Rfe7kSxHw-(B3Qx0}#ZVUD;bJ59aTA}bK}S_$gXDOl`p zk+vVV<lwR8DAcQ6=ZRN&7xG5PuK3cBb}b4os}UGB2rN)?Q`v&&u5G90pN0DV5I zK>@I?QEe4r1p`(uYn6_>_>buRUFZw$;(FU@w4Kf_bLB2~z+dmIHv!T>1$u~J*J8Q> ze=PM7mH^8^_;b+zv)!!1U(20(xkMUs$giZqh%UKw+><8jbq96|4erOw=ex^WP*6h& zUOF-f?GzojvI6!ptVRjsOj{}dPW65YX>&=o0aiwZBLE?neGBjze^d!we z>7!6O?ndDk0fhYl@Edo92ba+h-2Iy955mpvD#8QUTFV3xRe`6DyS%E`rrP?H0TPF} z=q@m79d}LBAPrEZiqQZ|0W`4l3vyTt3uKePCP>7pfUQF7*pZI8*j=HwoqCB~au+~L znY+Bwo^F&v69mE13v}%q8e<5+mGlZVZlZp6snIgp5UP(%6O&p6Edj8C=dHT?cTy`U zJEcR=W&<4;1Xc;wTl5KN6$`2C4_pJ>Y#A`q0%xFp2E&*8!%CAD^vZRJo0D&V1m=p= z7mXT$RsoeSg&l8DmG>u@=xX9$U^!6>O+niZ~GwZ&c0Fd8Kgir4Bxm{~@yOz1#6 zaSr#Cpl=E;x1hVnG3zzj4%Ttkl97}E7+G=*=y?N=>$pqc`skVC=Yl*}G$+dfcyfh- zKPvza&Z-lWJ!mwGmf=iN91sA;OlP_}M)IIO0bW#b%+BRY+>Kz9)1}ZoLk3E%2Ch^E`pa6R1FCdg8~nNjf?7lW_WmqY>#*VJiFRYzgnpqi zq*>43K+05vaQDG>15m60>Kw}f`FnBTC|FOu41phPAP5X6kx@X>Y$$X%p; zhh{T+-%)zcQ9Ax89Sh~#>5%IvKyw*|W{#Ryf=m|s4Xv#2Q0#)eGR|P1)q+Z`^I=lm zejliSj=jH_t&Tm|RcKg{prP`yS}iai;?iitUi=Qf9}ifjwU7B8)3DzIRjoZiKE6ag z9wQ$oK_jlco_st@KE6vn{=Sd=Nj|9LZzhWPB>8wA7!T@GL1uJ7Cb7A*CAP4dOBELz z8MG}D9z99fUnHD9Og_wh_?RXicMihGzb7B%rSM^rkLAQF*N_ilm9);JWhE*lQg>#O z(kEwKN~N%KwT1Y<>ab|z6d<+QU3u{VTOjBO;bNl=PaG|@1b`iRLm+szu)oxOTdDXZ5 z3t$a$8L5_`=N{0!OyRfP<$O9M@rwpbSWqJJg5bCu8Wg>X9U>}?k;_R96x`*d1^x<2 z-1I6W)9HzNHO#m4;>p6raP&X~;y{3v-gHs~K9sXfht$t&MOgkXFpGc+tz2)D-UVp2 zEZ3`5FYQ5<-hYXI{Z7K`zXK*OU)Z{}1F~At(3?=d_*(Z6hXosd*(SQt-KF7=G+{2a ZYUOIXLK5^8DY6DDq_XsjFwd2X|34PdY5D*F diff --git a/docs/build/doctrees/msei_reference/math.doctree b/docs/build/doctrees/msei_reference/math.doctree deleted file mode 100644 index e37e4238a2c86628c5af94d09e4b8fec5228e9e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26439 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 PG%0kDUY5kAUtj(|LbgBX diff --git a/docs/build/doctrees/msei_reference/model.doctree b/docs/build/doctrees/msei_reference/model.doctree deleted file mode 100644 index 6f33e26df0100ae11f597948ec3187ea708fccd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69254 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 VZUgPo3Yv(C1`eov>|q)?_rG~RUOfN+ diff --git a/docs/build/doctrees/msei_reference/process.doctree b/docs/build/doctrees/msei_reference/process.doctree deleted file mode 100644 index 90561f0eb2a79bd56ec7ab71a1c19be53cb52076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112356 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 btgAOGjb4?EYjb3XSz9Fz8TVb7Rh#^Odb=OM diff --git a/docs/build/doctrees/msei_reference/regression.doctree b/docs/build/doctrees/msei_reference/regression.doctree deleted file mode 100644 index 7e1bf0ac8a44e24310b9de427bb096c4c431f1dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31131 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 KWF$o-KmY%1tAz{z diff --git a/docs/build/doctrees/msei_reference/transform.doctree b/docs/build/doctrees/msei_reference/transform.doctree deleted file mode 100644 index bf2752706816f5b6201d5acb4b268dd087d066bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31178 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 CM{WNA diff --git a/docs/build/doctrees/notices.doctree b/docs/build/doctrees/notices.doctree deleted file mode 100644 index 15261d0edb7cfcc9c002d8145251b2ba24aee541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14958 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 Sv_fWZszJ6tHj~mdul^qdv4iyh diff --git a/docs/build/doctrees/reference.doctree b/docs/build/doctrees/reference.doctree deleted file mode 100644 index 437aa8f123eb45337eccb3616e1ae177f1401bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2807 zcmZ8jTW=gS6i$=uW_PofByAB=8z@4ht!T0c@ql;&fdnWbLKRf>p|U(P-nA9ac-J0Gr!yLmg4Kq|mp4ANoFN1Lixv z+r)Y9ccmy;ICly418S`niL=Nr=CdO*6Jy^?B{c>@{O%MquYdJ2SFRQbO)oT?MIGn& zES<-#z$g3xAM%HMhadajroS4d&D3gksdP@Y6~*+s21PUdUf3U8GR>W|!U&v~C#)1F zqG)oSB7QTi;mp7O3BwV@{=al+Ph z(c%CWck04dk)b}fqgoH4r6Ygt?^#U?BP(1?pIiH;S{+ty|Q>%2q zBBN*$OY;(o{n{acmkTTh&C+R!)d<*=*c@>ejyth%*TEmnl(L1gY;E)GjvvLTfXb7_ z3@s8M85?k}Bp`MiHU=gi)Dk9HB_UVBaASt@mWCu515!`=9b>H?@iLo=E~(npC>7LyA9_^~K}5y4ba8MK1$J3Bl1 z@&qj${KMOuglVlb;k3vkXo#{Sx6}qdsgYi@(y6Qjf4s4?VS@kV$Fu!^2nzHwkVZh zWc_4Ck<^k)%*~pg6Osu-6B!d}qTE~d1$u0VWDGi?9$uhKqehmq%fA~*NbFff~T-fl_!4p3&SxMU25R(~3NkS2O> z)AHJKRh%k4p9X(FYE}V2lUSCcJQn5XL4NZ1voC<>SkKZ8^HH)g|H;xkI+aGgUNC(s zn4MKV(EU?xa|vgCOB1wE7H4$NAA^uNX?wFxfS58e%!6n;bP7uK9F};s>u7H ziB}r=-Jz)sfVx|)>m`vYrS-Mok5f(&4+>v58&Iww#OVuH!bN;4RP(+W0=OI?!955L zET_UzoD;?+8+sy-`SoSv}Kk{0=KF;~T;E>RE#31r@U4mhmLO9$86O$4)gn)wwfK> z@R%4WUM`?T@cXHf62Kw{Tp4@cHu85!{%v>x_TyQHKEgxHpx(8^c5vJh@3-QrWc$r4 V0~DFZY7MeD+nO;DZ)=yF{tx*EUN!&# diff --git a/docs/build/doctrees/reference/index.doctree b/docs/build/doctrees/reference/index.doctree deleted file mode 100644 index 98c1166a968c1eb39b1641a244974c6ee6836737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2829 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 diff --git a/docs/build/doctrees/search.doctree b/docs/build/doctrees/search.doctree deleted file mode 100644 index 6a3c30a1ebae45f888a997071c8c30cc50be7ac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2852 zcmaJ@-)~zr6zzFqn- z2_7a<$r2AU|1aOU_a;s9K&7Pd@$vCFpTFLcoW%9*x*^+J9 zc^#k0ZfJSswOE=8yY^l^y-kn5q=U~L|R?f5f*G^g%H-j-xF07c4PZ>I% zPiZR3eR*H*$p>;v9*0+>S58X0Ln{n$^KKiaf(2agj{>O4W%1Z5(Q&_KuqEJJX zPXua6#0dGjQJwe5RY;szhuR*VZI)v|(M7R*YIz}-LF=C)tjWL)J@ejhp*`KtoN+oByp z58q-|Xq6}*udC^|+~)D`YMtkHD*R0_%Hb<{EMEZ6ZR9fgzg)<9xa3?NaXA)?(nGHX zX;=_fIUzx{%*~G)^HTl0*mJAKvC08wx{Bl~77c&pi*UzVo;%G+NUX4CYK5!$+w#V9 z9nUtx?%YSD7?za&tuRPROX^??E$q!LwI;%j6CNa;Lh6U4o=UqDYjO|v0J`6~E+K|F zM?%|_z9@Y>m;2|TI~BRG+#4G)NI6vHc~)T1t2boW{K{QQw<{k(y{08@G_5 zy^7&zVvNs?7fX|8w?dy`pD z;%neJu#;phJXvnSe>M*frE=oyg|H_|_(`<~)IX9w)7Y%*`4|#Py^Lo&;TVL>*g~6& z0+=g^A=lx+UFDw7m{e1#@d0_awISZ`Il2ScA0 z4JcO-V)aE?U<-OzRF8$G30#9cCc(uC4$Qm45%mdIj@SHDM o*HWa%z(oXSvav{^ z-z%gb1+Izfa5sV11rxY!G{X~!x@?v9Ve^OqS@opuY1d&(7M)=yogC`k4VUqD>Y9x)14v0(*yy^>3L17i4{XAYyGHP0s!5G?y(zq{@oJ&BjJA&c8C=Su-xYyDJg9 z^IfY&M=SBsTdk*Nes?`qGlMG)9V0O%^#fe1iP0Ls0zzCFoo^fa2NeH4{sQ*nX#^eN p<>qkS^@fYav10Bm%+-M8VIxo;hi&Q&Ya74zB#`&{`__KO8MvaZ7yUs>$4=u zbi!@$TZxW~lxHry4G(`0ufqf1Htfvm!o)oIE6|9AREgnPcolqy)SXneU!QMT9y_VC z#c|OPP0@N49*DMYIO!B$+44s}IOcfw`*HUfKjlj2<<+DQ_05-jMt;0Q>rJTqYvv5z zxF8OFJ6gCeHhi=8dgwQm%y<|UBj&f6b4HE|hiECf4VhSqq!lY>Erj@PWGt<|wvr-W zE=DY#8a^hS!nYio&{h!p;luw1NW@##=I{Kz^u)1vgh)5%=`2PIfC318rxP7~oBld2a?VSj#u_@*}g-+f;?_Tv2=o2R=;4i+Q6s13Em=Ydg){60%kok{BGUYUQkS~cGS zT+1HtjS{S79lxGOyR74i@uO0)r^mfyrQ^%n$h5EasbH7)SAen&!y8qgC1B7R??%>w z1;itNfO&Z%=r}fmdw;772ihB&9hPJJp2| zZkb}aT`voxu-bDvj);?J7Z*3+p*au!`dDk1ff80WPptXP+=a$ zIwjh*FnPO@aK%eWbS9mM=FEs2>jO1a4*jm-xi&6RRLgL3&2I~)7R!b|l!LmeggN&1_u>*vwOs`mJlvaX2UfWqSA^!56%IMO8`O!O@OaN3qma`z5zQYQq zqov4Slfc$qQlxpbz#p<&3M8Os@W7D4{ZdjQn`*xl<(3zq(^*P*I^eThTOO^REFluR z=oHUYh0pyck(P}V1yXz2n)d~IY!|^;bVAu=FuGT(MPsR|H}w{M;S#))Wh3&8tR<-T z4kiuMsagV`htynvO*R1vl}x1z-yPidot)}F1L>d1Bh)u zKX*cBeQhR#;BS&<=>Rk%$5WKYp&VO~_wIf61@hT3<9N+HNtWh6nVUzaGQ#VWo4(|3 zT;7519|)H!T-J7MgceGi2q#x$p<}JacRo2{{o8KY({rX~O-k zrAZ?Cr9e|#B?ozNim8fG_e;; z)SY~Q*-AojiH^b~Y*G2@)&+%J67MX; bW$|`o7ONs5uuQ0K+X=B;O$hXE7o+|^pLXTd diff --git a/docs/build/doctrees/test_reference/index.doctree b/docs/build/doctrees/test_reference/index.doctree deleted file mode 100644 index b83e255430cb487cd0d1fc1cb0fa7870428a0bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3166 zcmaJ@-ESL35Ko)fu@lGnXp4~A^h2mL6?KddLWm~>6;uTLP(I$O)%tGjU9xw3>_=ih zRDy@1M%pL3{J;G6?tF1fAkrz`+1Z)dncw_&esBH#V{fhe^Sh?tBA*@8G|g4YOz@pl zB`#yR4e!F!Kf>#9Q^Uq#pPm5lT*zmQOEgB zOQ&%w@LhhF_xL@&&JTSu{Mj&VhE}sPr8BCn$cNACJeuLR!oG0hVdkV2M&P_0utE$( zUSE2M_|342dx#J%fxjvrLy@O!cB~CK}r8dN3*HM{UhXKWRI?kOfn+{BN;_LXHa9lC-OwPluZQo z0IehbCI5;)=il%b{5$?VA2Hv_=qyDFcsN-HQYn%FAHelgs&TmRZ7$LjU3lSlYGaL{ zle=sT1f}6*&2N=WXH+id(A`2aU)I&}kN7A2kUs;uHh}0Mx`i(z#qZXD8k}od6if%Y z44!y?aM=mb4jPU%CVW4pW6o4w`Ek+T4c||kj*LPY{^%_v6_5CiVHS-&1xfBVtT)jr zw+y}L+rLohP|Jok+sfI(*)Za}Bj25}oM~#6Mg_YmjcK7-fyH*^kig3+mRt4GX^GVi zvQHud#a%dV#nR1#KbR5fas>fp#NIJ5dAE`<$w~=1 z7nYL+55i-8peDwV?`c*jZHZ)O4C%Y+w>Xu}vgP;LOdxBPT4xqYE#FGn*iGTCe@=Cd ztU*IFnnBVSQ>Ly`YD@{1sTmpzFJMNa) z;CHJ`FIj1oR)RlV*;z5c|MLCH=w$$lqxY_Eteo_F@d5yv;mD7~g@WIaG@m*;Wk`35 z^-VOVzol8CbV|_4fC=10LLK>bqVfsuh;)b)Km`%Z0&n|1bykr}k-sT`t)0|m1!?ey ztd;@+=xIDB(co?=St6{3s4&c>ip;Wzr#&_+lwoA~WC@YPk~2I`6+U;t)`pH{yht78 z=AtjqV?A639G#a<2BSN*8d;E;e=q)m6TFILBeFbNOHuD_&=2ZVErHMd*j#{3J_QP; z$b=0)>^<@Qf)$sqV7y;1O2!ni$IkHYb88Fp#c&9*IWFdwtNd8$=`i>^QL_vHn#8gU z<*_J72lBz=k3U5|`+AbBn2(Z6^B*qEqf6Dk)}5rawDdQ2)XckW}aI*BV0_m#0T(hNELD4GjVPpzd1CuL85Mz>uO1)N@(>? z_``%##Dl_D&4w(ODa7ehSHMM_$V$eqNdV6SBp5b;fdwlZM4m8iyrL(v2wtgZ)rxU| zIt{=K-jWpkJ4XndF$*Vm5@?+gmQf+`He(tr$Ede{zaIYpRynCS?ZU6K{45S)zEg1t znio*SXd}=ZmRPE%4BUhvY#%`ZS{5TE_#4k-oY(xp6=^k^K@4k?X3>r07f9^uz^506Kf?c%_l)0JE>?MZClM%lbPtP_B=+P&uL^TnQt2Uh6gL|y z+0?&Oy}crAw7XXk-%ga2NG$GvCu8&L zTK*1~e-mB;{g|E6N0@dE>RmZ(h~tWQyAhWq+pgyfKx7)LwUtJ0t7#y<)^2?K58#{f Ag#Z8m diff --git a/docs/build/doctrees/test_reference/test_ar_process.doctree b/docs/build/doctrees/test_reference/test_ar_process.doctree deleted file mode 100644 index 225592a4265e3ff2d489da9ed12fa4735fd49fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4555 zcmd5=TWci872cJ0B#kbkmDal$EN#XF+YrFGO-*;rR7Krg z?W$_66mUo$Y$B*PR|t6tfslWZK>mQi|0gf`PF45ZR*E0|62U;%sZ&*_zVn?+>Gz#K z{d@0D_;b6a60*EJVOdtHj2rJZGL_Z^FRlN|AOFFB?vGqovlm9yI_2KofkrB1o@rkC z=ic>5-OAjYH0#$5Ppwqtbh+q=HL?EOABnE(SZQ-UH{}jK__+TItx|4G{}XPkEGPYE zbs4rWp4MU6y-)Zh+4C*hU-)S6TE$?U^3m&Osf$Aijq?iq`?__wjoJzqjx^ruzaiEyFF3 zfD{}7Pq`nqhor1bMm#aBsB)ei9rur9*)LR9=e$okC#_;*&9QfH-z1;vEpF(=+L`sN z7H^Be9D0BGj_AQao)3*q19lO>ImD`~CxkEV4ce*kjTgDq;K!g3fWC*YNngVG2s1sJ zNrG2xtruwjYKzt)3P;C*^0at6ET*_5O0}^lI_}|(sK!uvblYqb8bJ1Ek(XzJ%x4R9 zIC5Jsc2I$Mbf()O6G9Y(F<+od_p->Jn2J$S*uWBy{DOP(-%oMMvxfcu*Zw=b8ywgT zNH4?u=w=VKINvrs1DgFWpf?EUi1G#<|1!Yh*Wx*$nat1>pCY=W&HKS-O?B6Vx{LU4NbIC$dLv==z{yV*S=v-#}mPZ{MpBz9o#-6kQg zM!!Lo@{5dKibx0K5dwZml zcRvz`(W|ik10qadWQ_e(m3F=kw}li1u}hwxXjX|iH@K%C3Z9<#tzfp#%04PYgF@DCl6iluRnZdryKOR~|37Z0|2z>1guerX9}%?y!rvkYi-~D@ z!CzanTJ-ACoWFy!SE?)IrE$|qEPFar1(T&0|8(o1g1xFxwEu&?^myqF6O(Z)kjAIUz-Qt>;5UqvAHN*HnBuZxcwaMo)=%V()M}^wa)Hyn`6g ztTZ{JR*xEx2`WJBpE_1qmiyB?ZnM?l8HP2Tch~jOT2ptHOnb5IRuX$Mx6vSiW^@k; zAa<9aC`Ci&-P*5MUZYKE)16yWwXJIF&&2MT>rQydHM2-i7-WoaLd$}|Ry;7lDd!k& zHp5!y80}ENQa4AlIJgtN%CyQgr}jQIV&LP0{)cKrTiaVPnN(aK})GJVw>yMc071*5OU(d;$*_LRyq+# z5jodDoJ>W!bh{Dhxm`M87o_#2nWZhne_StaIy0bMdayXLw9?(D3xH@w0G~Xx8#_5G zCpDXJz)huT1y2$8K=V}TEXjBUn&22}WzXCi!fuSb4>)87qN2K7QVQ>}+NxwGax17h z=y>X)N~Zh+szD$@J&o3!Hrx%8z-;pUOjH?OXDUHk1g-o0vQma8^D6^IQkz_$(U1Jx zO)_cND5r}wR<5^kff(DyWhlx+kYUrEMlBi3JoM@A5q;qhG+!YQ(YRr^4F2B2n+<-7 zL-2Etf(x`MCtzVN3u*n&@4w}G6|ZJ53cAcTNk$B|Q)IYTg|(G=G8{r|PO2*_RC%KG zWa!;P(hLSbGqD^G1B4rOgS;BN@q>4PXHSpQrR_;F+y2dVdqgTDzMgY^BDo!hGZ6hl zVT&AxbuAkqgfc7q>4rN5A&X=ho73JPi4EzsyKk;a%PtckCnCoWOmOCVUnwqHP9ZW0yQ>;<72P^acs3a#^mqg>?)9s`tRgV}q{GaF>h z$1$f}yH#FZ(4*FE#9V^l1r<@cB!a^xu?Gte+C3NrYFQ*#c;wqjr=Ph@P+>vA%Ip5!2~D`oE{IHW{(B&)>It)wk69nuQTGw Sg#HJynNfmkazX5pPW}s11o#^O diff --git a/docs/build/doctrees/test_reference/test_first_difference_ar.doctree b/docs/build/doctrees/test_reference/test_first_difference_ar.doctree deleted file mode 100644 index 3acc9eb67c86924402d218fd7ba07e478dc3716d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4791 zcmdT|TW=&s72dUXY|q#puf5p_v==5qo3%y8L!?NFRuO2GWkDGHuu6DhQ>y8%nJV1V z-Knbf+DJk05QL?AOCjD665C3dSab6B5WHzKjB$fw6;ORmZFmwsQiUCSz)iMcKJ=;@2zbES>#JyWBRfYe0v zJ{HEReB66pIrY$db^QP%y(MWhT=7gWkT%dy^uqGSMTp!^nGCvjgwm zzm}ms`EPFVa_!i9Udivs{+xUN_FuXeT8nI8bP~LIwM)zMClm=d2ANunt~c{KD;^^0 z5S3eiUveoZ``GEy4hy+pE4=`pd)LGufQHU*h4Tb)%EboOvgICL@A-(jH($$EqYN?l zNlfu$NjC9?gxYtTu%KT8hoptuCZz(P!dfgOT>EU2JuxMxinDZI*3AM6+5Ouw(lr+*myDZ(^se2Jh{Nbq*uMz;!yPf8f@jQ`*p1baK zWvh+CXt^E>>)qQdRwI;Ml%p$AjlzyYD)lmPYxn}fy?Y!2^ZF_q67*Ly%OVWK31@ALNuXyhuI=wh>}I;{DVw> z>(Taz6eE9a(V*BrlMiCdVaroWr;xR=j3h;F=cj|Fy`wv~DKEyFmvSyh?$eK?NKSfI za@#XdLUJ_sq*v-95yo_0DJy$VU+lko&tSR?2e} z#Zf&PEoV+zOt{Lu{JUF6YT5G=!^b}`)B)?$MP6W;Da*=@*u>h|Z@+^RR5 z^)5K-@S7>qPF^&$hL0rCWky&U(RAK?lBFjj@yO#9`>_U`!`N`Hp+TYMz^n(^$)pw_`M< zI2pEVVR`0{Zn#dvBT_6Yy6>jzCY7eSlTD}0t%ee(O}A0|2!r=7YE7J^k=BH<)VsBx z@vOq!)s$GbR#djEtUs1J$F4mVxzOCAC}NRvau^0MEH>kX47Z$M*{PS6&am31N$p9ppk?>Czrl0MM=i`cx1>8;Ta0SmU zcSnn)&?!qri8R4AG@Bp0H2`sh&H{I+6p4yPc1FFS%PU*38Og1n!C?TaCMBEZAG{g} z3aO{@=pcbRff6#CVm~95MpS9RFr|U(wm2&bBiQ`OkRpj?r+C7|{M^Bd#PDH8hSXZF zH@E=CwqOjwJ%9{Cw`(>wQdxL-xHstwmtYnQK*SsgX({5piT5eu6qm@)T>=-7K2*Yv!W}^WK-x)$%i5L?0io1N zf3$%aK&uIxVsko%us9!IxZCDDxBQGrHI^BENZwmnL3zJr=yl0Hs{m>PN8JhQxMW$8 z@Y=Nx(3GJM0w2K!F9#Rm^hs5s6VNL^Jl*ReaDnV85WrNzg^}iI5tl22mv6=Q zyNy^&0A8dbnwbJPEQ@nrc&hJ0DWsM~aYg-3>2dzKcY6y|8jJ!N(niw-O@Q?F2m3k^ zA2&```5vSbk1&QtE)^KQVK|Ttswp7vYF3YNS(AQ8llA@xb;N50YWEs2* z8_+k_KdR|p!UJFU7k~f;K!6FZGzfaUa9TYU$eUAgh})*hldMW9Psa4$l}<_puC4`f HZaVxIfh|)= diff --git a/docs/build/doctrees/test_reference/test_leslie_matrix.doctree b/docs/build/doctrees/test_reference/test_leslie_matrix.doctree deleted file mode 100644 index 8e53922217bc834c2af5aafe6efd557b68b9b17c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4547 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
  • tvw}E^dgH+)TnE|Mv^ef`Q9;>ZRW+Jx+sz--Y=Vda*AG{g_6695( zH7AApK@yNnv7d=b!|O~ZXoIloKEEop;mQ2Y0Fl%tmuU1OKKGMM8a7g7NOQ~0HZPE4 zyD)~HMEj`sAMj! z|Ly%Ju2=GM_M#wTc1bc~xI1Nr`<}42G|z@Zh|Qq9wn7&JT}_7GJ*1W40$7%6$6N3Gk6 zT!Q2U6j9S8lEWskAqo%L16&HwvLILRcScXxSKb{iNT~@3VrUyr2haAu>rn9! z;e4dk6a-=ETT8;}>h6NZZhLCjbhw}&1Y22R^oPs3ni;f{qK+hXs?h=aHT=ee#sB~S diff --git a/docs/build/doctrees/test_reference/test_process_asymptotics.doctree b/docs/build/doctrees/test_reference/test_process_asymptotics.doctree deleted file mode 100644 index 8fdbbae95d2439854cf4aca88116ce6e46b4d03f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5039 zcmds5O^+N$8Mb#lyF0VHv)*+aA!3`3P~usUnc=`8vLaBF$RG?Wgc44eQcriyRA;-p zI#t#CaR`D#5G&O!g}5Ok;LIO@pAgCahYQbJ)jeO%u7z?6me!j3dh7jqp7*W(UFT1K zzjw?3vj@5oS$Q#v)3lT+*Us*wGN}t*8ux`e{=NIm4QyA%=UUb(;m+Q|jzna6s(9(1 zJKLx2Cd>7xIlrxWVlr9IkBg4j65G$+Ky+=#WG3fJOLp)JB@?bSPowwsWl9Q^rO3wUgG>Vlau5Q^lvWr?%TBp3#yM2jUH} zCmx7R@z9=)Kh|97u~Ga?sv=e}cl=@Fdp-VfW`0sn#zmc*OlLTs4|$ahvvSH|L&C?< zUyp;{W2k5t?rWC(unK-WR2zJ6W0Xi=|kEFp2NLSn(!&{ayUM zg}=x6J0`>7JC%8J2XGmpgHYP1{Q}%)^I&Ijs{s76*8@J9?`zhb*ddZ`|gb! z!pX0^#)+*Hp6)(h!B8 zg)~1AWK_J8R0F#U6NVM?n6$9_q?8AhAM=%@>s}Q36J5o`Jv%r8%$#vYvHmG;dD?*K z8yM?nw|%g?J|gSk`1bYDY(sI=mPHuio5HX|VF)qUAvIohzxcIyPQGRfUyI*>L4xi_ zUU!fx!f3e4GtkRYPHha1gR<8#N-O=-m!;c#O<@ArkIpiFo&b%`9<)DMTqZ)QrR!eB zUS05`iPel7XWwRllfb?prE8(>YzK$3)QQAy;TK@;>|-CASCg&J(cdmC3rOG#B)k_B z!=kPr3eNT@7IN|lilw9a!MO=#X@MkWkVGN_?{7RetR zsvk{-$lpvH6#Ngx!w_^B^FHO1PuxHyi7d@>uh15I6zVP|#!SVPSc;N;@qysUX=Frf z@E?zoI8W+4HazVu$UT}Vd2U3cFdxMwmS#LkkzT$Yqq&G?*%>dR$z>1mTqcVp!9Cw{1VE6?NKd-dFFnGoin>JB_FC;5Y=Wh8F}N zM{JThyY;I$uhD6?)x>Ve+Elf1C*t75c4xfgfH?RcgA|wrz>5ll-EbkpEvFdvnqjSS zjP{B2s57TkT-*uKvqw`YO(_juT6}if?$bl2tP6GlxEBsHeIlTWC9Vos>`N8LsP} z$BL*3gr<00V5STAC!CCOf3*FqgpU}W2QsBBwB6cFhwl!3fqAgH$hcBcF#(Fqxq`<@ zRn#7P5InskrQ@Zb{;aL6i4gy>{UCIqKzsDT>cZMddzTDAqGhFJHw+b+aMV_}LMmvvF5 z0io0g_iP94j>-x)$L74_V&OG#W$)_C(!>``WHXWD56OEcmz4K=n%>jw(;A@GaMV3N z4nvkp^c=yp4-BGXQL(UWvo&vv@P(g5RaLN4yyG|KL8Os^oX2h~y?Zf6%3X(OS22Q)O zo4h=u4-|GMa0$SRR76S301m@Ki|Z5T5K1An49FGyozmxs&zwD4nWY}kPea;tKA>io zzII^yHcf`#;)VE9+b&J`T8Cxv;!2A*>4U+SD0AV}|hJe}b z3%V}PgncM@h;T8H`8)~y*4Nf1=exTr61(lK{?O5ie3T1ih|%w_%W76o*FYPItcety z-A!bk!@IBnbz}R3X8sF!;B)s&Kme^Szyw!n1U+0hXOETX-TAbS+iq4Sd7V<8%;?)v OFC~I&xFB>-qyGYc9=`kl diff --git a/docs/build/doctrees/test_reference/test_random_walk.doctree b/docs/build/doctrees/test_reference/test_random_walk.doctree deleted file mode 100644 index cfe9f82a909caf32e44f4a8a6812da6e91061e6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6367 zcmdT|TaO$^6<)7ByE}WC_1dvz$zEry$apP0J3R0ZOhf>Oa9P-gC=i4&O-*;rRPR<_ z(p9||q;Ppi#7M;hq`4zNBE0Y$;DP()87TrO5Bvgh8JhPV6W|3YNy(RduTB z)OYUZ>y7XJ{mPvEXVz6J!uV*L1wotyToq<1Nc=qFu`XUMZhxbAsn{~jj2)^Z&wO5( zIZ*f_ltISh;(lRTM6N@rw#)sCiu*cD;(EJihy}5Dzt|E@)6k)od~C^VKF8u9iP|qP zx!-=CD;>sz_Op3x&rk(z#J+RS^CM#DVdO6tj^l-tfj?b{4b$}M2Z^(0p?t@#IVZ!I z7rS|nnPsMR7WQ(D_tSgNhJm8DE&7rvg-LujVivitr65m7gC6tuGu|hf+$?G~prt~r zi>qQ)ToY%-rir_sRXkH&o$-Sti&%y?cAqIxR^5+>`V)Dt8|6}mD#U)-;c3_j<37h5 zeBK5Bs_Xdff<^7&zH-S8ErQ-55Zulb9({dhKJSS+(+J~$AB~~y1R);BBgG8>`viVB z@w;%R>9iEkFfPKv?FkyXDaHS?u+=r&yFq9&FuiZ-sF?N`hSSHqmTPvva#J zcTQa>DW{Jt#KNvFST5cxI%5F-_-z6R7P;)I%(w8B7>C-YmkoleZM`s(x-Po8crmf->3cl#jZhdwN+FzeN)$6{Y3 z+1Pat^Ds^LF3qw5*M+(6Io|=#2uq)qJ??f8O%%vX!Y)^qn9}C z<|FNXijmiYj|b|7Stjh0-X20$F{#xHj<>>GI@Qj=oV5pdEVIa`o?RMs(Eyapuxbt?8x5GHpA(P=(c+kdbyL9jEewIX)H~F8OHL{0a z&bEhf*Fuo|0+4)&bRCfV+(9zwtEM;nw8E~!GVhIv-^zYIJ%+35mr2I7;E|26FfPQe z%_1~IAEyZCzd>3A)2s(^g7{3ab!Zmjr21@C(;bSV$5>n~7pw6GC`v)9nrJ;vs=11e zPNK^c*OU+yLxSRIiyGw>77_|O+b%<^bzzo`PegWc*L>2M(P0_OmFFi}1|yKiUI72$ zlA%Y8@E<(YK^IGXnmv-c*aU!idqZzZV+6y%sefRpN@?bO#k76>E88n=XCBr zy@%qd1r&Qrm3=GmRQz`DNxJEGdmo@bzjuHBFcg0ria!m-pNHZvL-E(4_}hsP2SyR% zMt7M_m%MZ+dFhaGLlB)RimSqE9dTa~wu#Udb0o2G!m{2ay;;Wd&N>9e9YBN1d3JtL zw-3Y}^Oy!ZN;2wocxjdlQ2Ds_K|?2+$zo^DELSu+t6LGP)r@ON zn58o8qZ_kjuXwt7I)5=HR|%jdE_1S(b6a| z)1tH?MIsSV^GM;yt8Ru%ZfCs1Pz$eWso=(PL)l~5HLDprDCW?FGJFS-Z+B-n2%c%vSLjvUF=_ICQNf^ZKE*jVg1Q zzHkZp4%QaYv%qNqM81N)B}C{!WMvqygnH~f0 zWE|#-&^lFjyIoAH?etiSB;HQ4K^N5_QCbE->1mE43l>L>5T15!zVH3Ovz7JzspDy8 zbo_g&<6*3fRCb?d+acF|dj}jqSLjIMvZiJ|SW%!wv9n}0p_7qUnC^Bei4q3+PPL;{id2gKFR7D9faWP8c~_%l1auYKF4PzH@6sbC$;k)Ydgi&Yi%1p^7NcLMm`P7qM+i zcLPj8wKV)ITzEiD+?NV-VPcl5b~}yJ`t^X?5!53F`65la@4b)0#`m7af66pz+E#EN zvI|2cZlLdK*HOYfh0fUP;*H#_jZ4rTx#ow^1L6tSxEV6kiq7#qKI7;R_#pA9m&jTv zEa_uYlQng7;>2cktKD>A;(YkrOp}wpG<{aNf=~xH;wL#diNdV-iIhMaZ$KznyjRY@ z3M^hOo`XrCVFBX;vN`50THF7 AsQ>@~ diff --git a/docs/build/doctrees/test_reference/test_regression.doctree b/docs/build/doctrees/test_reference/test_regression.doctree deleted file mode 100644 index e7bfb7074791cf812dd4804038f4a966e9fd006c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4519 zcmd5=TW=&s72dUXY>zMFwKp3f#a?j@PHz;ia>~HK{5CtT6kh<)pXZP6|TOd zs@iKuN(2um}#u^~2J_`c}6j+IvNg)MjVA)jh)3{IRp=f=undh)C;f(Ya3 z9F9GB&aX(Hui^g8M}0Rc2JNgD2d z%#dZ9sba=}i0@9p^7yrt)zy44X6c3I6XL1ere#yw@?u}SA$G-)SQp1GAN|5`ZAMn} z%Tnh|!^F}14aR2l6KQ{1k4Jf}tTYnm)qq!WAd3ly4JjW%e=~}DkD#JWa9^|4EL;4B z+Q8-~XKVFX+;bgSWc+FY>gWaWP1q>j1gzh}?=Ae^#_yEu1!P(VEBinSj)14!yWx_l z%9Bd-Oa{O7Pfz-?ILXVbR{Vq*hAXO^de^^=9{HA~d9iVBJ*&lc#9#rpKmCumK|8KS zMyCO_7P=W$)%8Dn^B13r7&xm)w)*KEN%{nu!1Z_1xM0;JR*rc@^VFxA>+-_}0BSzU)8Y zyG8g$aJT5<ylw0qPlUN~8`%ofQGY~};yfX75 zbsP9XHhT9Y_~6b87eejRxg9Z}`8=TCV^r2q!-2VX+k|{M{tX(EUk>DrsF`=K(S@st z1=T_Zpfb6wNv%|H8T8yvY?&r-g+*)nvq*pM(O`%a-FruNlWX4>$I+!w{znuoArND} zr)6Om`)%7W(fGRL_Niu-Snz>+_c@e4neu{brsT&wJE3mIG*x7-w&#WVWYTm}u-WT2 znE%`3^LYQq-SNIyFUat}!|)$aEW_}>MZ=d1(CUG|wg|O|)#C*R2k)*`*Qh_OZL6-$ z%ACoC{7Db5;OYQN-Z5Czw*=xxIYK7O>+-)}7^#M2NGyxaICQ#D4Aw!XQIvbI%i{khmb zcikBB78MDLj1f*OudvvO7bdvn0?X}YS!;#W9%U#^YP5@sJJCz-a8j1GC@o*uJiG7q zXn-y1Jh_@+Uh|;zXiTV*w9IKPHW2wnq;SOpC3z{WNZNT3H#P^F0rK4KYF?GvCW>Ej zz_;eM1yi$S#~tu13DhjJwP~3;u9NX`J;imsmrNJ%G&nS8IVfGgpK>zF|H1WS0gMui zi)BX9=DM|=48A`IMet~OGvQj7IuWeM6xTqUR7HJs`w{5{DV-n%b$n%KMTGd5>qVh+ z1=^!W%Nr{v-9s_}fo25oQDLmuQ>>WQY{~&Q^`bRAGu$K1(^6+i#w(7rEm9g&&)o*n zZh}G&IAlii=|o;p&F-<i#qsZB01#K-vDPcmuPSdk%(mYZ!}AjfuL3}typG6>yk*pi7< zVFq`v(-$tmkQEXU0~(}d@b?bhWAIa4B0di&xezwR6j7*TF0KFh!?#_p;??}MK*sD6 zWz3*EWrq8Pu(mQ!Ms4`^@w8yDHUrpiom~22fK#0>9 zb%nZ5uiEfbZHmARqNhypC_@aiRpF58gsI0Xd@`rtRV9n5NDs{mkC@5FJVX9oLj}RP z#U+nZa9t!E?MfvW`so=Q)IMmQ&c)sS z=_UCk+Sz;JS?%@~Jr+dlr4oK89UwMRC^1{UsOusn@}bGW!}+*WvmgkpudNVg+}$OK z-S*aS=x|9s3aqwN(I2nMYIe}qP&U%CrlR28PFgAjbYTPf#^#S3`sYC4Gyfq{0OJ{w p2~Zk1JzhAg9!un%89DfEM;587Gm4Wb{eNLQqXO5|f;c4&{|(UE@lpT) diff --git a/docs/build/doctrees/test_reference/test_transforms.doctree b/docs/build/doctrees/test_reference/test_transforms.doctree deleted file mode 100644 index 505bb02a075da71044e0fbe71fa73fa066d1af6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10683 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 YyCgk*vH*3Y;(WaNz%jxHsz|8)Kf~@nQ~&?~ diff --git a/docs/build/doctrees/usage.doctree b/docs/build/doctrees/usage.doctree deleted file mode 100644 index 40eccbe5d72bfc2e218c4dd336ab4413aa34a36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3162 zcmb_eTWcFf6i#eQvV4*4+$bbY6-sV2l3M6Pn?fl~AO%wu(xfjXETi3#X3*}=b}qL3 z5NIC)HOyP45B&xGoBhu2>S945&>Dny&YU@OF5mg){MPvM$Gt1%pFc2#kom07k|b9N zH^FZwDs~yqZFnCZ{~q3kN4~AunNd#1Joqcnh=oiO&GYak_ztOCnVNomzGZl9rOFq_ zMME@2>rHqh+P-0>P5H`}-~WkQS9BkAUmG^zffS*)^@`8Pf%WZoq4KC%Fx+p0IP&di z;jq~B&DzhQ-%4f9!_bYG-(l8jIdT^9Q9PS6G30wIPMI+f;=7TvtoqtcT(Mk?SUlBy zOghfDESu0)5C`J6*b{fera1Pm2Cog*W?(fxRXStZ%6#y=&Y~H-koJ2w8e}fD(ny?7 zd%Tc6nU6VQi1`5in?dFGz)=?Z+90&MCmU{rT(l7@n`l;u)x13$D$AdCf3ZTEZh=Ex z{Ab-WrKeq)cMGj1nj76RweI%Jwb)zu2lvgS-r?ybQ%%%D(s*DHr!} z(I@!b$L}G2kC9ICspyGg@dS}>&C}^d3rGS1eX9}`e4GA7gs;^MeD#9c?uZ#qg?`dy zaqKj+ynBjT0DoOIM(n(M314NV`eodY#9;+*(E!}&o;n-VVj0f!4-bb>@ogPa6UFP# zZxG+r#{YxUOOIZDxJUB@H_0XRCGcEdaDcy>FE8 zEGzfTJj`X~R*df&>grylUS2{L{eCG%v(GnHps)i&n^j;XBmn+@$Ihb9#S?$SYL=Un zk^9jc_hp|qtgvKMHH)ySlqzm?MlK^ zUP_`fX+<>WKHOLzsL62X_cSk*wo%GYInuY`cLYlp%Z5MVGl{HOW}TTUHGCuCBR9cy zoinC$WDOdcvka0p(jRjQD*WL)GDnUgP@hVmh4yxK-21WzZVdj;<;{p|t#l+mtwUhpk0szpAKz@iu0qB(F69@K1 zy1`C<1COG=u6e9<5+%F*W z5iRhCtd;@^=xID5WbmMrl*p#qFGYpn4um<&2v3K6Rw%=x)srPeVjG>}L8|b15GB&E zQA&Z-Ubg0afgamKFb17aHW`fW*J{yNrq!!?i@tCPUc#~wc}~_6)O#1x1L{;QfzKmq zF2E+A0EMZ{qzykDKJ=Y}7ZH+DJ&F{}9!ZGcBkBzQk+8NfPX_~tO}{v|Lgjs>CxhT` zl4j`uG$YG1l*ghR+mQF}fA$6P+0o;8%{)n#<{!+>qf;5-b;@;Layu^XK=%)X%~D*} zwrqqJN~{Pc+x{4U%%VkaE&_;5K?u3SS;qg2JLPVI3lFag9UeAR5oa+yM$p1J~8&YP-gmI%a zJ(&@BQ^l%Qq@igVfSGK>6ZG#nTo9aFTyisp)->W7lWBx;k*15%?W20&16b2>#c3CQ zljo;2eEIE)OVGT4qRbPC=CF}vdcwg?coUA`6rg26uHf&4MyP{<|m?m}D^Z&&7V>JkFW SgzC1F5X;qsK<~C2_5T4@BGQBa diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo deleted file mode 100644 index a7284647..00000000 --- a/docs/build/html/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 901af503b84dff1464beaf13282c3a02 # pragma: allowlist secret -tags: 645f666f9bcd5a90fca523b33c5a78b7 # pragma: allowlist secret diff --git a/docs/build/html/.nojekyll b/docs/build/html/.nojekyll deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/build/html/_sources/bugs.rst.txt b/docs/build/html/_sources/bugs.rst.txt deleted file mode 100644 index 67e7f4b9..00000000 --- a/docs/build/html/_sources/bugs.rst.txt +++ /dev/null @@ -1,52 +0,0 @@ -Reporting Issues -================ - -To report issues and work on bugs, please head to ``. Please adopt the following template in making issues. This template should be used as an outline. It may not be necessary to fill out every section. Delete this block of text and fill in anything in brackets. - -Make sure you follow the project's standards specified in `this adr doc ` (private link) - -Goal ----- - -[1-3 sentence summary of the issue or feature request. E.g. "We want to be able to ..."] - -Context -------- - -[Short paragraph describing how the issue arose and constraints imposed by the existing code architecture] - -Required features ------------------ - -- [Describe each thing you need the code to do to achieve the goal] -- [Example 1: Use a config to set input and output paths] -- [Example 2: Read in some-dataset and output some-transformed-dataset] -- etc... - -Specifications --------------- - -[A checklist to keep track of details for each feature. At least one specification per feature is recommended. Edit the example below:] - -- [ ] EX2: A function that reads data from the `some-api` API and returns the dataset -- [ ] EX2: Another function that inputs the dataset, performs $x$ transform, and outputs $y$ -- [ ] EX1: A script that runs the workflow from a config -- [ ] All functions should follow PEP8 package conventions with blah, blah, blah -- [ ] The workflow should run in the VAP from `directory` -- [ ] All functions should have associated unit tests -- [ ] etc. etc. - -Out of scope ------------- - -- [Things out of scope from this issue/PR] - -Related documents ------------------ - -- [Link to related scripts, functions, issues, PRs, conversations, datasets, etc.] - - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the Reporting Issues page. diff --git a/docs/build/html/_sources/contribute.rst.txt b/docs/build/html/_sources/contribute.rst.txt deleted file mode 100644 index 96f2ec1d..00000000 --- a/docs/build/html/_sources/contribute.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -Contributing To MSEI -==================== - -Anyone is encouraged to contribute to the repository by `forking `_ and submitting a pull request. (If you are new to GitHub, you might start with a `basic tutorial `_.) By contributing to this project, you grant a world-wide, royalty-free, perpetual, irrevocable, non-exclusive, transferable license to all users under the terms of the `Apache Software License v2 `_) or later. - -All comments, messages, pull requests, and other submissions received through CDC including this GitHub page may be subject to applicable federal law, including but not limited to the Federal Records Act, and may be archived. Learn more at `http://www.cdc.gov/other/privacy.html `_. - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the CONTRIBUTING page. diff --git a/docs/build/html/_sources/ctoc.rst.txt b/docs/build/html/_sources/ctoc.rst.txt deleted file mode 100644 index 9f4ed5f1..00000000 --- a/docs/build/html/_sources/ctoc.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -Complete Table Of Contents -========================== - -.. toctree:: - :maxdepth: 4 - - msei_reference/index - test_reference/index - genindex - modindex - search - glossary diff --git a/docs/build/html/_sources/faq.rst.txt b/docs/build/html/_sources/faq.rst.txt deleted file mode 100644 index 61030d9d..00000000 --- a/docs/build/html/_sources/faq.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -FAQ -=== - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the Frequently Asked Questions (FAQ) page. diff --git a/docs/build/html/_sources/general/bugs.rst.txt b/docs/build/html/_sources/general/bugs.rst.txt deleted file mode 100644 index 67e7f4b9..00000000 --- a/docs/build/html/_sources/general/bugs.rst.txt +++ /dev/null @@ -1,52 +0,0 @@ -Reporting Issues -================ - -To report issues and work on bugs, please head to ``. Please adopt the following template in making issues. This template should be used as an outline. It may not be necessary to fill out every section. Delete this block of text and fill in anything in brackets. - -Make sure you follow the project's standards specified in `this adr doc ` (private link) - -Goal ----- - -[1-3 sentence summary of the issue or feature request. E.g. "We want to be able to ..."] - -Context -------- - -[Short paragraph describing how the issue arose and constraints imposed by the existing code architecture] - -Required features ------------------ - -- [Describe each thing you need the code to do to achieve the goal] -- [Example 1: Use a config to set input and output paths] -- [Example 2: Read in some-dataset and output some-transformed-dataset] -- etc... - -Specifications --------------- - -[A checklist to keep track of details for each feature. At least one specification per feature is recommended. Edit the example below:] - -- [ ] EX2: A function that reads data from the `some-api` API and returns the dataset -- [ ] EX2: Another function that inputs the dataset, performs $x$ transform, and outputs $y$ -- [ ] EX1: A script that runs the workflow from a config -- [ ] All functions should follow PEP8 package conventions with blah, blah, blah -- [ ] The workflow should run in the VAP from `directory` -- [ ] All functions should have associated unit tests -- [ ] etc. etc. - -Out of scope ------------- - -- [Things out of scope from this issue/PR] - -Related documents ------------------ - -- [Link to related scripts, functions, issues, PRs, conversations, datasets, etc.] - - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the Reporting Issues page. diff --git a/docs/build/html/_sources/general/contribute.rst.txt b/docs/build/html/_sources/general/contribute.rst.txt deleted file mode 100644 index 96f2ec1d..00000000 --- a/docs/build/html/_sources/general/contribute.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -Contributing To MSEI -==================== - -Anyone is encouraged to contribute to the repository by `forking `_ and submitting a pull request. (If you are new to GitHub, you might start with a `basic tutorial `_.) By contributing to this project, you grant a world-wide, royalty-free, perpetual, irrevocable, non-exclusive, transferable license to all users under the terms of the `Apache Software License v2 `_) or later. - -All comments, messages, pull requests, and other submissions received through CDC including this GitHub page may be subject to applicable federal law, including but not limited to the Federal Records Act, and may be archived. Learn more at `http://www.cdc.gov/other/privacy.html `_. - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the CONTRIBUTING page. diff --git a/docs/build/html/_sources/general/ctoc.rst.txt b/docs/build/html/_sources/general/ctoc.rst.txt deleted file mode 100644 index 41df0b16..00000000 --- a/docs/build/html/_sources/general/ctoc.rst.txt +++ /dev/null @@ -1,21 +0,0 @@ -Complete Table Of Contents -========================== - -.. toctree:: - :maxdepth: 4 - - ../msei_reference/index - ../test_reference/index - ../genindex - ../modindex - ../search - faq - glossary - license - notices - state - usage - contribute - bugs - -.. todo:: Change order and naming of these toctree entities diff --git a/docs/build/html/_sources/general/faq.rst.txt b/docs/build/html/_sources/general/faq.rst.txt deleted file mode 100644 index 61030d9d..00000000 --- a/docs/build/html/_sources/general/faq.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -FAQ -=== - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the Frequently Asked Questions (FAQ) page. diff --git a/docs/build/html/_sources/general/glossary.rst.txt b/docs/build/html/_sources/general/glossary.rst.txt deleted file mode 100644 index 2ed37067..00000000 --- a/docs/build/html/_sources/general/glossary.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -Glossary -======== - -.. glossary:: - - Term 1 - Definition for term 1 etc... - - Term 2 - Definition for term 2 etc... - -..todo:: Populate the glossary with terms (e.g., from model_definition.md) diff --git a/docs/build/html/_sources/general/license.rst.txt b/docs/build/html/_sources/general/license.rst.txt deleted file mode 100644 index 32a2b660..00000000 --- a/docs/build/html/_sources/general/license.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -License -======= - -This repository is licensed under ASL v2 or later. - -This source code in this repository is free: you can redistribute it and/or modify it under the terms of the Apache Software License version 2, or (at your option) any later version. - -This source code in this repository is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache Software License for more details. - -You should have received a copy of the Apache Software License along with this program. If not, see `http://www.apache.org/licenses/LICENSE-2.0.html `_ - -The source code forked from other open source projects will inherit its license. - - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the License page. diff --git a/docs/build/html/_sources/general/notices.rst.txt b/docs/build/html/_sources/general/notices.rst.txt deleted file mode 100644 index 7972d6db..00000000 --- a/docs/build/html/_sources/general/notices.rst.txt +++ /dev/null @@ -1,37 +0,0 @@ -Other Notices -============= - -General Disclaimer ------------------- - -This repository was created for use by CDC programs to collaborate on public health related projects in support of the `CDC mission `_. GitHub is not hosted by the CDC, but is a third party website used by CDC and its partners to share information and collaborate on software. CDC use of GitHub does not imply an endorsement of any one particular service, product, or enterprise. - -Public Domain Standard Notice ------------------------------ - -This repository constitutes a work of the United States Government and is not subject to domestic copyright protection under 17 USC § 105. This repository is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the `CC0 1.0 Universal public domain dedication `_. All contributions to this repository will be released under the CC0 dedication. By submitting a pull request you are agreeing to comply with this waiver of copyright interest. - -Privacy Standard Notice ------------------------ - -This repository contains only non-sensitive, publicly available data and information. All material and community participation is covered by the `Disclaimer `_` and `Code of Conduct `_. For more information about CDC's privacy policy, please visit `http://www.cdc.gov/other/privacy.html `_. - -Records Management Standard Notice ----------------------------------- - -This repository is not a source of government records but is a copy to increase collaboration and collaborative potential. All government records will be published through the `CDC web site `. - -Additional Standard Notices ---------------------------- - -Please refer to `CDC's Template Repository `_ for more information about `contributing to this repository `_, `public domain notices and disclaimers `_, and `code of conduct `_. - - -Final Notes ------------ - -Please refer, under Meta Information, the License and Reporting Issues pages for other standard notices. - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the Notices page. diff --git a/docs/build/html/_sources/general/state.rst.txt b/docs/build/html/_sources/general/state.rst.txt deleted file mode 100644 index e5932b77..00000000 --- a/docs/build/html/_sources/general/state.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -State Of Development -==================== - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the State Of Development page. diff --git a/docs/build/html/_sources/general/usage.rst.txt b/docs/build/html/_sources/general/usage.rst.txt deleted file mode 100644 index 6fabafd6..00000000 --- a/docs/build/html/_sources/general/usage.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -Setup & Usage -============= - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the Setup & Usage page. diff --git a/docs/build/html/_sources/genindex.rst.txt b/docs/build/html/_sources/genindex.rst.txt deleted file mode 100644 index a04b8d29..00000000 --- a/docs/build/html/_sources/genindex.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -General Index -============= - -:ref:`genindex` diff --git a/docs/build/html/_sources/glossary.rst.txt b/docs/build/html/_sources/glossary.rst.txt deleted file mode 100644 index 2ed37067..00000000 --- a/docs/build/html/_sources/glossary.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -Glossary -======== - -.. glossary:: - - Term 1 - Definition for term 1 etc... - - Term 2 - Definition for term 2 etc... - -..todo:: Populate the glossary with terms (e.g., from model_definition.md) diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt deleted file mode 100644 index ce3e3920..00000000 --- a/docs/build/html/_sources/index.rst.txt +++ /dev/null @@ -1,91 +0,0 @@ -.. CFA Multisignal Renewal documentation master file, created by - sphinx-quickstart on Sun Mar 17 15:31:47 2024. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -CFA Multisignal Renewal Documentation -===================================== - -Welcome to the CFA's `Multisignal Epidemiological Inference `_ (MSEI) project (*a.k.a.* signal fusion project), which consists of an internal forecasting model that leverages multiple data sources for enhancing epidemiological modeling of infectious disease outbreaks. - -This repository is composed of two parts: - -1. **Model development** (`model folder `_). -2. **Analysis pipeline** (`pipeline folder `_). - -Overview of the project follows: - -.. mermaid:: - - flowchart TD - %% Main diagram - io((P1: I/O\nDefinition)) --> |Dependency of| model((P2: Model\nPackage)) - io --> |Is used by| etl[[P3: ETL]] - model --> |Is used in| run - io -.-> |Possible\ndependency of|ww((Wastewater\nPackage)) - - %% Definition of the pipe - subgraph pipeline["Pipeline\n(Azure + GHA)"] - etl --> |Feeds| run[["P4: Run the\nmodel"]] - end - run --> |Feeds| Outputs - - %% Definition of the outputs - subgraph Outputs - direction TB - postp[[P5: Post\nProduction]] - retro[[P6: Retrospective\nTesting]] - bench[[P7: Benchmarking\n&A/B testing]] - end - - %% Connections to the outputs - io --> |Is used by| Outputs - postp --> manual[[Manual review]] - manual --> share[[Share publicly]] - - - %% Tagging sub-projects - classDef tealNode fill:teal,color:white,stroke:white; - class io,model,etl,run,postp,retro,bench,project,process tealNode; - -Documentation Components -======================== - -.. toctree:: - :maxdepth: 1 - - msei_reference/index - test_reference/index - general/state - general/faq - general/usage - - -Indices And Tables -================== - -.. toctree:: - :maxdepth: 1 - - genindex - modindex - search - general/glossary - general/ctoc - -Meta Information -================ - -.. toctree:: - :maxdepth: 1 - - general/contribute - general/bugs - general/license - general/notices - -.. todo:: Have docs folder exist in main, deploy using GHA. - -.. todo:: Add [State, Usage, Help, Tutorials/index, FAQ, HOWTOs/index] pages in Documentation Components. - -.. todo:: Add [About, History, Download, Copyright] pages in Meta Information. diff --git a/docs/build/html/_sources/license.rst.txt b/docs/build/html/_sources/license.rst.txt deleted file mode 100644 index 32a2b660..00000000 --- a/docs/build/html/_sources/license.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -License -======= - -This repository is licensed under ASL v2 or later. - -This source code in this repository is free: you can redistribute it and/or modify it under the terms of the Apache Software License version 2, or (at your option) any later version. - -This source code in this repository is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache Software License for more details. - -You should have received a copy of the Apache Software License along with this program. If not, see `http://www.apache.org/licenses/LICENSE-2.0.html `_ - -The source code forked from other open source projects will inherit its license. - - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the License page. diff --git a/docs/build/html/_sources/modindex.rst.txt b/docs/build/html/_sources/modindex.rst.txt deleted file mode 100644 index c2e9e67d..00000000 --- a/docs/build/html/_sources/modindex.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Module Index -============ - -:ref:`modindex` diff --git a/docs/build/html/_sources/msei_reference/basic.rst.txt b/docs/build/html/_sources/msei_reference/basic.rst.txt deleted file mode 100644 index 1ba9d4c0..00000000 --- a/docs/build/html/_sources/msei_reference/basic.rst.txt +++ /dev/null @@ -1,9 +0,0 @@ -Basic Renewal Model Module -========================== - -.. automodule:: pyrenew.basic - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Describe the `basic` module in greater detail. diff --git a/docs/build/html/_sources/msei_reference/convolve.rst.txt b/docs/build/html/_sources/msei_reference/convolve.rst.txt deleted file mode 100644 index b6b19acc..00000000 --- a/docs/build/html/_sources/msei_reference/convolve.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Convolution Utility Module -========================== - -.. automodule:: pyrenew.convolve - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/msei_reference/distutil.rst.txt b/docs/build/html/_sources/msei_reference/distutil.rst.txt deleted file mode 100644 index 16ae2d15..00000000 --- a/docs/build/html/_sources/msei_reference/distutil.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Distribution Utility Module -=========================== - -.. automodule:: pyrenew.distutil - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/msei_reference/index.rst.txt b/docs/build/html/_sources/msei_reference/index.rst.txt deleted file mode 100644 index a50d944f..00000000 --- a/docs/build/html/_sources/msei_reference/index.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -MSEI Reference -============== - -.. toctree:: - :maxdepth: 3 - - observation - process - latent - model - msei - -.. todolist:: - -.. todo:: Determine order and naming of the above toctree entities. diff --git a/docs/build/html/_sources/msei_reference/infection.rst.txt b/docs/build/html/_sources/msei_reference/infection.rst.txt deleted file mode 100644 index 8ba4f3f5..00000000 --- a/docs/build/html/_sources/msei_reference/infection.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Infection Module -================ - -.. automodule:: pyrenew.infection - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/msei_reference/latent.rst.txt b/docs/build/html/_sources/msei_reference/latent.rst.txt deleted file mode 100644 index 6d11dc1b..00000000 --- a/docs/build/html/_sources/msei_reference/latent.rst.txt +++ /dev/null @@ -1,28 +0,0 @@ -Latent MSEI Components -====================== - -Hospital Admissions -------------------- - -.. automodule:: pyrenew.latent.hospitaladmissions - :members: - :undoc-members: - :show-inheritance: - -Infections ----------- - -.. automodule:: pyrenew.latent.infections - :members: - :undoc-members: - :show-inheritance: - -Infection Functions -------------------- - -.. automodule:: pyrenew.latent.infection_functions - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Determine and naming order of these modules. diff --git a/docs/build/html/_sources/msei_reference/math.rst.txt b/docs/build/html/_sources/msei_reference/math.rst.txt deleted file mode 100644 index 58e64c3a..00000000 --- a/docs/build/html/_sources/msei_reference/math.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Math Utility Module -=================== - -.. automodule:: pyrenew.math - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/msei_reference/model.rst.txt b/docs/build/html/_sources/msei_reference/model.rst.txt deleted file mode 100644 index d430154c..00000000 --- a/docs/build/html/_sources/msei_reference/model.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -MSEI Model -========== - -Hospitalizations ----------------- - -.. automodule:: pyrenew.model.hospitalizations - :members: - :undoc-members: - :show-inheritance: - -Reproduction Number Renewal Infections --------------------------------------- - -.. automodule:: pyrenew.model.rtinfectionsrenewal - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Determine and naming order of these modules. diff --git a/docs/build/html/_sources/msei_reference/msei.rst.txt b/docs/build/html/_sources/msei_reference/msei.rst.txt deleted file mode 100644 index 8322fed0..00000000 --- a/docs/build/html/_sources/msei_reference/msei.rst.txt +++ /dev/null @@ -1,61 +0,0 @@ -General MSEI Support -==================== - -Metaclass Module -================ - -.. automodule:: pyrenew.metaclass - :members: - :undoc-members: - :show-inheritance: - -Convolution Utility Module --------------------------- - -.. automodule:: pyrenew.convolve - :members: - :undoc-members: - :show-inheritance: - -Mathematics Utilities Module ----------------------------- - -.. automodule:: pyrenew.math - :members: - :undoc-members: - :show-inheritance: - -Transform Utility Module ------------------------- - -.. automodule:: pyrenew.transform - :members: - :undoc-members: - :show-inheritance: - -Regression Module ------------------ - -.. automodule:: pyrenew.regression - :members: - :undoc-members: - :show-inheritance: - - -MCMC Utilities Module ---------------------- - -.. automodule:: pyrenew.mcmcutils - :members: - :undoc-members: - :show-inheritance: - -Distributions Utility Module ----------------------------- - -.. automodule:: pyrenew.distutil - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Determine and naming order of these modules. diff --git a/docs/build/html/_sources/msei_reference/observation.rst.txt b/docs/build/html/_sources/msei_reference/observation.rst.txt deleted file mode 100644 index 7ea62d46..00000000 --- a/docs/build/html/_sources/msei_reference/observation.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -Observation Processes -===================== - -Negative Binomial ------------------ - -.. automodule:: pyrenew.observation.negativebinomial - :members: - :undoc-members: - :show-inheritance: - -Poisson -------- - -.. automodule:: pyrenew.observation.poisson - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Determine order of these modules. diff --git a/docs/build/html/_sources/msei_reference/process.rst.txt b/docs/build/html/_sources/msei_reference/process.rst.txt deleted file mode 100644 index 15b9dd20..00000000 --- a/docs/build/html/_sources/msei_reference/process.rst.txt +++ /dev/null @@ -1,36 +0,0 @@ -Process MSEI -============ - -AR Processes ------------- - -.. automodule:: pyrenew.process.ar - :members: - :undoc-members: - :show-inheritance: - -First Difference (AR) ---------------------- - -.. automodule:: pyrenew.process.firstdifferencear - :members: - :undoc-members: - :show-inheritance: - -Reproduction Number Random Walk -------------------------------- - -.. automodule:: pyrenew.process.rtrandomwalk - :members: - :undoc-members: - :show-inheritance: - -Simple Random Walk ------------------- - -.. automodule:: pyrenew.process.simplerandomwalk - :members: - :undoc-members: - :show-inheritance: - -.. todo:: Determine order and naming of these modules. diff --git a/docs/build/html/_sources/msei_reference/regression.rst.txt b/docs/build/html/_sources/msei_reference/regression.rst.txt deleted file mode 100644 index 379c0ce6..00000000 --- a/docs/build/html/_sources/msei_reference/regression.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Regression Module -================== - -.. automodule:: pyrenew.regression - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/msei_reference/transform.rst.txt b/docs/build/html/_sources/msei_reference/transform.rst.txt deleted file mode 100644 index 14ea482c..00000000 --- a/docs/build/html/_sources/msei_reference/transform.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Transform Utility Module -======================== - -.. automodule:: pyrenew.transform - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/notices.rst.txt b/docs/build/html/_sources/notices.rst.txt deleted file mode 100644 index 7972d6db..00000000 --- a/docs/build/html/_sources/notices.rst.txt +++ /dev/null @@ -1,37 +0,0 @@ -Other Notices -============= - -General Disclaimer ------------------- - -This repository was created for use by CDC programs to collaborate on public health related projects in support of the `CDC mission `_. GitHub is not hosted by the CDC, but is a third party website used by CDC and its partners to share information and collaborate on software. CDC use of GitHub does not imply an endorsement of any one particular service, product, or enterprise. - -Public Domain Standard Notice ------------------------------ - -This repository constitutes a work of the United States Government and is not subject to domestic copyright protection under 17 USC § 105. This repository is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the `CC0 1.0 Universal public domain dedication `_. All contributions to this repository will be released under the CC0 dedication. By submitting a pull request you are agreeing to comply with this waiver of copyright interest. - -Privacy Standard Notice ------------------------ - -This repository contains only non-sensitive, publicly available data and information. All material and community participation is covered by the `Disclaimer `_` and `Code of Conduct `_. For more information about CDC's privacy policy, please visit `http://www.cdc.gov/other/privacy.html `_. - -Records Management Standard Notice ----------------------------------- - -This repository is not a source of government records but is a copy to increase collaboration and collaborative potential. All government records will be published through the `CDC web site `. - -Additional Standard Notices ---------------------------- - -Please refer to `CDC's Template Repository `_ for more information about `contributing to this repository `_, `public domain notices and disclaimers `_, and `code of conduct `_. - - -Final Notes ------------ - -Please refer, under Meta Information, the License and Reporting Issues pages for other standard notices. - -Note: [this page is a work in progress; the above text was taken from `https://github.com/CDCgov/multisignal-epi-inference `_ on 2024/03/25] - -.. todo:: Get baseline, accurate version of the Notices page. diff --git a/docs/build/html/_sources/observation.rst.txt b/docs/build/html/_sources/observation.rst.txt deleted file mode 100644 index 5be0e912..00000000 --- a/docs/build/html/_sources/observation.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Observation Module -================== - -.. automodule:: pyrenew.observation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/reference.rst.txt b/docs/build/html/_sources/reference.rst.txt deleted file mode 100644 index 4065f555..00000000 --- a/docs/build/html/_sources/reference.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -API Reference -============== - -.. toctree:: - :maxdepth: 4 - - observation diff --git a/docs/build/html/_sources/reference/index.rst.txt b/docs/build/html/_sources/reference/index.rst.txt deleted file mode 100644 index 4065f555..00000000 --- a/docs/build/html/_sources/reference/index.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -API Reference -============== - -.. toctree:: - :maxdepth: 4 - - observation diff --git a/docs/build/html/_sources/reference/observation.rst.txt b/docs/build/html/_sources/reference/observation.rst.txt deleted file mode 100644 index 5be0e912..00000000 --- a/docs/build/html/_sources/reference/observation.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Observation Module -================== - -.. automodule:: pyrenew.observation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/search.rst.txt b/docs/build/html/_sources/search.rst.txt deleted file mode 100644 index 24d8a887..00000000 --- a/docs/build/html/_sources/search.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Search Page -=========== - -:ref:`search` diff --git a/docs/build/html/_sources/state.rst.txt b/docs/build/html/_sources/state.rst.txt deleted file mode 100644 index e5932b77..00000000 --- a/docs/build/html/_sources/state.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -State Of Development -==================== - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the State Of Development page. diff --git a/docs/build/html/_sources/test_reference/index.rst.txt b/docs/build/html/_sources/test_reference/index.rst.txt deleted file mode 100644 index 79924955..00000000 --- a/docs/build/html/_sources/test_reference/index.rst.txt +++ /dev/null @@ -1,14 +0,0 @@ -Test Reference -============== - -.. toctree:: - :maxdepth: 3 - - test_ar_process - test_first_difference_ar - test_logistic_susceptibility_adjustment - test_random_walk - test_process_asymptotics - test_transforms - test_regression - test_leslie_matrix diff --git a/docs/build/html/_sources/test_reference/test_ar_process.rst.txt b/docs/build/html/_sources/test_reference/test_ar_process.rst.txt deleted file mode 100644 index 8cd482f4..00000000 --- a/docs/build/html/_sources/test_reference/test_ar_process.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -AR Process Testing Functions -============================ - -.. autofunction:: test.test_ar_process.test_ar_can_be_sampled diff --git a/docs/build/html/_sources/test_reference/test_first_difference_ar.rst.txt b/docs/build/html/_sources/test_reference/test_first_difference_ar.rst.txt deleted file mode 100644 index 2213dada..00000000 --- a/docs/build/html/_sources/test_reference/test_first_difference_ar.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -AR First Difference Testing Functions -===================================== - -.. autofunction:: test.test_first_difference_ar.test_fd_ar_can_be_sampled diff --git a/docs/build/html/_sources/test_reference/test_leslie_matrix.rst.txt b/docs/build/html/_sources/test_reference/test_leslie_matrix.rst.txt deleted file mode 100644 index 84a0421e..00000000 --- a/docs/build/html/_sources/test_reference/test_leslie_matrix.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Leslie Matrix Testing Functions -=============================== - -.. autofunction:: test.test_leslie_matrix.test_get_leslie diff --git a/docs/build/html/_sources/test_reference/test_logistic_susceptibility_adjustment.rst.txt b/docs/build/html/_sources/test_reference/test_logistic_susceptibility_adjustment.rst.txt deleted file mode 100644 index 970b16b0..00000000 --- a/docs/build/html/_sources/test_reference/test_logistic_susceptibility_adjustment.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Logistic Susceptibility Testing Functions -========================================= - -.. autofunction:: test.test_logistic_susceptibility_adjustment.test_logistic_susceptibility_adjustment diff --git a/docs/build/html/_sources/test_reference/test_process_asymptotics.rst.txt b/docs/build/html/_sources/test_reference/test_process_asymptotics.rst.txt deleted file mode 100644 index 7595f5b8..00000000 --- a/docs/build/html/_sources/test_reference/test_process_asymptotics.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Processed Asymptomatic Testing Functions -======================================== - -.. autofunction:: test.test_process_asymptotics.test_asymptotic_properties diff --git a/docs/build/html/_sources/test_reference/test_random_walk.rst.txt b/docs/build/html/_sources/test_reference/test_random_walk.rst.txt deleted file mode 100644 index 022aec1c..00000000 --- a/docs/build/html/_sources/test_reference/test_random_walk.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -Random Walk Testing Functions -============================= - -.. autofunction:: test.test_random_walk.test_rw_can_be_sampled - - -.. autofunction:: test.test_random_walk.test_rw_samples_correctly_distributed diff --git a/docs/build/html/_sources/test_reference/test_regression.rst.txt b/docs/build/html/_sources/test_reference/test_regression.rst.txt deleted file mode 100644 index 07910bc7..00000000 --- a/docs/build/html/_sources/test_reference/test_regression.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -Regression Testing Functions -============================ - -.. autofunction:: test.test_regression.test_glm_prediction diff --git a/docs/build/html/_sources/test_reference/test_transforms.rst.txt b/docs/build/html/_sources/test_reference/test_transforms.rst.txt deleted file mode 100644 index b19a5752..00000000 --- a/docs/build/html/_sources/test_reference/test_transforms.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -Transforms Testing Functions -============================ - -.. autofunction:: test.test_transforms.generic_inversion_test - -.. autofunction:: test.test_transforms.test_invert_dists diff --git a/docs/build/html/_sources/usage.rst.txt b/docs/build/html/_sources/usage.rst.txt deleted file mode 100644 index 6fabafd6..00000000 --- a/docs/build/html/_sources/usage.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -Setup & Usage -============= - -Note: [this page is a work in progress; this page is a placeholder] - -.. todo:: Get baseline, accurate version of the Setup & Usage page. diff --git a/docs/build/html/_static/alabaster.css b/docs/build/html/_static/alabaster.css deleted file mode 100644 index 4c276908..00000000 --- a/docs/build/html/_static/alabaster.css +++ /dev/null @@ -1,708 +0,0 @@ -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -body { - font-family: Georgia, serif; - font-size: 17px; - background-color: #fff; - color: #000; - margin: 0; - padding: 0; -} - - -div.document { - width: 940px; - margin: 30px auto 0 auto; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 220px; -} - -div.sphinxsidebar { - width: 220px; - font-size: 14px; - line-height: 1.5; -} - -hr { - border: 1px solid #B1B4B6; -} - -div.body { - background-color: #fff; - color: #3E4349; - padding: 0 30px 0 30px; -} - -div.body > .section { - text-align: left; -} - -div.footer { - width: 940px; - margin: 20px auto 30px auto; - font-size: 14px; - color: #888; - text-align: right; -} - -div.footer a { - color: #888; -} - -p.caption { - font-family: inherit; - font-size: inherit; -} - - -div.relations { - display: none; -} - - -div.sphinxsidebar { - max-height: 100%; - overflow-y: auto; -} - -div.sphinxsidebar a { - color: #444; - text-decoration: none; - border-bottom: 1px dotted #999; -} - -div.sphinxsidebar a:hover { - border-bottom: 1px solid #999; -} - -div.sphinxsidebarwrapper { - padding: 18px 10px; -} - -div.sphinxsidebarwrapper p.logo { - padding: 0; - margin: -10px 0 0 0px; - text-align: center; -} - -div.sphinxsidebarwrapper h1.logo { - margin-top: -10px; - text-align: center; - margin-bottom: 5px; - text-align: left; -} - -div.sphinxsidebarwrapper h1.logo-name { - margin-top: 0px; -} - -div.sphinxsidebarwrapper p.blurb { - margin-top: 0; - font-style: normal; -} - -div.sphinxsidebar h3, -div.sphinxsidebar h4 { - font-family: Georgia, serif; - color: #444; - font-size: 24px; - font-weight: normal; - margin: 0 0 5px 0; - padding: 0; -} - -div.sphinxsidebar h4 { - font-size: 20px; -} - -div.sphinxsidebar h3 a { - color: #444; -} - -div.sphinxsidebar p.logo a, -div.sphinxsidebar h3 a, -div.sphinxsidebar p.logo a:hover, -div.sphinxsidebar h3 a:hover { - border: none; -} - -div.sphinxsidebar p { - color: #555; - margin: 10px 0; -} - -div.sphinxsidebar ul { - margin: 10px 0; - padding: 0; - color: #000; -} - -div.sphinxsidebar ul li.toctree-l1 > a { - font-size: 120%; -} - -div.sphinxsidebar ul li.toctree-l2 > a { - font-size: 110%; -} - -div.sphinxsidebar input { - border: 1px solid #CCC; - font-family: Georgia, serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox input[type="text"] { - width: 160px; -} - -div.sphinxsidebar .search > div { - display: table-cell; -} - -div.sphinxsidebar hr { - border: none; - height: 1px; - color: #AAA; - background: #AAA; - - text-align: left; - margin-left: 0; - width: 50%; -} - -div.sphinxsidebar .badge { - border-bottom: none; -} - -div.sphinxsidebar .badge:hover { - border-bottom: none; -} - -/* To address an issue with donation coming after search */ -div.sphinxsidebar h3.donation { - margin-top: 10px; -} - -/* -- body styles ----------------------------------------------------------- */ - -a { - color: #004B6B; - text-decoration: underline; -} - -a:hover { - color: #6D4100; - text-decoration: underline; -} - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: Georgia, serif; - font-weight: normal; - margin: 30px 0px 10px 0px; - padding: 0; -} - -div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } -div.body h2 { font-size: 180%; } -div.body h3 { font-size: 150%; } -div.body h4 { font-size: 130%; } -div.body h5 { font-size: 100%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: #DDD; - padding: 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - color: #444; - background: #EAEAEA; -} - -div.body p, div.body dd, div.body li { - line-height: 1.4em; -} - -div.admonition { - margin: 20px 0px; - padding: 10px 30px; - background-color: #EEE; - border: 1px solid #CCC; -} - -div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { - background-color: #FBFBFB; - border-bottom: 1px solid #fafafa; -} - -div.admonition p.admonition-title { - font-family: Georgia, serif; - font-weight: normal; - font-size: 24px; - margin: 0 0 10px 0; - padding: 0; - line-height: 1; -} - -div.admonition p.last { - margin-bottom: 0; -} - -div.highlight { - background-color: #fff; -} - -dt:target, .highlight { - background: #FAF3E8; -} - -div.warning { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.danger { - background-color: #FCC; - border: 1px solid #FAA; - -moz-box-shadow: 2px 2px 4px #D52C2C; - -webkit-box-shadow: 2px 2px 4px #D52C2C; - box-shadow: 2px 2px 4px #D52C2C; -} - -div.error { - background-color: #FCC; - border: 1px solid #FAA; - -moz-box-shadow: 2px 2px 4px #D52C2C; - -webkit-box-shadow: 2px 2px 4px #D52C2C; - box-shadow: 2px 2px 4px #D52C2C; -} - -div.caution { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.attention { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.important { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.note { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.tip { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.hint { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.seealso { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.topic { - background-color: #EEE; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre, tt, code { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.9em; -} - -.hll { - background-color: #FFC; - margin: 0 -12px; - padding: 0 12px; - display: block; -} - -img.screenshot { -} - -tt.descname, tt.descclassname, code.descname, code.descclassname { - font-size: 0.95em; -} - -tt.descname, code.descname { - padding-right: 0.08em; -} - -img.screenshot { - -moz-box-shadow: 2px 2px 4px #EEE; - -webkit-box-shadow: 2px 2px 4px #EEE; - box-shadow: 2px 2px 4px #EEE; -} - -table.docutils { - border: 1px solid #888; - -moz-box-shadow: 2px 2px 4px #EEE; - -webkit-box-shadow: 2px 2px 4px #EEE; - box-shadow: 2px 2px 4px #EEE; -} - -table.docutils td, table.docutils th { - border: 1px solid #888; - padding: 0.25em 0.7em; -} - -table.field-list, table.footnote { - border: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -table.footnote { - margin: 15px 0; - width: 100%; - border: 1px solid #EEE; - background: #FDFDFD; - font-size: 0.9em; -} - -table.footnote + table.footnote { - margin-top: -15px; - border-top: none; -} - -table.field-list th { - padding: 0 0.8em 0 0; -} - -table.field-list td { - padding: 0; -} - -table.field-list p { - margin-bottom: 0.8em; -} - -/* Cloned from - * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 - */ -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -table.footnote td.label { - width: .1px; - padding: 0.3em 0 0.3em 0.5em; -} - -table.footnote td { - padding: 0.3em 0.5em; -} - -dl { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding: 0; -} - -dl dd { - margin-left: 30px; -} - -blockquote { - margin: 0 0 0 30px; - padding: 0; -} - -ul, ol { - /* Matches the 30px from the narrow-screen "li > ul" selector below */ - margin: 10px 0 10px 30px; - padding: 0; -} - -pre { - background: #EEE; - padding: 7px 30px; - margin: 15px 0px; - line-height: 1.3em; -} - -div.viewcode-block:target { - background: #ffd; -} - -dl pre, blockquote pre, li pre { - margin-left: 0; - padding-left: 30px; -} - -tt, code { - background-color: #ecf0f3; - color: #222; - /* padding: 1px 2px; */ -} - -tt.xref, code.xref, a tt { - background-color: #FBFBFB; - border-bottom: 1px solid #fff; -} - -a.reference { - text-decoration: none; - border-bottom: 1px dotted #004B6B; -} - -/* Don't put an underline on images */ -a.image-reference, a.image-reference:hover { - border-bottom: none; -} - -a.reference:hover { - border-bottom: 1px solid #6D4100; -} - -a.footnote-reference { - text-decoration: none; - font-size: 0.7em; - vertical-align: top; - border-bottom: 1px dotted #004B6B; -} - -a.footnote-reference:hover { - border-bottom: 1px solid #6D4100; -} - -a:hover tt, a:hover code { - background: #EEE; -} - - -@media screen and (max-width: 870px) { - - div.sphinxsidebar { - display: none; - } - - div.document { - width: 100%; - - } - - div.documentwrapper { - margin-left: 0; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - } - - div.bodywrapper { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - } - - ul { - margin-left: 0; - } - - li > ul { - /* Matches the 30px from the "ul, ol" selector above */ - margin-left: 30px; - } - - .document { - width: auto; - } - - .footer { - width: auto; - } - - .bodywrapper { - margin: 0; - } - - .footer { - width: auto; - } - - .github { - display: none; - } - - - -} - - - -@media screen and (max-width: 875px) { - - body { - margin: 0; - padding: 20px 30px; - } - - div.documentwrapper { - float: none; - background: #fff; - } - - div.sphinxsidebar { - display: block; - float: none; - width: 102.5%; - margin: 50px -30px -20px -30px; - padding: 10px 20px; - background: #333; - color: #FFF; - } - - div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, - div.sphinxsidebar h3 a { - color: #fff; - } - - div.sphinxsidebar a { - color: #AAA; - } - - div.sphinxsidebar p.logo { - display: none; - } - - div.document { - width: 100%; - margin: 0; - } - - div.footer { - display: none; - } - - div.bodywrapper { - margin: 0; - } - - div.body { - min-height: 0; - padding: 0; - } - - .rtd_doc_footer { - display: none; - } - - .document { - width: auto; - } - - .footer { - width: auto; - } - - .footer { - width: auto; - } - - .github { - display: none; - } -} - - -/* misc. */ - -.revsys-inline { - display: none!important; -} - -/* Hide ugly table cell borders in ..bibliography:: directive output */ -table.docutils.citation, table.docutils.citation td, table.docutils.citation th { - border: none; - /* Below needed in some edge cases; if not applied, bottom shadows appear */ - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - - -/* relbar */ - -.related { - line-height: 30px; - width: 100%; - font-size: 0.9rem; -} - -.related.top { - border-bottom: 1px solid #EEE; - margin-bottom: 20px; -} - -.related.bottom { - border-top: 1px solid #EEE; -} - -.related ul { - padding: 0; - margin: 0; - list-style: none; -} - -.related li { - display: inline; -} - -nav#rellinks { - float: right; -} - -nav#rellinks li+li:before { - content: "|"; -} - -nav#breadcrumbs li+li:before { - content: "\00BB"; -} - -/* Hide certain items when printing */ -@media print { - div.related { - display: none; - } -} diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css deleted file mode 100644 index 16e1d1e6..00000000 --- a/docs/build/html/_static/basic.css +++ /dev/null @@ -1,925 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} diff --git a/docs/build/html/_static/classic.css b/docs/build/html/_static/classic.css deleted file mode 100644 index 292e7c72..00000000 --- a/docs/build/html/_static/classic.css +++ /dev/null @@ -1,269 +0,0 @@ -/* - * classic.css_t - * ~~~~~~~~~~~~~ - * - * Sphinx stylesheet -- classic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -html { - /* CSS hack for macOS's scrollbar (see #1125) */ - background-color: #FFFFFF; -} - -body { - font-family: sans-serif; - font-size: 100%; - background-color: #11303d; - color: #000; - margin: 0; - padding: 0; -} - -div.document { - display: flex; - background-color: #1c4e63; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 230px; -} - -div.body { - background-color: #ffffff; - color: #000000; - padding: 0 20px 30px 20px; -} - -div.footer { - color: #ffffff; - width: 100%; - padding: 9px 0 9px 0; - text-align: center; - font-size: 75%; -} - -div.footer a { - color: #ffffff; - text-decoration: underline; -} - -div.related { - background-color: #133f52; - line-height: 30px; - color: #ffffff; -} - -div.related a { - color: #ffffff; -} - -div.sphinxsidebar { -} - -div.sphinxsidebar h3 { - font-family: 'Trebuchet MS', sans-serif; - color: #ffffff; - font-size: 1.4em; - font-weight: normal; - margin: 0; - padding: 0; -} - -div.sphinxsidebar h3 a { - color: #ffffff; -} - -div.sphinxsidebar h4 { - font-family: 'Trebuchet MS', sans-serif; - color: #ffffff; - font-size: 1.3em; - font-weight: normal; - margin: 5px 0 0 0; - padding: 0; -} - -div.sphinxsidebar p { - color: #ffffff; -} - -div.sphinxsidebar p.topless { - margin: 5px 10px 10px 10px; -} - -div.sphinxsidebar ul { - margin: 10px; - padding: 0; - color: #ffffff; -} - -div.sphinxsidebar a { - color: #98dbcc; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - - - -/* -- hyperlink styles ------------------------------------------------------ */ - -a { - color: #355f7c; - text-decoration: none; -} - -a:visited { - color: #551a8b; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - - - -/* -- body styles ----------------------------------------------------------- */ - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: 'Trebuchet MS', sans-serif; - background-color: #f2f2f2; - font-weight: normal; - color: #20435c; - border-bottom: 1px solid #ccc; - margin: 20px -20px 10px -20px; - padding: 3px 0 3px 10px; -} - -div.body h1 { margin-top: 0; font-size: 200%; } -div.body h2 { font-size: 160%; } -div.body h3 { font-size: 140%; } -div.body h4 { font-size: 120%; } -div.body h5 { font-size: 110%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: #c60f0f; - font-size: 0.8em; - padding: 0 4px 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - background-color: #c60f0f; - color: white; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - text-align: justify; - line-height: 130%; -} - -div.admonition p.admonition-title + p { - display: inline; -} - -div.admonition p { - margin-bottom: 5px; -} - -div.admonition pre { - margin-bottom: 5px; -} - -div.admonition ul, div.admonition ol { - margin-bottom: 5px; -} - -div.note { - background-color: #eee; - border: 1px solid #ccc; -} - -div.seealso { - background-color: #ffc; - border: 1px solid #ff6; -} - -nav.contents, -aside.topic, -div.topic { - background-color: #eee; -} - -div.warning { - background-color: #ffe4e4; - border: 1px solid #f66; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre { - padding: 5px; - background-color: unset; - color: unset; - line-height: 120%; - border: 1px solid #ac9; - border-left: none; - border-right: none; -} - -code { - background-color: #ecf0f3; - padding: 0 1px 0 1px; - font-size: 0.95em; -} - -th, dl.field-list > dt { - background-color: #ede; -} - -.warning code { - background: #efc2c2; -} - -.note code { - background: #d6d6d6; -} - -.viewcode-back { - font-family: sans-serif; -} - -div.viewcode-block:target { - background-color: #f4debf; - border-top: 1px solid #ac9; - border-bottom: 1px solid #ac9; -} - -div.code-block-caption { - color: #efefef; - background-color: #1c4e63; -} diff --git a/docs/build/html/_static/custom.css b/docs/build/html/_static/custom.css deleted file mode 100644 index 2a924f1d..00000000 --- a/docs/build/html/_static/custom.css +++ /dev/null @@ -1 +0,0 @@ -/* This file intentionally left blank. */ diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js deleted file mode 100644 index d06a71d7..00000000 --- a/docs/build/html/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js deleted file mode 100644 index 7e0cecce..00000000 --- a/docs/build/html/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '0.0.1', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; diff --git a/docs/build/html/_static/graphviz.css b/docs/build/html/_static/graphviz.css deleted file mode 100644 index 8d81c02e..00000000 --- a/docs/build/html/_static/graphviz.css +++ /dev/null @@ -1,19 +0,0 @@ -/* - * graphviz.css - * ~~~~~~~~~~~~ - * - * Sphinx stylesheet -- graphviz extension. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -img.graphviz { - border: 0; - max-width: 100%; -} - -object.graphviz { - max-width: 100%; -} diff --git a/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js deleted file mode 100644 index 68b9e83a..00000000 --- a/docs/build/html/_static/language_data.js +++ /dev/null @@ -1,198 +0,0 @@ -/* - * language_data.js - * ~~~~~~~~~~~~~~~~ - * - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, is available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} diff --git a/docs/build/html/_static/msei.css b/docs/build/html/_static/msei.css deleted file mode 100644 index 92a7888e..00000000 --- a/docs/build/html/_static/msei.css +++ /dev/null @@ -1,5 +0,0 @@ -@import url('https://your-font-hosting-url.com/path/to/iosevka.css'); - -body { - font-family: 'Iosevka', monospace; -} diff --git a/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css deleted file mode 100644 index ebe2a901..00000000 --- a/docs/build/html/_static/pygments.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } -.highlight .c { color: #408090; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #007020; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #007020 } /* Comment.Preproc */ -.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #333333 } /* Generic.Output */ -.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #007020 } /* Keyword.Pseudo */ -.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #902000 } /* Keyword.Type */ -.highlight .m { color: #208050 } /* Literal.Number */ -.highlight .s { color: #4070a0 } /* Literal.String */ -.highlight .na { color: #4070a0 } /* Name.Attribute */ -.highlight .nb { color: #007020 } /* Name.Builtin */ -.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ -.highlight .no { color: #60add5 } /* Name.Constant */ -.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ -.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #007020 } /* Name.Exception */ -.highlight .nf { color: #06287e } /* Name.Function */ -.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ -.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #bb60d5 } /* Name.Variable */ -.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mb { color: #208050 } /* Literal.Number.Bin */ -.highlight .mf { color: #208050 } /* Literal.Number.Float */ -.highlight .mh { color: #208050 } /* Literal.Number.Hex */ -.highlight .mi { color: #208050 } /* Literal.Number.Integer */ -.highlight .mo { color: #208050 } /* Literal.Number.Oct */ -.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ -.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ -.highlight .sc { color: #4070a0 } /* Literal.String.Char */ -.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ -.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ -.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ -.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ -.highlight .sx { color: #c65d09 } /* Literal.String.Other */ -.highlight .sr { color: #235388 } /* Literal.String.Regex */ -.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ -.highlight .ss { color: #517918 } /* Literal.String.Symbol */ -.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #06287e } /* Name.Function.Magic */ -.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ -.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ -.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ -.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ -.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js deleted file mode 100644 index 7918c3fa..00000000 --- a/docs/build/html/_static/searchtools.js +++ /dev/null @@ -1,574 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; - console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - // array of [docname, title, anchor, descr, score, filename] - let results = []; - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // lookup as object - objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - results = results.reverse(); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/build/html/_static/sidebar.js b/docs/build/html/_static/sidebar.js deleted file mode 100644 index 1e24d7b1..00000000 --- a/docs/build/html/_static/sidebar.js +++ /dev/null @@ -1,70 +0,0 @@ -/* - * sidebar.js - * ~~~~~~~~~~ - * - * This script makes the Sphinx sidebar collapsible. - * - * .sphinxsidebar contains .sphinxsidebarwrapper. This script adds - * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton - * used to collapse and expand the sidebar. - * - * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden - * and the width of the sidebar and the margin-left of the document - * are decreased. When the sidebar is expanded the opposite happens. - * This script saves a per-browser/per-session cookie used to - * remember the position of the sidebar among the pages. - * Once the browser is closed the cookie is deleted and the position - * reset to the default (expanded). - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -const initialiseSidebar = () => { - - - - - // global elements used by the functions. - const bodyWrapper = document.getElementsByClassName("bodywrapper")[0] - const sidebar = document.getElementsByClassName("sphinxsidebar")[0] - const sidebarWrapper = document.getElementsByClassName('sphinxsidebarwrapper')[0] - const sidebarButton = document.getElementById("sidebarbutton") - const sidebarArrow = sidebarButton.querySelector('span') - - // for some reason, the document has no sidebar; do not run into errors - if (typeof sidebar === "undefined") return; - - const flipArrow = element => element.innerText = (element.innerText === "»") ? "«" : "»" - - const collapse_sidebar = () => { - bodyWrapper.style.marginLeft = ".8em"; - sidebar.style.width = ".8em" - sidebarWrapper.style.display = "none" - flipArrow(sidebarArrow) - sidebarButton.title = _('Expand sidebar') - window.localStorage.setItem("sidebar", "collapsed") - } - - const expand_sidebar = () => { - bodyWrapper.style.marginLeft = "" - sidebar.style.removeProperty("width") - sidebarWrapper.style.display = "" - flipArrow(sidebarArrow) - sidebarButton.title = _('Collapse sidebar') - window.localStorage.setItem("sidebar", "expanded") - } - - sidebarButton.addEventListener("click", () => { - (sidebarWrapper.style.display === "none") ? expand_sidebar() : collapse_sidebar() - }) - - if (!window.localStorage.getItem("sidebar")) return - const value = window.localStorage.getItem("sidebar") - if (value === "collapsed") collapse_sidebar(); - else if (value === "expanded") expand_sidebar(); -} - -if (document.readyState !== "loading") initialiseSidebar() -else document.addEventListener("DOMContentLoaded", initialiseSidebar) diff --git a/docs/build/html/_static/sphinx_highlight.js b/docs/build/html/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69a..00000000 --- a/docs/build/html/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv deleted file mode 100644 index bedaccaf6cad36424b6d8a24e395095283a8af63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2913 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"] license = "Apache 2.0" -readme = "README.md" +package-mode = false [tool.poetry.dependencies] python = "^3.11" diff --git a/docs/source/general/ctoc.rst b/docs/source/general/ctoc.rst index 41df0b16..8aa01545 100644 --- a/docs/source/general/ctoc.rst +++ b/docs/source/general/ctoc.rst @@ -6,6 +6,7 @@ Complete Table Of Contents ../msei_reference/index ../test_reference/index + ../tutorials/index ../genindex ../modindex ../search diff --git a/docs/source/index.rst b/docs/source/index.rst index ce3e3920..06eb0a9a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -56,6 +56,7 @@ Documentation Components msei_reference/index test_reference/index + tutorials/index general/state general/faq general/usage diff --git a/docs/source/tutorials/example-with-datasets.rst b/docs/source/tutorials/example-with-datasets.rst new file mode 100644 index 00000000..5d8ae551 --- /dev/null +++ b/docs/source/tutorials/example-with-datasets.rst @@ -0,0 +1,550 @@ +Fitting a Hospital Admissions-only Model +======================================== + +This document illustrates how a hospital admissions-only model can be +fitted using data from the Pyrenew package, particularly the wastewater +dataset. The CFA wastewater team created this dataset, which contains +simulated data. + +Model definition +---------------- + +In this section, we provide the formal definition of the model. The +hospitalization model is a semi-mechanistic model that describes the +number of observed hospital admissions as a function of a set of latent +variables. Mainly, the observed number of hospital admissions is +discretely distributed with location at the number of latent hospital +admissions: + +.. math:: + + + h(t) \sim \text{HospDist}\left(H(t)\right) + +Where :math:`h(t)` is the observed number of hospital admissions at time +:math:`t`, and :math:`H(t)` is the number of latent hospital admissions +at time :math:`t`. The distribution :math:`\text{HospDist}` is discrete. +For this example, we will use a negative binomial distribution: + +.. math:: + + + \begin{align*} + h(t) & \sim \text{NegativeNinomial}\left(\text{concentration} = 1, \text{mean} = H(t)\right) \\ + H(t) & = \omega(t) p_\mathrm{hosp}(t) \sum_{\tau = 0}^{T_d} d(\tau) I(t-\tau) + \end{align*} + +Were :math:`d(\tau)` is the infection to hospitalization interval, +:math:`I(t)` is the number of latent infections at time :math:`t`, +:math:`p_\mathrm{hosp}(t)` is the infection to hospitalization rate, and +:math:`\omega(t)` is the weekday effect at time :math:`t`; the last +section provides an example building a weekly effect ``RandomVariable``. + +The number of latent hospital admissions at time :math:`t` is a function +of the number of latent infections at time :math:`t` and the infection +to hospitalization rate. The latent infections are modeled as a renewal +process: + +.. math:: + + + \begin{align*} + I(t) &= R(t) \times \sum_{\tau < t} I(\tau) g(t - \tau) \\ + I(0) &\sim \text{LogNormal}(\mu = \log(80/0.05), \sigma = 1.5) + \end{align*} + +The reproductive number :math:`R(t)` is modeled as a random walk +process: + +.. math:: + + + \begin{align*} + R(t) & = R(t-1) + \epsilon\\ + \log{\epsilon} & \sim \text{Normal}(\mu=0, \sigma=0.1) \\ + R(0) &\sim \text{TruncatedNormal}(\text{loc}=1.2, \text{scale}=0.2, \text{min}=0) + \end{align*} + +Data processing +--------------- + +We start by loading the data and inspecting the first five rows. + +.. code:: python + + import polars as pl + from pyrenew import datasets + + dat = datasets.load_wastewater() + dat.head(5) + +.. container:: + + .. raw:: html + + + + shape: (5, 14) + + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | t | la | l | da | l | b | d | daily | p | f | h | s | w | in | + | | b_ww | o | te | o | e | aily | _hosp_a | o | or | osp_c | i | w | f_ | + | | tp_u | g | | d | l | _hos | dmits_f | p | ec | alibr | t | _ | pe | + | | niqu | _ | | _ | o | p_ad | or_eval | | as | ation | e | p | r_ | + | | e_id | c | | s | w | mits | | | t_ | _time | | o | ca | + | | | o | | e | _ | | | | da | | | p | pi | + | | | n | | w | L | | | | te | | | | ta | + | | | c | | a | O | | | | | | | | | + | | | | | g | D | | | | | | | | | + | | | | | e | | | | | | | | | | + +===+======+===+====+===+===+======+=========+===+====+=======+===+===+====+ + | i | i64 | f | s | f | i | i64 | i64 | f | s | i64 | i | f | f | + | 6 | | 6 | tr | 6 | 6 | | | 6 | tr | | 6 | 6 | 64 | + | 4 | | 4 | | 4 | 4 | | | 4 | | | 4 | 4 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | 1 | 1 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 1 | 4 | 0. | + | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | + | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | + | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | + | | | | -3 | | | | | | -0 | | | 0 | | + | | | | 0” | | | | | | 5” | | | 0 | | + | | | | | | | | | | | | | . | | + | | | | | | | | | | | | | 0 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | 1 | 2 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 1 | 4 | 0. | + | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | + | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | + | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | + | | | | -3 | | | | | | -0 | | | 0 | | + | | | | 0” | | | | | | 5” | | | 0 | | + | | | | | | | | | | | | | . | | + | | | | | | | | | | | | | 0 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | 1 | 3 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 2 | 2 | 0. | + | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | + | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | + | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | + | | | | -3 | | | | | | -0 | | | 0 | | + | | | | 0” | | | | | | 5” | | | 0 | | + | | | | | | | | | | | | | . | | + | | | | | | | | | | | | | 0 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | 1 | 4 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 3 | 1 | 0. | + | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | + | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | + | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | + | | | | -3 | | | | | | -0 | | | 0 | | + | | | | 0” | | | | | | 5” | | | 0 | | + | | | | | | | | | | | | | . | | + | | | | | | | | | | | | | 0 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + | 1 | 5 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 4 | 5 | 0. | + | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | + | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | + | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | + | | | | -3 | | | | | | -0 | | | 0 | | + | | | | 0” | | | | | | 5” | | | . | | + | | | | | | | | | | | | | 0 | | + +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ + +The data shows one entry per site, but the way it was simulated, the +number of admissions is the same across sites. Thus, we will only keep +the first observation per day. + +.. code:: python + + # Keeping the first observation of each date + dat = dat.group_by("date").first().select(["date", "daily_hosp_admits"]) + + # Now, sorting by date + dat = dat.sort("date") + + # Keeping the first 90 days + dat = dat.head(90) + + dat.head(5) + +.. container:: + + .. raw:: html + + + + shape: (5, 2) + + ============ ================= + date daily_hosp_admits + ============ ================= + str i64 + “2023-10-30” 6 + “2023-10-31” 8 + “2023-11-01” 4 + “2023-11-02” 8 + “2023-11-03” 4 + ============ ================= + +Let’s take a look at the daily prevalence of hospital admissions. + +.. code:: python + + import matplotlib.pyplot as plt + + # Rotating the x-axis labels, and only showing ~10 labels + ax = plt.gca() + ax.xaxis.set_major_locator(plt.MaxNLocator(nbins=10)) + ax.xaxis.set_tick_params(rotation=45) + plt.plot(dat["date"].to_numpy(), dat["daily_hosp_admits"].to_numpy()) + plt.xlabel("Date") + plt.ylabel("Admissions") + plt.show() + +Building the model +------------------ + +First, we will extract two datasets we will use as deterministic +quantities: the generation interval and the infection to hospitalization +interval. + +.. code:: python + + gen_int = datasets.load_generation_interval() + inf_hosp_int = datasets.load_infection_admission_interval() + + # We only need the probability_mass column of each dataset + gen_int = gen_int["probability_mass"].to_numpy() + inf_hosp_int = inf_hosp_int["probability_mass"].to_numpy() + + # Taking a pick at the first 5 elements of each + gen_int[:5], inf_hosp_int[:5] + + # Visualizing both quantities side by side + fig, axs = plt.subplots(1, 2) + + axs[0].plot(gen_int) + axs[0].set_title("Generation interval") + axs[1].plot(inf_hosp_int) + axs[1].set_title("Infection to hospitalization interval") + +:: + + Text(0.5, 1.0, 'Infection to hospitalization interval') + +With these two in hand, we can start building the model. First, we will +define the latent hospital admissions: + +.. code:: python + + from pyrenew import latent, deterministic + import jax.numpy as jnp + import numpyro.distributions as dist + + inf_hosp_int = deterministic.DeterministicPMF(inf_hosp_int) + + hosp_rate = latent.InfectHospRate( + dist=dist.LogNormal(jnp.log(0.05), 0.1) + ) + + latent_hosp = latent.HospitalAdmissions( + infection_to_admission_interval=inf_hosp_int, + infect_hosp_rate_dist=hosp_rate, + ) + +:: + + /mnt/c/Users/xrd4/Documents/repos/msr/model/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html + from .autonotebook import tqdm as notebook_tqdm + An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. + +The ``inf_hosp_int`` is a ``DeterministicPMF`` object that takes the +infection to hospitalization interval as input. The ``hosp_rate`` is an +``InfectHospRate`` object that takes the infection to hospitalization +rate as input. The ``HospitalAdmissions`` class is a ``RandomVariable`` +that takes two distributions as inputs: the infection to admission +interval and the infection to hospitalization rate. Now, we can define +the rest of the other components: + +.. code:: python + + from pyrenew import model, process, observation + + # Infection process + latent_inf = latent.Infections() + I0 = latent.Infections0(I0_dist=dist.LogNormal(loc=jnp.log(80/.05), scale=1.5)) + + # Generation interval and Rt + gen_int = deterministic.DeterministicPMF(gen_int) + rtproc = process.RtRandomWalkProcess( + Rt_rw_dist=dist.Normal(0, 0.1) + ) + + # The observation model + obs = observation.NegativeBinomialObservation(concentration_prior=1.0) + +Notice all the components are ``RandomVariable`` instances. We can now +build the model: + +.. code:: python + + hosp_model = model.HospitalizationsModel( + latent_infections=latent_inf, + latent_hospitalizations=latent_hosp, + I0=I0, + gen_int=gen_int, + Rt_process=rtproc, + observation_process=obs, + ) + +Let’s simulate to check if the model is working: + +.. code:: python + + import numpyro as npro + import numpy as np + + timeframe = 120 + + np.random.seed(223) + with npro.handlers.seed(rng_seed = np.random.randint(1, timeframe)): + sim_data = hosp_model.sample(n_timepoints=timeframe) + +.. code:: python + + import matplotlib.pyplot as plt + + fig, axs = plt.subplots(1, 2) + + # Rt plot + axs[0].plot(range(0, timeframe + 1), sim_data.Rt) + axs[0].set_ylabel('Rt') + + # Infections plot + axs[1].plot(range(0, timeframe + 1), sim_data.sampled_admissions) + axs[1].set_ylabel('Infections') + axs[1].set_yscale('log') + + fig.suptitle('Basic renewal model') + fig.supxlabel('Time') + plt.tight_layout() + plt.show() + +.. figure:: example-with-datasets_files/figure-commonmark/basic-fig-output-1.png + :alt: Rt and Infections + + Rt and Infections + +Fitting the model +----------------- + +We can fit the model to the data. We will use the ``run`` method of the +model object. The two inputs this model requires are ``n_timepoints`` +and ``observed_hospitalizations`` + +.. code:: python + + import jax + + hosp_model.run( + num_samples=2000, + num_warmup=2000, + n_timepoints=dat.shape[0] - 1, + observed_hospitalizations=dat["daily_hosp_admits"].to_numpy(), + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) + +We can use the ``plot_posterior`` method to visualize the results [1]_: + +.. code:: python + + out = hosp_model.plot_posterior( + var="predicted_hospitalizations", + ylab="Hospital Admissions", + obs_signal=dat["daily_hosp_admits"].to_numpy(), + ) + +.. figure:: example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png + :alt: Hospital Admissions posterior distribution + + Hospital Admissions posterior distribution + +The first half of the model is not looking good. The reason is that the +infection to hospitalization interval PMF makes it unlikely to observe +admissions from the beginning. The following section shows how to fix +this. + +Padding the model +----------------- + +We can use the padding argument to solve the overestimation of +hospitalizations in the first half of the model. By setting +``padding > 0``, the model then assumes that the first ``padding`` +observations are missing; thus, only observations after ``padding`` will +count towards the likelihood of the model. In practice, the model will +extend the estimated Rt and latent infections by ``padding`` days, given +time to adjust to the observed data. The following code will add 21 days +of missing data at the beginning of the model and re-estimate it with +``padding = 21``: + +.. code:: python + + days_to_impute = 21 + + dat2 = dat["daily_hosp_admits"].to_numpy() + + # Add 21 Nas to the beginning of dat2 + dat2 = np.hstack((np.repeat(np.nan, days_to_impute), dat2)) + + hosp_model.run( + num_samples=2000, + num_warmup=2000, + n_timepoints=dat2.shape[0] - 1, + observed_hospitalizations=dat2, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + padding=days_to_impute, # Padding the model + ) + +And plotting the results: + +.. code:: python + + out = hosp_model.plot_posterior( + var="predicted_hospitalizations", + ylab="Hospital Admissions", + obs_signal=dat2, + ) + +.. figure:: example-with-datasets_files/figure-commonmark/output-admissions-with-padding-output-1.png + :alt: Hospital Admissions posterior distribution + + Hospital Admissions posterior distribution + +We can also take a look at the latent infections: + +.. code:: python + + out2 = hosp_model.plot_posterior( + var="latent_infections", + ylab="Latent Infections" + ) + +.. figure:: example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png + :alt: Hospital Admissions posterior distribution + + Hospital Admissions posterior distribution + +Round 2: Incorporating weekday effects +-------------------------------------- + +We will re-use the infection to admission interval and infection to +hospitalization rate from the previous model. But we will also add a +weekday effect distribution. To do this, we will create a new instance +of ``RandomVariable`` to model the weekday effect. The weekday effect +will be a truncated normal distribution with a mean of 1.0 and a +standard deviation of 0.5. The distribution will be truncated between +0.1 and 10.0. The weekday effect will be repeated for the number of +weeks in the dataset. + +.. code:: python + + from pyrenew import metaclass + import numpyro as npro + + class WeekdayEffect(metaclass.RandomVariable): + """Weekday effect distribution""" + def __init__(self, len: int): + """ Initialize the weekday effect distribution + Parameters + ---------- + len : int + The number of observations + """ + self.nweeks = jnp.ceil(len/7).astype(int) + self.len = len + + @staticmethod + def validate(): + return None + + def sample(self, **kwargs): + ans = npro.sample( + name="weekday_effect", + fn=npro.distributions.TruncatedNormal( + loc=1.0, scale=.5, low=0.1, high=10.0 + ), + sample_shape=(7,) + ) + + return jnp.tile(ans, self.nweeks)[:self.len] + + # Initializing the weekday effect + weekday_effect = WeekdayEffect(dat.shape[0]) + +Notice that the instance’s ``nweeks`` and ``len`` members are passed +during construction. Trying to compute the number of weeks and the +length of the dataset in the ``validate`` method will raise a ``jit`` +error in ``jax`` as the shape and size of elements are not known during +the validation step, which happens before the model is run. With the new +weekday effect, we can rebuild the latent hospitalization model: + +.. code:: python + + latent_hosp_wday_effect = latent.HospitalAdmissions( + infection_to_admission_interval=inf_hosp_int, + infect_hosp_rate_dist=hosp_rate, + weekday_effect_dist=weekday_effect, + ) + + hosp_model_weekday = model.HospitalizationsModel( + latent_infections=latent_inf, + latent_hospitalizations=latent_hosp_wday_effect, + I0=I0, + gen_int=gen_int, + Rt_process=rtproc, + observation_process=obs, + ) + +Running the model (with the same padding as before): + +.. code:: python + + hosp_model_weekday.run( + num_samples=2000, + num_warmup=2000, + n_timepoints=dat2.shape[0] - 1, + observed_hospitalizations=dat2, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + padding=days_to_impute, + ) + +And plotting the results: + +.. code:: python + + out = hosp_model_weekday.plot_posterior( + var="predicted_hospitalizations", + ylab="Hospital Admissions", + obs_signal=dat2, + ) + +.. figure:: example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png + :alt: Hospital Admissions posterior distribution + + Hospital Admissions posterior distribution + +.. [1] + The output is captured to avoid ``quarto`` from displaying the output + twice. diff --git a/docs/source/tutorials/getting-started.rst b/docs/source/tutorials/getting-started.rst new file mode 100644 index 00000000..bf2cb602 --- /dev/null +++ b/docs/source/tutorials/getting-started.rst @@ -0,0 +1,282 @@ +Getting started with pyrenew +============================ + +``pyrenew`` is a flexible tool for simulating and making statistical +inference of epidemiological models, emphasizing renewal models. Built +on ``numpyro``, ``pyrenew`` provides core components for model building +and pre-defined models for processing various observational processes. +This document illustrates how ``pyrenew`` can be used to build a basic +renewal model. + +The fundamentals +---------------- + +``pyrenew``\ ’s core components are the metaclasses ``RandomVariable`` +and ``Model``. From the package’s perspective, a ``RandomVariable`` is a +quantity models can sample and estimate, **including deterministic +quantities**. Mainly, sampling from a ``RandomVariable`` involves +calling the ``sample()`` method. The benefit of this design is the +definition of the sample function can be arbitrary, allowing the user to +either sample from a distribution using ``numpyro.sample()``, compute +fixed quantities (like a mechanistic equation), or return a fixed value +(like a pre-computed PMF.) For instance, we may be interested in +estimating a PMF, in which case a ``RandomVariable`` sampling function +may roughly be defined as: + +.. code:: python + + class MyRandVar(RandomVariable): + def sample(...) -> ArrayLike: + return numpyro.sample(...) + +Whereas, in some other cases, we may instead use a fixed quantity for +that variable (like a pre-computed PMF), where the +``RandomVariable``\ ’s sample function could be defined like: + +.. code:: python + + class MyRandVar(RandomVariable): + def sample(...) -> ArrayLike: + return jax.numpy.array([0.2, 0.7, 0.1]) + +This way, when a ``Model`` samples from ``MyRandVar``, it could be +either adding random variables to be estimated (first case) or just +retrieving some quantity needed for other calculations (second case.) + +The ``Model`` metaclass provides basic functionality for estimating and +simulation. Like ``RandomVariable``, the ``Model`` metaclass has a +``sample()`` method that defines the model structure. Ultimately, models +can be nested (or inherited), providing a straightforward way to add +layers of complexity. + +‘Hello world’ model +------------------- + +This section will show the steps to build a simple renewal model +featuring a latent infection process, a random walk Rt process, and an +observation process for the reported infections. We start by loading the +needed components to build a basic renewal model: + +.. code:: python + + import jax.numpy as jnp + import numpy as np + import numpyro as npro + import numpyro.distributions as dist + from pyrenew.process import RtRandomWalkProcess + from pyrenew.latent import Infections, Infections0 + from pyrenew.observation import PoissonObservation + from pyrenew.deterministic import DeterministicPMF + from pyrenew.model import RtInfectionsRenewalModel + +The basic renewal model defines five components: generation interval, +initial infections, Rt, latent infections, and observed infections. In +this example, the generation interval is not estimated but passed as a +deterministic instance of ``RandomVariable``. Here is the code to +initialize the five components: + +.. code:: python + + # (1) The generation interval (deterministic) + gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) + + # (2) Initial infections (inferred with a prior) + I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) + + # (3) The random process for Rt + rt_proc = RtRandomWalkProcess() + + # (4) Latent infection process (which will use 1 and 2) + latent_infections = Infections() + + # (5) The observed infections process (with mean at the latent infections) + observation_process = PoissonObservation() + +With these five pieces, we can build the basic renewal model: + +.. code:: python + + model1 = RtInfectionsRenewalModel( + gen_int = gen_int, + I0 = I0, + Rt_process = rt_proc, + latent_infections = latent_infections, + observation_process = observation_process, + ) + +The following diagram summarizes how the modules interact via +composition; notably, ``gen_int``, ``I0``, ``rt_proc``, +``latent_infections``, and ``observed_infections`` are instances of +``RandomVariable``, which means these can be easily replaced to generate +a different version of ``RtInfectionsRenewalModel``: + +.. code:: mermaid + + flowchart TB + genint["(1) gen_int\n(DetermnisticPMF)"] + i0["(2) I0\n(Infections0)"] + rt["(3) rt_proc\n(RtRandomWalkProcess)"] + inf["(4) latent_infections\n(Infections)"] + obs["(5) observation_process\n(PoissonObservation)"] + + model1["model1\n(RtInfectionsRenewalModel)"] + + i0-->|Composes|model1 + genint-->|Composes|model1 + rt-->|Composes|model1 + obs-->|Composes|model1 + inf-->|Composes|model1 + +Using ``numpyro``, we can simulate data using the ``sample()`` member +function of ``RtInfectionsRenewalModel``: + +.. code:: python + + np.random.seed(223) + with npro.handlers.seed(rng_seed = np.random.randint(1, 60)): + sim_data = model1.sample(n_timepoints=30) + + sim_data + +:: + + RtInfectionsRenewalSample(Rt=[1.2022278 1.2111099 1.2325984 1.2104921 1.2023039 1.1970979 1.2384264 + 1.2423582 1.245498 1.241344 1.2081108 1.1938375 1.271196 1.3189521 + 1.3054799 1.3165426 1.291952 1.3026639 1.2619467 1.2852622 1.3121517 + 1.2888998 1.2641873 1.2580931 1.2545817 1.3092988 1.2488269 1.2397509 + 1.2071848 1.2334517 1.21868 ], latent_infections=[ 2.3215084 3.0415602 4.0327816 5.180868 4.381411 4.978916 + 5.750626 6.3024273 6.66758 7.354823 7.8755097 8.416656 + 9.63394 10.973988 12.043082 13.516833 14.911659 16.75407 + 18.053928 20.318869 22.975292 25.166464 27.34265 30.13236 + 33.126217 37.89362 40.11695 43.784634 46.754696 51.974545 + 55.642136 ], sampled_infections=[ 1 2 3 5 4 4 7 4 8 4 7 3 8 12 13 18 14 20 17 18 28 27 36 37 + 26 31 40 27 48 54 60]) + +The ``sample()`` method of the ``RtInfectionsRenewalModel`` returns a +list composed of the ``Rt`` and ``infections`` sequences. + +.. code:: python + + import matplotlib.pyplot as plt + + fig, axs = plt.subplots(1, 2) + + # Rt plot + axs[0].plot(range(0, 31), sim_data.Rt) + axs[0].set_ylabel('Rt') + + # Infections plot + axs[1].plot(range(0, 31), sim_data.sampled_infections) + axs[1].set_ylabel('Infections') + + fig.suptitle('Basic renewal model') + fig.supxlabel('Time') + plt.tight_layout() + plt.show() + +.. figure:: getting-started_files/figure-commonmark/basic-fig-output-1.png + :alt: Rt and Infections + + Rt and Infections + +To fit the model, we can use the ``run()`` method of the model +``RtInfectionsRenewalModel``; an inherited method from the metaclass +``Model``: + +.. code:: python + + import jax + + model1.run( + num_warmup=2000, + num_samples=1000, + observed_infections=sim_data.sampled_infections, + n_timepoints = len(sim_data[1])-1, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) + +Now, let’s investigate the output, particularly the posterior +distribution of the Rt estimates: + +.. code:: python + + import polars as pl + samps = model1.spread_draws([('Rt', 'time')]) + + fig, ax = plt.subplots(figsize=[4, 5]) + + ax.plot(sim_data.Rt) + samp_ids = np.random.randint(size=25, low=0, high=999) + for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) + ax.set_ylim([0.4, 1/.4]) + ax.set_yticks([0.5, 1, 2]) + ax.set_yscale("log") + +.. figure:: getting-started_files/figure-commonmark/output-rt-output-1.png + :alt: Rt posterior distribution + + Rt posterior distribution + +Architecture of pyrenew +----------------------- + +``pyrenew`` leverages ``numpyro``\ ’s flexibility to build models via +composition. As a principle, most objects in ``pyrenew`` can be treated +as random variables we can sample. At the top-level ``pyrenew`` has two +metaclass from which most objects inherit: ``RandomVariable`` and +``Model``. From them, the following four sub-modules arise: + +- The ``process`` sub-module, +- The ``deterministic`` sub-module, +- The ``observation`` sub-module, +- The ``latent`` sub-module, and +- The ``models`` sub-module + +The first four are collections of instances of ``RandomVariable``, and +the last is a collection of instances of ``Model``. The following +diagram shows a detailed view of how meta classes, modules, and classes +interact to create the ``RtInfectionsRenewalModel`` instantiated in the +previous section: + +.. code:: mermaid + + flowchart LR + rand((RandomVariable\nmetaclass)) + models((Model\nmetaclass)) + + subgraph observations[Observations module] + obs["observation_process\n(PoissonObservation)"] + end + + subgraph latent[Latent module] + inf["latent_infections\n(Infections)"] + i0["I0\n(Infections0)"] + end + + subgraph process[Process module] + rt["rt_proc\n(RtRandomWalkProcess)"] + end + + subgraph deterministic[Deterministic module] + detpmf["gen_int\n(DeterministicPMF)"] + end + + subgraph model[Model module] + model1["model1\n(RtInfectionsRenewalModel)"] + end + + rand-->|Inherited by|observations + rand-->|Inherited by|process + rand-->|Inherited by|latent + rand-->|Inherited by|deterministic + models-->|Inherited by|model + + detpmf-->|Composes|model1 + i0-->|Composes|model1 + rt-->|Composes|model1 + obs-->|Composes|model1 + inf-->|Composes|model1 diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst new file mode 100644 index 00000000..50151d10 --- /dev/null +++ b/docs/source/tutorials/index.rst @@ -0,0 +1,9 @@ +Tutorials Reference +============== + +.. toctree:: + :maxdepth: 3 + + getting-started + example-with-datasets + pyrenew_demo diff --git a/docs/source/tutorials/pyrenew_demo.rst b/docs/source/tutorials/pyrenew_demo.rst new file mode 100644 index 00000000..58b9a9a2 --- /dev/null +++ b/docs/source/tutorials/pyrenew_demo.rst @@ -0,0 +1,311 @@ +Pyrenew demo +============ + +This demo simulates some basic renewal process data and then fits to it +using ``pyrenew``. + +Assuming you’ve already installed Python and pip, you’ll need to first +install ``pyrenew``: + +.. code:: python + + pip install pyrenew + +You’ll also need working installations of ``matplotlib``, ``numpy``, +``jax``, ``numpyro``, and ``polars``: + +.. code:: python + + pip install matplotlib numpy jax numpyro polars + +To begin, run the following import section to call external modules and +functions necessary to run the ``pyrenew`` demo. The ``import`` +statement imports the module and the ``as`` statement renames the module +for use within this script. The ``from`` statement imports a specific +function from a module (named after the ``.``) within a package (named +before the ``.``). + +.. code:: python + + import matplotlib as mpl + import matplotlib.pyplot as plt + import jax + import jax.numpy as jnp + import numpy as np + from numpyro.handlers import seed + import numpyro.distributions as dist + +.. code:: python + + from pyrenew.process import SimpleRandomWalkProcess + +:: + + An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. + +To understand the simple random walk process underlying the sampling +within the renewal process model, we first examine a single random walk +path. Using the ``sample`` method from an instance of the +``SimpleRandomWalkProcess`` class, we first create an instance of the +``SimpleRandomWalkProcess`` class with a normal distribution of mean = 0 +and standard deviation = 0.0001 as its input. Next, the ``with`` +statement sets the seed for the random number generator for the duration +of the block that follows. Inside the ``with`` block, the +``q_samp = q.sample(duration=100)`` generates the sample instance over a +duration of 100 time units. Finally, this single random walk process is +visualized using ``matplot.pyplot`` to plot the exponential of the +sample instance. + +.. code:: python + + np.random.seed(3312) + q = SimpleRandomWalkProcess(dist.Normal(0, 0.001)) + with seed(rng_seed=np.random.randint(0,1000)): + q_samp = q.sample(duration=100) + + plt.plot(np.exp(q_samp[0])) + +|image0| + +Next, import several additional functions from the ``latent`` module of +the ``pyrenew`` package to model infections, hospital admissions, +initial infections, and hospitalization rate due to infection. + +.. code:: python + + from pyrenew.latent import ( + Infections, HospitalAdmissions, Infections0, InfectHospRate, + ) + +Additionally, import several classes from Pyrenew, including a Poisson +observation process, determininstic PMF and variable classes, the +Pyrenew hospitalization model, and a renewal modle (Rt) random walk +process: + +.. code:: python + + from pyrenew.observation import PoissonObservation + from pyrenew.deterministic import DeterministicPMF, DeterministicVariable + from pyrenew.model import HospitalizationsModel + from pyrenew.process import RtRandomWalkProcess + +To initialize the model, we first define initial conditions, including: + +1) deterministic generation time, defined as an instance of the + ``DeterministicPMF`` class, which gives the probability of each + possible outcome for a discrete random variable given as a JAX NumPy + array of four possible outcomes + +2) initial infections at the start of simulation as a log-normal + distribution with mean = 0 and standard deviation = 1 + +3) latent infections as an instance of the ``Infections`` class with + default settings + +4) latent hospitalization process, modeled by first defining the time + interval from infections to hospitalizations as a + ``DeterministicPMF`` input with 18 possible outcomes and + corresponding probabilities given by the values in the array. The + ``HospitalAdmissions`` function then takes in this defined time + interval, as well as defining the rate at which infections are + admitted to the hospital due to infection, modeled as a log-normal + distribution with mean = ``jnp.log(0.05)`` and standard deviation = + 0.05. + +5) hospitalization observation process, modeled with a Poisson + distribution + +6) an Rt random walk process with default settings + +.. code:: python + + # Initializing model components: + + # 1) A deterministic generation time + gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) + + # 2) Initial infections + I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) + + # 3) The latent infections process + latent_infections = Infections() + + # 4) The latent hospitalization process: + + # First, define a deterministic infection to hosp pmf + inf_hosp_int = DeterministicPMF( + jnp.array([0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05]), + ) + + latent_hospitalizations = HospitalAdmissions( + infection_to_admission_interval=inf_hosp_int, + infect_hosp_rate_dist = InfectHospRate( + dist=dist.LogNormal(jnp.log(0.05), 0.05), + ), + ) + + # 5) An observation process for the hospitalizations + obs_process = PoissonObservation() + + # 6) A random walk process (it could be deterministic using + # pyrenew.process.DeterministicProcess()) + Rt_process = RtRandomWalkProcess() + +The ``HospitalizationsModel`` is then initialized using the initial +conditions just defined: + +.. code:: python + + # Initializing the model + hospmodel = HospitalizationsModel( + gen_int=gen_int, + I0=I0, + latent_hospitalizations=latent_hospitalizations, + observation_process=obs_process, + latent_infections=latent_infections, + Rt_process=Rt_process + ) + +Next, we sample from the ``hospmodel`` for 30 time steps and view the +output of a single run: + +.. code:: python + + with seed(rng_seed=np.random.randint(1, 60)): + x = hospmodel.sample(n_timepoints=30) + x + +:: + + HospModelSample(Rt=[1.1791104 1.1995267 1.1772177 1.1913829 1.2075942 1.1444623 1.1514508 + 1.1976782 1.2292639 1.1719677 1.204649 1.2323451 1.2466507 1.2800207 + 1.2749145 1.2619376 1.2189837 1.2192641 1.2290158 1.2128737 1.1908046 + 1.2174997 1.1941082 1.2084603 1.1965215 1.2248698 1.2308019 1.2426206 + 1.2131014 1.207159 1.1837622], latent_infections=[0.05214045 0.06867922 0.08761451 0.11476436 0.09757317 0.10547114 + 0.1167062 0.13010225 0.13824694 0.14372033 0.15924728 0.17601486 + 0.19236736 0.21483542 0.23664482 0.25865382 0.27503362 0.30029488 + 0.3289544 0.35262382 0.37418258 0.41274938 0.43839005 0.47672123 + 0.50913286 0.5625195 0.6113282 0.67092246 0.7138808 0.77217466 + 0.819254 ], IHR=0.04929916560649872, latent_admissions=[0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. + 0. 0.00064262 0.0021317 0.00302979 0.00416974 0.0049305 + 0.00487205 0.00530097 0.00576412 0.00624666 0.00665578 0.00711595 + 0.0078055 0.00854396 0.00939666 0.01042083 0.0114624 0.01246538 + 0.01345188], sampled_admissions=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0]) + +Visualizations of the single model output show (top) infections over the +30 time steps, (middle) hospitalizations over the 30 time steps, and +(bottom) + +.. code:: python + + fig, ax = plt.subplots(nrows=3, sharex=True) + ax[0].plot(x.latent_infections) + ax[0].set_ylim([1/5, 5]) + ax[1].plot(x.latent_admissions) + ax[2].plot(x.sampled_admissions, 'o') + for axis in ax[:-1]: + axis.set_yscale("log") + +|image1| + +To fit the ``hospmodel`` to the simulated data, we call +``hospmodel.run()``, an MCMC algorithm, with the arguments generated in +``hospmodel`` object, using 1000 warmup stepts and 1000 samples to draw +from the posterior distribution of the model parameters. The model is +run for ``len(x.sampled_admissions)-1`` time steps with the seed set by +``jax.random.PRNGKey()`` + +.. code:: python + + # from numpyro.infer import MCMC, NUTS + hospmodel.run( + num_warmup=1000, + num_samples=1000, + observed_hospitalizations=x.sampled_admissions, + n_timepoints = len(x.sampled_admissions)-1, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) + +Print a summary of the model: + +.. code:: python + + hospmodel.print_summary() + +:: + + mean std median 5.0% 95.0% n_eff r_hat + I0 1.27 1.10 0.97 0.10 2.42 1132.34 1.00 + IHR 0.05 0.00 0.05 0.05 0.05 2306.45 1.00 + Rt0 1.23 0.17 1.23 0.93 1.48 1327.22 1.00 + Rt_transformed_rw_diffs[0] -0.00 0.02 -0.00 -0.04 0.04 1404.95 1.00 + Rt_transformed_rw_diffs[1] 0.00 0.03 0.00 -0.04 0.04 2280.86 1.00 + Rt_transformed_rw_diffs[2] -0.00 0.02 -0.00 -0.04 0.04 2119.83 1.00 + Rt_transformed_rw_diffs[3] 0.00 0.02 -0.00 -0.04 0.04 2196.86 1.00 + Rt_transformed_rw_diffs[4] 0.00 0.02 -0.00 -0.03 0.04 2391.45 1.00 + Rt_transformed_rw_diffs[5] 0.00 0.03 0.00 -0.04 0.04 2043.02 1.00 + Rt_transformed_rw_diffs[6] 0.00 0.02 0.00 -0.04 0.04 1514.40 1.00 + Rt_transformed_rw_diffs[7] -0.00 0.02 -0.00 -0.04 0.04 2619.69 1.00 + Rt_transformed_rw_diffs[8] 0.00 0.03 0.00 -0.04 0.04 1883.84 1.00 + Rt_transformed_rw_diffs[9] 0.00 0.03 0.00 -0.04 0.04 2015.66 1.00 + Rt_transformed_rw_diffs[10] 0.00 0.02 0.00 -0.04 0.04 2045.47 1.00 + Rt_transformed_rw_diffs[11] -0.00 0.03 0.00 -0.04 0.04 1615.10 1.00 + Rt_transformed_rw_diffs[12] 0.00 0.02 0.00 -0.04 0.04 2206.32 1.00 + Rt_transformed_rw_diffs[13] 0.00 0.03 0.00 -0.04 0.04 1175.93 1.00 + Rt_transformed_rw_diffs[14] -0.00 0.03 -0.00 -0.04 0.04 1606.26 1.00 + Rt_transformed_rw_diffs[15] -0.00 0.03 -0.00 -0.04 0.04 2344.62 1.00 + Rt_transformed_rw_diffs[16] -0.00 0.02 0.00 -0.04 0.04 1522.33 1.00 + Rt_transformed_rw_diffs[17] 0.00 0.03 0.00 -0.04 0.04 2157.17 1.00 + Rt_transformed_rw_diffs[18] -0.00 0.02 -0.00 -0.04 0.04 1594.95 1.00 + Rt_transformed_rw_diffs[19] 0.00 0.03 -0.00 -0.04 0.04 1698.70 1.00 + Rt_transformed_rw_diffs[20] 0.00 0.02 0.00 -0.04 0.04 1726.18 1.00 + Rt_transformed_rw_diffs[21] 0.00 0.02 -0.00 -0.04 0.04 2386.35 1.00 + Rt_transformed_rw_diffs[22] 0.00 0.03 0.00 -0.04 0.04 2028.63 1.00 + Rt_transformed_rw_diffs[23] 0.00 0.02 0.00 -0.04 0.03 1669.71 1.00 + Rt_transformed_rw_diffs[24] 0.00 0.02 0.00 -0.04 0.04 2126.33 1.00 + Rt_transformed_rw_diffs[25] -0.00 0.02 -0.00 -0.04 0.04 2119.74 1.00 + Rt_transformed_rw_diffs[26] 0.00 0.03 0.00 -0.04 0.04 2657.91 1.00 + Rt_transformed_rw_diffs[27] -0.00 0.03 0.00 -0.04 0.04 1939.30 1.00 + Rt_transformed_rw_diffs[28] -0.00 0.02 -0.00 -0.04 0.04 1737.84 1.00 + Rt_transformed_rw_diffs[29] -0.00 0.03 -0.00 -0.04 0.04 2105.55 1.00 + + Number of divergences: 0 + +Next, we will use the ``spread_draws`` function from the +``pyrenew.mcmcutils`` module to process the MCMC samples. The +``spread_draws`` function reformats the samples drawn from the +``mcmc.get_samples()`` from the ``hospmodel``. The samples are simulated +Rt values over time. + +.. code:: python + + from pyrenew.mcmcutils import spread_draws + samps = spread_draws(hospmodel.mcmc.get_samples(), [("Rt", "time")]) + +We visualize these samples below, with individual possible Rt estimates +over time shown in light blue, and the overall mean estimate Rt shown in +dark blue. + +.. code:: python + + import numpy as np + import polars as pl + fig, ax = plt.subplots(figsize=[4, 5]) + + ax.plot(x[0]) + samp_ids = np.random.randint(size=25, low=0, high=999) + for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) + ax.set_ylim([0.4, 1/.4]) + ax.set_yticks([0.5, 1, 2]) + ax.set_yscale("log") + +|image2| + +.. |image0| image:: pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png +.. |image1| image:: pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png +.. |image2| image:: pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png diff --git a/model/Makefile b/model/Makefile index 89dd88b6..6f9515d8 100644 --- a/model/Makefile +++ b/model/Makefile @@ -27,6 +27,16 @@ docs/notebooks: quarto convert docs/example-with-datasets.qmd --output \ docs/example-with-datasets.ipynb +sphinx-tutorials: docs + for i in docs/*.md; do \ + if [ "$$i" = "docs/README.md" ]; then \ + continue; \ + fi; \ + pandoc -s $$i -o ../docs/source/tutorials/$$(basename $$i .md).rst;\ + cp -r docs/$$(basename $$i .md)_files ../docs/source/tutorials/; \ + done + + test_images: echo "Generating reference images for tests" poetry run pytest --mpl-generate-path=src/test/baseline From e619179b562b5514877a5ba86d3a9f69419f6c61 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 13:31:18 -0600 Subject: [PATCH 02/12] Same action for building docs and website --- .github/workflows/docs.yaml | 38 -- .github/workflows/website.yaml | 50 +- README.md | 1 - .../tutorials/example-with-datasets.rst | 550 ------------------ docs/source/tutorials/getting-started.rst | 282 --------- docs/source/tutorials/index.rst | 9 - docs/source/tutorials/pyrenew_demo.rst | 311 ---------- model/Makefile | 3 +- .../figure-commonmark/fig-hosp-output-1.png | Bin 14325 -> 14325 bytes .../fig-randwalk-output-1.png | Bin 29905 -> 29905 bytes .../fig-sampled-rt-output-1.png | Bin 38249 -> 38249 bytes 11 files changed, 49 insertions(+), 1195 deletions(-) delete mode 100644 .github/workflows/docs.yaml delete mode 100644 docs/source/tutorials/example-with-datasets.rst delete mode 100644 docs/source/tutorials/getting-started.rst delete mode 100644 docs/source/tutorials/index.rst delete mode 100644 docs/source/tutorials/pyrenew_demo.rst diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml deleted file mode 100644 index 87946a92..00000000 --- a/.github/workflows/docs.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: Quarto documents - -on: - pull_request: - branches: [main] - push: - branches: [main] - -jobs: - render-docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: quarto-dev/quarto-actions/setup@v2 - - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: cache poetry - uses: actions/cache@v4 - with: - path: ~/.local - key: ${{ runner.os }}-poetry - - - name: install poetry - run: pip install poetry - - - name: install package - run: poetry install --with dev -C model - - - name: Render documents - run: | - cd model - for file in $(find docs -name '*.qmd'); do - poetry run quarto render $file - done diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index 2be17b78..5edc6fd4 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -15,7 +15,46 @@ permissions: id-token: write jobs: + render-docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: quarto-dev/quarto-actions/setup@v2 + + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: cache poetry + uses: actions/cache@v4 + with: + path: ~/.local + key: ${{ runner.os }}-poetry + + - name: install poetry + run: pip install poetry + + - name: install package + run: poetry install --with dev -C model + + - name: Render documents + run: | + cd model + mkdir _compiled + for file in $(find docs -name '*.qmd'); do + poetry run quarto render --to rst $file --output-dir _compiled + done + + # Upload + - name: Upload artifacts + uses: actions/upload-pages-artifact@v3 + with: + name: github-pages-tutorials + path: model/_compiled/ + build: + needs: render-docs runs-on: ubuntu-latest permissions: contents: write @@ -26,6 +65,13 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v4 + # Load the artifact github-pages-tutorials + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + name: github-pages-tutorials + path: docs/source/tutorials/ + - name: Set up Python uses: actions/setup-python@v5 with: @@ -39,9 +85,7 @@ jobs: # Building - name: Build HTML using Poetry - run: | - poetry run -C model make sphinx-tutorials - poetry run -C docs make html + run: poetry run -C docs sphinx-build -M html docs/source/ docs/build/ # Upload - name: Upload artifacts diff --git a/README.md b/README.md index 06ad7253..fd1e4875 100755 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ [![installation and testing pipeline](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/pipeline.yaml/badge.svg)](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/pipeline.yaml) [![Docs: model](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/website.yaml/badge.svg)](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/website.yaml) [![codecov (model)](https://codecov.io/gh/CDCgov/multisignal-epi-inference/graph/badge.svg?token=7Z06HOMYR1)](https://codecov.io/gh/CDCgov/multisignal-epi-inference) -[![Quarto documents](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/docs.yaml/badge.svg)](https://github.com/CDCgov/multisignal-epi-inference/actions/workflows/docs.yaml) This repo hosts the multisignal (*a.k.a.* signal fusion) renewal project: an internal forecasting model that leverages multiple data sources for enhancing epidemiological modeling of infectious disease outbreaks. diff --git a/docs/source/tutorials/example-with-datasets.rst b/docs/source/tutorials/example-with-datasets.rst deleted file mode 100644 index 5d8ae551..00000000 --- a/docs/source/tutorials/example-with-datasets.rst +++ /dev/null @@ -1,550 +0,0 @@ -Fitting a Hospital Admissions-only Model -======================================== - -This document illustrates how a hospital admissions-only model can be -fitted using data from the Pyrenew package, particularly the wastewater -dataset. The CFA wastewater team created this dataset, which contains -simulated data. - -Model definition ----------------- - -In this section, we provide the formal definition of the model. The -hospitalization model is a semi-mechanistic model that describes the -number of observed hospital admissions as a function of a set of latent -variables. Mainly, the observed number of hospital admissions is -discretely distributed with location at the number of latent hospital -admissions: - -.. math:: - - - h(t) \sim \text{HospDist}\left(H(t)\right) - -Where :math:`h(t)` is the observed number of hospital admissions at time -:math:`t`, and :math:`H(t)` is the number of latent hospital admissions -at time :math:`t`. The distribution :math:`\text{HospDist}` is discrete. -For this example, we will use a negative binomial distribution: - -.. math:: - - - \begin{align*} - h(t) & \sim \text{NegativeNinomial}\left(\text{concentration} = 1, \text{mean} = H(t)\right) \\ - H(t) & = \omega(t) p_\mathrm{hosp}(t) \sum_{\tau = 0}^{T_d} d(\tau) I(t-\tau) - \end{align*} - -Were :math:`d(\tau)` is the infection to hospitalization interval, -:math:`I(t)` is the number of latent infections at time :math:`t`, -:math:`p_\mathrm{hosp}(t)` is the infection to hospitalization rate, and -:math:`\omega(t)` is the weekday effect at time :math:`t`; the last -section provides an example building a weekly effect ``RandomVariable``. - -The number of latent hospital admissions at time :math:`t` is a function -of the number of latent infections at time :math:`t` and the infection -to hospitalization rate. The latent infections are modeled as a renewal -process: - -.. math:: - - - \begin{align*} - I(t) &= R(t) \times \sum_{\tau < t} I(\tau) g(t - \tau) \\ - I(0) &\sim \text{LogNormal}(\mu = \log(80/0.05), \sigma = 1.5) - \end{align*} - -The reproductive number :math:`R(t)` is modeled as a random walk -process: - -.. math:: - - - \begin{align*} - R(t) & = R(t-1) + \epsilon\\ - \log{\epsilon} & \sim \text{Normal}(\mu=0, \sigma=0.1) \\ - R(0) &\sim \text{TruncatedNormal}(\text{loc}=1.2, \text{scale}=0.2, \text{min}=0) - \end{align*} - -Data processing ---------------- - -We start by loading the data and inspecting the first five rows. - -.. code:: python - - import polars as pl - from pyrenew import datasets - - dat = datasets.load_wastewater() - dat.head(5) - -.. container:: - - .. raw:: html - - - - shape: (5, 14) - - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | t | la | l | da | l | b | d | daily | p | f | h | s | w | in | - | | b_ww | o | te | o | e | aily | _hosp_a | o | or | osp_c | i | w | f_ | - | | tp_u | g | | d | l | _hos | dmits_f | p | ec | alibr | t | _ | pe | - | | niqu | _ | | _ | o | p_ad | or_eval | | as | ation | e | p | r_ | - | | e_id | c | | s | w | mits | | | t_ | _time | | o | ca | - | | | o | | e | _ | | | | da | | | p | pi | - | | | n | | w | L | | | | te | | | | ta | - | | | c | | a | O | | | | | | | | | - | | | | | g | D | | | | | | | | | - | | | | | e | | | | | | | | | | - +===+======+===+====+===+===+======+=========+===+====+=======+===+===+====+ - | i | i64 | f | s | f | i | i64 | i64 | f | s | i64 | i | f | f | - | 6 | | 6 | tr | 6 | 6 | | | 6 | tr | | 6 | 6 | 64 | - | 4 | | 4 | | 4 | 4 | | | 4 | | | 4 | 4 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | 1 | 1 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 1 | 4 | 0. | - | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | - | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | - | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | - | | | | -3 | | | | | | -0 | | | 0 | | - | | | | 0” | | | | | | 5” | | | 0 | | - | | | | | | | | | | | | | . | | - | | | | | | | | | | | | | 0 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | 1 | 2 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 1 | 4 | 0. | - | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | - | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | - | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | - | | | | -3 | | | | | | -0 | | | 0 | | - | | | | 0” | | | | | | 5” | | | 0 | | - | | | | | | | | | | | | | . | | - | | | | | | | | | | | | | 0 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | 1 | 3 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 2 | 2 | 0. | - | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | - | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | - | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | - | | | | -3 | | | | | | -0 | | | 0 | | - | | | | 0” | | | | | | 5” | | | 0 | | - | | | | | | | | | | | | | . | | - | | | | | | | | | | | | | 0 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | 1 | 4 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 3 | 1 | 0. | - | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | - | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | - | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | - | | | | -3 | | | | | | -0 | | | 0 | | - | | | | 0” | | | | | | 5” | | | 0 | | - | | | | | | | | | | | | | . | | - | | | | | | | | | | | | | 0 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - | 1 | 5 | n | “2 | n | n | 6 | 6 | 1 | “2 | 90 | 4 | 5 | 0. | - | | | u | 02 | u | u | | | e | 02 | | | 0 | 00 | - | | | l | 3- | l | l | | | 6 | 4- | | | 0 | 06 | - | | | l | 10 | l | l | | | | 02 | | | 0 | 63 | - | | | | -3 | | | | | | -0 | | | 0 | | - | | | | 0” | | | | | | 5” | | | . | | - | | | | | | | | | | | | | 0 | | - +---+------+---+----+---+---+------+---------+---+----+-------+---+---+----+ - -The data shows one entry per site, but the way it was simulated, the -number of admissions is the same across sites. Thus, we will only keep -the first observation per day. - -.. code:: python - - # Keeping the first observation of each date - dat = dat.group_by("date").first().select(["date", "daily_hosp_admits"]) - - # Now, sorting by date - dat = dat.sort("date") - - # Keeping the first 90 days - dat = dat.head(90) - - dat.head(5) - -.. container:: - - .. raw:: html - - - - shape: (5, 2) - - ============ ================= - date daily_hosp_admits - ============ ================= - str i64 - “2023-10-30” 6 - “2023-10-31” 8 - “2023-11-01” 4 - “2023-11-02” 8 - “2023-11-03” 4 - ============ ================= - -Let’s take a look at the daily prevalence of hospital admissions. - -.. code:: python - - import matplotlib.pyplot as plt - - # Rotating the x-axis labels, and only showing ~10 labels - ax = plt.gca() - ax.xaxis.set_major_locator(plt.MaxNLocator(nbins=10)) - ax.xaxis.set_tick_params(rotation=45) - plt.plot(dat["date"].to_numpy(), dat["daily_hosp_admits"].to_numpy()) - plt.xlabel("Date") - plt.ylabel("Admissions") - plt.show() - -Building the model ------------------- - -First, we will extract two datasets we will use as deterministic -quantities: the generation interval and the infection to hospitalization -interval. - -.. code:: python - - gen_int = datasets.load_generation_interval() - inf_hosp_int = datasets.load_infection_admission_interval() - - # We only need the probability_mass column of each dataset - gen_int = gen_int["probability_mass"].to_numpy() - inf_hosp_int = inf_hosp_int["probability_mass"].to_numpy() - - # Taking a pick at the first 5 elements of each - gen_int[:5], inf_hosp_int[:5] - - # Visualizing both quantities side by side - fig, axs = plt.subplots(1, 2) - - axs[0].plot(gen_int) - axs[0].set_title("Generation interval") - axs[1].plot(inf_hosp_int) - axs[1].set_title("Infection to hospitalization interval") - -:: - - Text(0.5, 1.0, 'Infection to hospitalization interval') - -With these two in hand, we can start building the model. First, we will -define the latent hospital admissions: - -.. code:: python - - from pyrenew import latent, deterministic - import jax.numpy as jnp - import numpyro.distributions as dist - - inf_hosp_int = deterministic.DeterministicPMF(inf_hosp_int) - - hosp_rate = latent.InfectHospRate( - dist=dist.LogNormal(jnp.log(0.05), 0.1) - ) - - latent_hosp = latent.HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist=hosp_rate, - ) - -:: - - /mnt/c/Users/xrd4/Documents/repos/msr/model/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html - from .autonotebook import tqdm as notebook_tqdm - An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. - -The ``inf_hosp_int`` is a ``DeterministicPMF`` object that takes the -infection to hospitalization interval as input. The ``hosp_rate`` is an -``InfectHospRate`` object that takes the infection to hospitalization -rate as input. The ``HospitalAdmissions`` class is a ``RandomVariable`` -that takes two distributions as inputs: the infection to admission -interval and the infection to hospitalization rate. Now, we can define -the rest of the other components: - -.. code:: python - - from pyrenew import model, process, observation - - # Infection process - latent_inf = latent.Infections() - I0 = latent.Infections0(I0_dist=dist.LogNormal(loc=jnp.log(80/.05), scale=1.5)) - - # Generation interval and Rt - gen_int = deterministic.DeterministicPMF(gen_int) - rtproc = process.RtRandomWalkProcess( - Rt_rw_dist=dist.Normal(0, 0.1) - ) - - # The observation model - obs = observation.NegativeBinomialObservation(concentration_prior=1.0) - -Notice all the components are ``RandomVariable`` instances. We can now -build the model: - -.. code:: python - - hosp_model = model.HospitalizationsModel( - latent_infections=latent_inf, - latent_hospitalizations=latent_hosp, - I0=I0, - gen_int=gen_int, - Rt_process=rtproc, - observation_process=obs, - ) - -Let’s simulate to check if the model is working: - -.. code:: python - - import numpyro as npro - import numpy as np - - timeframe = 120 - - np.random.seed(223) - with npro.handlers.seed(rng_seed = np.random.randint(1, timeframe)): - sim_data = hosp_model.sample(n_timepoints=timeframe) - -.. code:: python - - import matplotlib.pyplot as plt - - fig, axs = plt.subplots(1, 2) - - # Rt plot - axs[0].plot(range(0, timeframe + 1), sim_data.Rt) - axs[0].set_ylabel('Rt') - - # Infections plot - axs[1].plot(range(0, timeframe + 1), sim_data.sampled_admissions) - axs[1].set_ylabel('Infections') - axs[1].set_yscale('log') - - fig.suptitle('Basic renewal model') - fig.supxlabel('Time') - plt.tight_layout() - plt.show() - -.. figure:: example-with-datasets_files/figure-commonmark/basic-fig-output-1.png - :alt: Rt and Infections - - Rt and Infections - -Fitting the model ------------------ - -We can fit the model to the data. We will use the ``run`` method of the -model object. The two inputs this model requires are ``n_timepoints`` -and ``observed_hospitalizations`` - -.. code:: python - - import jax - - hosp_model.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat.shape[0] - 1, - observed_hospitalizations=dat["daily_hosp_admits"].to_numpy(), - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - ) - -We can use the ``plot_posterior`` method to visualize the results [1]_: - -.. code:: python - - out = hosp_model.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat["daily_hosp_admits"].to_numpy(), - ) - -.. figure:: example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png - :alt: Hospital Admissions posterior distribution - - Hospital Admissions posterior distribution - -The first half of the model is not looking good. The reason is that the -infection to hospitalization interval PMF makes it unlikely to observe -admissions from the beginning. The following section shows how to fix -this. - -Padding the model ------------------ - -We can use the padding argument to solve the overestimation of -hospitalizations in the first half of the model. By setting -``padding > 0``, the model then assumes that the first ``padding`` -observations are missing; thus, only observations after ``padding`` will -count towards the likelihood of the model. In practice, the model will -extend the estimated Rt and latent infections by ``padding`` days, given -time to adjust to the observed data. The following code will add 21 days -of missing data at the beginning of the model and re-estimate it with -``padding = 21``: - -.. code:: python - - days_to_impute = 21 - - dat2 = dat["daily_hosp_admits"].to_numpy() - - # Add 21 Nas to the beginning of dat2 - dat2 = np.hstack((np.repeat(np.nan, days_to_impute), dat2)) - - hosp_model.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat2.shape[0] - 1, - observed_hospitalizations=dat2, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - padding=days_to_impute, # Padding the model - ) - -And plotting the results: - -.. code:: python - - out = hosp_model.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat2, - ) - -.. figure:: example-with-datasets_files/figure-commonmark/output-admissions-with-padding-output-1.png - :alt: Hospital Admissions posterior distribution - - Hospital Admissions posterior distribution - -We can also take a look at the latent infections: - -.. code:: python - - out2 = hosp_model.plot_posterior( - var="latent_infections", - ylab="Latent Infections" - ) - -.. figure:: example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png - :alt: Hospital Admissions posterior distribution - - Hospital Admissions posterior distribution - -Round 2: Incorporating weekday effects --------------------------------------- - -We will re-use the infection to admission interval and infection to -hospitalization rate from the previous model. But we will also add a -weekday effect distribution. To do this, we will create a new instance -of ``RandomVariable`` to model the weekday effect. The weekday effect -will be a truncated normal distribution with a mean of 1.0 and a -standard deviation of 0.5. The distribution will be truncated between -0.1 and 10.0. The weekday effect will be repeated for the number of -weeks in the dataset. - -.. code:: python - - from pyrenew import metaclass - import numpyro as npro - - class WeekdayEffect(metaclass.RandomVariable): - """Weekday effect distribution""" - def __init__(self, len: int): - """ Initialize the weekday effect distribution - Parameters - ---------- - len : int - The number of observations - """ - self.nweeks = jnp.ceil(len/7).astype(int) - self.len = len - - @staticmethod - def validate(): - return None - - def sample(self, **kwargs): - ans = npro.sample( - name="weekday_effect", - fn=npro.distributions.TruncatedNormal( - loc=1.0, scale=.5, low=0.1, high=10.0 - ), - sample_shape=(7,) - ) - - return jnp.tile(ans, self.nweeks)[:self.len] - - # Initializing the weekday effect - weekday_effect = WeekdayEffect(dat.shape[0]) - -Notice that the instance’s ``nweeks`` and ``len`` members are passed -during construction. Trying to compute the number of weeks and the -length of the dataset in the ``validate`` method will raise a ``jit`` -error in ``jax`` as the shape and size of elements are not known during -the validation step, which happens before the model is run. With the new -weekday effect, we can rebuild the latent hospitalization model: - -.. code:: python - - latent_hosp_wday_effect = latent.HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist=hosp_rate, - weekday_effect_dist=weekday_effect, - ) - - hosp_model_weekday = model.HospitalizationsModel( - latent_infections=latent_inf, - latent_hospitalizations=latent_hosp_wday_effect, - I0=I0, - gen_int=gen_int, - Rt_process=rtproc, - observation_process=obs, - ) - -Running the model (with the same padding as before): - -.. code:: python - - hosp_model_weekday.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat2.shape[0] - 1, - observed_hospitalizations=dat2, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - padding=days_to_impute, - ) - -And plotting the results: - -.. code:: python - - out = hosp_model_weekday.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat2, - ) - -.. figure:: example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png - :alt: Hospital Admissions posterior distribution - - Hospital Admissions posterior distribution - -.. [1] - The output is captured to avoid ``quarto`` from displaying the output - twice. diff --git a/docs/source/tutorials/getting-started.rst b/docs/source/tutorials/getting-started.rst deleted file mode 100644 index bf2cb602..00000000 --- a/docs/source/tutorials/getting-started.rst +++ /dev/null @@ -1,282 +0,0 @@ -Getting started with pyrenew -============================ - -``pyrenew`` is a flexible tool for simulating and making statistical -inference of epidemiological models, emphasizing renewal models. Built -on ``numpyro``, ``pyrenew`` provides core components for model building -and pre-defined models for processing various observational processes. -This document illustrates how ``pyrenew`` can be used to build a basic -renewal model. - -The fundamentals ----------------- - -``pyrenew``\ ’s core components are the metaclasses ``RandomVariable`` -and ``Model``. From the package’s perspective, a ``RandomVariable`` is a -quantity models can sample and estimate, **including deterministic -quantities**. Mainly, sampling from a ``RandomVariable`` involves -calling the ``sample()`` method. The benefit of this design is the -definition of the sample function can be arbitrary, allowing the user to -either sample from a distribution using ``numpyro.sample()``, compute -fixed quantities (like a mechanistic equation), or return a fixed value -(like a pre-computed PMF.) For instance, we may be interested in -estimating a PMF, in which case a ``RandomVariable`` sampling function -may roughly be defined as: - -.. code:: python - - class MyRandVar(RandomVariable): - def sample(...) -> ArrayLike: - return numpyro.sample(...) - -Whereas, in some other cases, we may instead use a fixed quantity for -that variable (like a pre-computed PMF), where the -``RandomVariable``\ ’s sample function could be defined like: - -.. code:: python - - class MyRandVar(RandomVariable): - def sample(...) -> ArrayLike: - return jax.numpy.array([0.2, 0.7, 0.1]) - -This way, when a ``Model`` samples from ``MyRandVar``, it could be -either adding random variables to be estimated (first case) or just -retrieving some quantity needed for other calculations (second case.) - -The ``Model`` metaclass provides basic functionality for estimating and -simulation. Like ``RandomVariable``, the ``Model`` metaclass has a -``sample()`` method that defines the model structure. Ultimately, models -can be nested (or inherited), providing a straightforward way to add -layers of complexity. - -‘Hello world’ model -------------------- - -This section will show the steps to build a simple renewal model -featuring a latent infection process, a random walk Rt process, and an -observation process for the reported infections. We start by loading the -needed components to build a basic renewal model: - -.. code:: python - - import jax.numpy as jnp - import numpy as np - import numpyro as npro - import numpyro.distributions as dist - from pyrenew.process import RtRandomWalkProcess - from pyrenew.latent import Infections, Infections0 - from pyrenew.observation import PoissonObservation - from pyrenew.deterministic import DeterministicPMF - from pyrenew.model import RtInfectionsRenewalModel - -The basic renewal model defines five components: generation interval, -initial infections, Rt, latent infections, and observed infections. In -this example, the generation interval is not estimated but passed as a -deterministic instance of ``RandomVariable``. Here is the code to -initialize the five components: - -.. code:: python - - # (1) The generation interval (deterministic) - gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) - - # (2) Initial infections (inferred with a prior) - I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) - - # (3) The random process for Rt - rt_proc = RtRandomWalkProcess() - - # (4) Latent infection process (which will use 1 and 2) - latent_infections = Infections() - - # (5) The observed infections process (with mean at the latent infections) - observation_process = PoissonObservation() - -With these five pieces, we can build the basic renewal model: - -.. code:: python - - model1 = RtInfectionsRenewalModel( - gen_int = gen_int, - I0 = I0, - Rt_process = rt_proc, - latent_infections = latent_infections, - observation_process = observation_process, - ) - -The following diagram summarizes how the modules interact via -composition; notably, ``gen_int``, ``I0``, ``rt_proc``, -``latent_infections``, and ``observed_infections`` are instances of -``RandomVariable``, which means these can be easily replaced to generate -a different version of ``RtInfectionsRenewalModel``: - -.. code:: mermaid - - flowchart TB - genint["(1) gen_int\n(DetermnisticPMF)"] - i0["(2) I0\n(Infections0)"] - rt["(3) rt_proc\n(RtRandomWalkProcess)"] - inf["(4) latent_infections\n(Infections)"] - obs["(5) observation_process\n(PoissonObservation)"] - - model1["model1\n(RtInfectionsRenewalModel)"] - - i0-->|Composes|model1 - genint-->|Composes|model1 - rt-->|Composes|model1 - obs-->|Composes|model1 - inf-->|Composes|model1 - -Using ``numpyro``, we can simulate data using the ``sample()`` member -function of ``RtInfectionsRenewalModel``: - -.. code:: python - - np.random.seed(223) - with npro.handlers.seed(rng_seed = np.random.randint(1, 60)): - sim_data = model1.sample(n_timepoints=30) - - sim_data - -:: - - RtInfectionsRenewalSample(Rt=[1.2022278 1.2111099 1.2325984 1.2104921 1.2023039 1.1970979 1.2384264 - 1.2423582 1.245498 1.241344 1.2081108 1.1938375 1.271196 1.3189521 - 1.3054799 1.3165426 1.291952 1.3026639 1.2619467 1.2852622 1.3121517 - 1.2888998 1.2641873 1.2580931 1.2545817 1.3092988 1.2488269 1.2397509 - 1.2071848 1.2334517 1.21868 ], latent_infections=[ 2.3215084 3.0415602 4.0327816 5.180868 4.381411 4.978916 - 5.750626 6.3024273 6.66758 7.354823 7.8755097 8.416656 - 9.63394 10.973988 12.043082 13.516833 14.911659 16.75407 - 18.053928 20.318869 22.975292 25.166464 27.34265 30.13236 - 33.126217 37.89362 40.11695 43.784634 46.754696 51.974545 - 55.642136 ], sampled_infections=[ 1 2 3 5 4 4 7 4 8 4 7 3 8 12 13 18 14 20 17 18 28 27 36 37 - 26 31 40 27 48 54 60]) - -The ``sample()`` method of the ``RtInfectionsRenewalModel`` returns a -list composed of the ``Rt`` and ``infections`` sequences. - -.. code:: python - - import matplotlib.pyplot as plt - - fig, axs = plt.subplots(1, 2) - - # Rt plot - axs[0].plot(range(0, 31), sim_data.Rt) - axs[0].set_ylabel('Rt') - - # Infections plot - axs[1].plot(range(0, 31), sim_data.sampled_infections) - axs[1].set_ylabel('Infections') - - fig.suptitle('Basic renewal model') - fig.supxlabel('Time') - plt.tight_layout() - plt.show() - -.. figure:: getting-started_files/figure-commonmark/basic-fig-output-1.png - :alt: Rt and Infections - - Rt and Infections - -To fit the model, we can use the ``run()`` method of the model -``RtInfectionsRenewalModel``; an inherited method from the metaclass -``Model``: - -.. code:: python - - import jax - - model1.run( - num_warmup=2000, - num_samples=1000, - observed_infections=sim_data.sampled_infections, - n_timepoints = len(sim_data[1])-1, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - ) - -Now, let’s investigate the output, particularly the posterior -distribution of the Rt estimates: - -.. code:: python - - import polars as pl - samps = model1.spread_draws([('Rt', 'time')]) - - fig, ax = plt.subplots(figsize=[4, 5]) - - ax.plot(sim_data.Rt) - samp_ids = np.random.randint(size=25, low=0, high=999) - for samp_id in samp_ids: - sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) - ax.plot(sub_samps.select("time").to_numpy(), - sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) - ax.set_ylim([0.4, 1/.4]) - ax.set_yticks([0.5, 1, 2]) - ax.set_yscale("log") - -.. figure:: getting-started_files/figure-commonmark/output-rt-output-1.png - :alt: Rt posterior distribution - - Rt posterior distribution - -Architecture of pyrenew ------------------------ - -``pyrenew`` leverages ``numpyro``\ ’s flexibility to build models via -composition. As a principle, most objects in ``pyrenew`` can be treated -as random variables we can sample. At the top-level ``pyrenew`` has two -metaclass from which most objects inherit: ``RandomVariable`` and -``Model``. From them, the following four sub-modules arise: - -- The ``process`` sub-module, -- The ``deterministic`` sub-module, -- The ``observation`` sub-module, -- The ``latent`` sub-module, and -- The ``models`` sub-module - -The first four are collections of instances of ``RandomVariable``, and -the last is a collection of instances of ``Model``. The following -diagram shows a detailed view of how meta classes, modules, and classes -interact to create the ``RtInfectionsRenewalModel`` instantiated in the -previous section: - -.. code:: mermaid - - flowchart LR - rand((RandomVariable\nmetaclass)) - models((Model\nmetaclass)) - - subgraph observations[Observations module] - obs["observation_process\n(PoissonObservation)"] - end - - subgraph latent[Latent module] - inf["latent_infections\n(Infections)"] - i0["I0\n(Infections0)"] - end - - subgraph process[Process module] - rt["rt_proc\n(RtRandomWalkProcess)"] - end - - subgraph deterministic[Deterministic module] - detpmf["gen_int\n(DeterministicPMF)"] - end - - subgraph model[Model module] - model1["model1\n(RtInfectionsRenewalModel)"] - end - - rand-->|Inherited by|observations - rand-->|Inherited by|process - rand-->|Inherited by|latent - rand-->|Inherited by|deterministic - models-->|Inherited by|model - - detpmf-->|Composes|model1 - i0-->|Composes|model1 - rt-->|Composes|model1 - obs-->|Composes|model1 - inf-->|Composes|model1 diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst deleted file mode 100644 index 50151d10..00000000 --- a/docs/source/tutorials/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -Tutorials Reference -============== - -.. toctree:: - :maxdepth: 3 - - getting-started - example-with-datasets - pyrenew_demo diff --git a/docs/source/tutorials/pyrenew_demo.rst b/docs/source/tutorials/pyrenew_demo.rst deleted file mode 100644 index 58b9a9a2..00000000 --- a/docs/source/tutorials/pyrenew_demo.rst +++ /dev/null @@ -1,311 +0,0 @@ -Pyrenew demo -============ - -This demo simulates some basic renewal process data and then fits to it -using ``pyrenew``. - -Assuming you’ve already installed Python and pip, you’ll need to first -install ``pyrenew``: - -.. code:: python - - pip install pyrenew - -You’ll also need working installations of ``matplotlib``, ``numpy``, -``jax``, ``numpyro``, and ``polars``: - -.. code:: python - - pip install matplotlib numpy jax numpyro polars - -To begin, run the following import section to call external modules and -functions necessary to run the ``pyrenew`` demo. The ``import`` -statement imports the module and the ``as`` statement renames the module -for use within this script. The ``from`` statement imports a specific -function from a module (named after the ``.``) within a package (named -before the ``.``). - -.. code:: python - - import matplotlib as mpl - import matplotlib.pyplot as plt - import jax - import jax.numpy as jnp - import numpy as np - from numpyro.handlers import seed - import numpyro.distributions as dist - -.. code:: python - - from pyrenew.process import SimpleRandomWalkProcess - -:: - - An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. - -To understand the simple random walk process underlying the sampling -within the renewal process model, we first examine a single random walk -path. Using the ``sample`` method from an instance of the -``SimpleRandomWalkProcess`` class, we first create an instance of the -``SimpleRandomWalkProcess`` class with a normal distribution of mean = 0 -and standard deviation = 0.0001 as its input. Next, the ``with`` -statement sets the seed for the random number generator for the duration -of the block that follows. Inside the ``with`` block, the -``q_samp = q.sample(duration=100)`` generates the sample instance over a -duration of 100 time units. Finally, this single random walk process is -visualized using ``matplot.pyplot`` to plot the exponential of the -sample instance. - -.. code:: python - - np.random.seed(3312) - q = SimpleRandomWalkProcess(dist.Normal(0, 0.001)) - with seed(rng_seed=np.random.randint(0,1000)): - q_samp = q.sample(duration=100) - - plt.plot(np.exp(q_samp[0])) - -|image0| - -Next, import several additional functions from the ``latent`` module of -the ``pyrenew`` package to model infections, hospital admissions, -initial infections, and hospitalization rate due to infection. - -.. code:: python - - from pyrenew.latent import ( - Infections, HospitalAdmissions, Infections0, InfectHospRate, - ) - -Additionally, import several classes from Pyrenew, including a Poisson -observation process, determininstic PMF and variable classes, the -Pyrenew hospitalization model, and a renewal modle (Rt) random walk -process: - -.. code:: python - - from pyrenew.observation import PoissonObservation - from pyrenew.deterministic import DeterministicPMF, DeterministicVariable - from pyrenew.model import HospitalizationsModel - from pyrenew.process import RtRandomWalkProcess - -To initialize the model, we first define initial conditions, including: - -1) deterministic generation time, defined as an instance of the - ``DeterministicPMF`` class, which gives the probability of each - possible outcome for a discrete random variable given as a JAX NumPy - array of four possible outcomes - -2) initial infections at the start of simulation as a log-normal - distribution with mean = 0 and standard deviation = 1 - -3) latent infections as an instance of the ``Infections`` class with - default settings - -4) latent hospitalization process, modeled by first defining the time - interval from infections to hospitalizations as a - ``DeterministicPMF`` input with 18 possible outcomes and - corresponding probabilities given by the values in the array. The - ``HospitalAdmissions`` function then takes in this defined time - interval, as well as defining the rate at which infections are - admitted to the hospital due to infection, modeled as a log-normal - distribution with mean = ``jnp.log(0.05)`` and standard deviation = - 0.05. - -5) hospitalization observation process, modeled with a Poisson - distribution - -6) an Rt random walk process with default settings - -.. code:: python - - # Initializing model components: - - # 1) A deterministic generation time - gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) - - # 2) Initial infections - I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) - - # 3) The latent infections process - latent_infections = Infections() - - # 4) The latent hospitalization process: - - # First, define a deterministic infection to hosp pmf - inf_hosp_int = DeterministicPMF( - jnp.array([0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05]), - ) - - latent_hospitalizations = HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist = InfectHospRate( - dist=dist.LogNormal(jnp.log(0.05), 0.05), - ), - ) - - # 5) An observation process for the hospitalizations - obs_process = PoissonObservation() - - # 6) A random walk process (it could be deterministic using - # pyrenew.process.DeterministicProcess()) - Rt_process = RtRandomWalkProcess() - -The ``HospitalizationsModel`` is then initialized using the initial -conditions just defined: - -.. code:: python - - # Initializing the model - hospmodel = HospitalizationsModel( - gen_int=gen_int, - I0=I0, - latent_hospitalizations=latent_hospitalizations, - observation_process=obs_process, - latent_infections=latent_infections, - Rt_process=Rt_process - ) - -Next, we sample from the ``hospmodel`` for 30 time steps and view the -output of a single run: - -.. code:: python - - with seed(rng_seed=np.random.randint(1, 60)): - x = hospmodel.sample(n_timepoints=30) - x - -:: - - HospModelSample(Rt=[1.1791104 1.1995267 1.1772177 1.1913829 1.2075942 1.1444623 1.1514508 - 1.1976782 1.2292639 1.1719677 1.204649 1.2323451 1.2466507 1.2800207 - 1.2749145 1.2619376 1.2189837 1.2192641 1.2290158 1.2128737 1.1908046 - 1.2174997 1.1941082 1.2084603 1.1965215 1.2248698 1.2308019 1.2426206 - 1.2131014 1.207159 1.1837622], latent_infections=[0.05214045 0.06867922 0.08761451 0.11476436 0.09757317 0.10547114 - 0.1167062 0.13010225 0.13824694 0.14372033 0.15924728 0.17601486 - 0.19236736 0.21483542 0.23664482 0.25865382 0.27503362 0.30029488 - 0.3289544 0.35262382 0.37418258 0.41274938 0.43839005 0.47672123 - 0.50913286 0.5625195 0.6113282 0.67092246 0.7138808 0.77217466 - 0.819254 ], IHR=0.04929916560649872, latent_admissions=[0. 0. 0. 0. 0. 0. - 0. 0. 0. 0. 0. 0. - 0. 0.00064262 0.0021317 0.00302979 0.00416974 0.0049305 - 0.00487205 0.00530097 0.00576412 0.00624666 0.00665578 0.00711595 - 0.0078055 0.00854396 0.00939666 0.01042083 0.0114624 0.01246538 - 0.01345188], sampled_admissions=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0]) - -Visualizations of the single model output show (top) infections over the -30 time steps, (middle) hospitalizations over the 30 time steps, and -(bottom) - -.. code:: python - - fig, ax = plt.subplots(nrows=3, sharex=True) - ax[0].plot(x.latent_infections) - ax[0].set_ylim([1/5, 5]) - ax[1].plot(x.latent_admissions) - ax[2].plot(x.sampled_admissions, 'o') - for axis in ax[:-1]: - axis.set_yscale("log") - -|image1| - -To fit the ``hospmodel`` to the simulated data, we call -``hospmodel.run()``, an MCMC algorithm, with the arguments generated in -``hospmodel`` object, using 1000 warmup stepts and 1000 samples to draw -from the posterior distribution of the model parameters. The model is -run for ``len(x.sampled_admissions)-1`` time steps with the seed set by -``jax.random.PRNGKey()`` - -.. code:: python - - # from numpyro.infer import MCMC, NUTS - hospmodel.run( - num_warmup=1000, - num_samples=1000, - observed_hospitalizations=x.sampled_admissions, - n_timepoints = len(x.sampled_admissions)-1, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - ) - -Print a summary of the model: - -.. code:: python - - hospmodel.print_summary() - -:: - - mean std median 5.0% 95.0% n_eff r_hat - I0 1.27 1.10 0.97 0.10 2.42 1132.34 1.00 - IHR 0.05 0.00 0.05 0.05 0.05 2306.45 1.00 - Rt0 1.23 0.17 1.23 0.93 1.48 1327.22 1.00 - Rt_transformed_rw_diffs[0] -0.00 0.02 -0.00 -0.04 0.04 1404.95 1.00 - Rt_transformed_rw_diffs[1] 0.00 0.03 0.00 -0.04 0.04 2280.86 1.00 - Rt_transformed_rw_diffs[2] -0.00 0.02 -0.00 -0.04 0.04 2119.83 1.00 - Rt_transformed_rw_diffs[3] 0.00 0.02 -0.00 -0.04 0.04 2196.86 1.00 - Rt_transformed_rw_diffs[4] 0.00 0.02 -0.00 -0.03 0.04 2391.45 1.00 - Rt_transformed_rw_diffs[5] 0.00 0.03 0.00 -0.04 0.04 2043.02 1.00 - Rt_transformed_rw_diffs[6] 0.00 0.02 0.00 -0.04 0.04 1514.40 1.00 - Rt_transformed_rw_diffs[7] -0.00 0.02 -0.00 -0.04 0.04 2619.69 1.00 - Rt_transformed_rw_diffs[8] 0.00 0.03 0.00 -0.04 0.04 1883.84 1.00 - Rt_transformed_rw_diffs[9] 0.00 0.03 0.00 -0.04 0.04 2015.66 1.00 - Rt_transformed_rw_diffs[10] 0.00 0.02 0.00 -0.04 0.04 2045.47 1.00 - Rt_transformed_rw_diffs[11] -0.00 0.03 0.00 -0.04 0.04 1615.10 1.00 - Rt_transformed_rw_diffs[12] 0.00 0.02 0.00 -0.04 0.04 2206.32 1.00 - Rt_transformed_rw_diffs[13] 0.00 0.03 0.00 -0.04 0.04 1175.93 1.00 - Rt_transformed_rw_diffs[14] -0.00 0.03 -0.00 -0.04 0.04 1606.26 1.00 - Rt_transformed_rw_diffs[15] -0.00 0.03 -0.00 -0.04 0.04 2344.62 1.00 - Rt_transformed_rw_diffs[16] -0.00 0.02 0.00 -0.04 0.04 1522.33 1.00 - Rt_transformed_rw_diffs[17] 0.00 0.03 0.00 -0.04 0.04 2157.17 1.00 - Rt_transformed_rw_diffs[18] -0.00 0.02 -0.00 -0.04 0.04 1594.95 1.00 - Rt_transformed_rw_diffs[19] 0.00 0.03 -0.00 -0.04 0.04 1698.70 1.00 - Rt_transformed_rw_diffs[20] 0.00 0.02 0.00 -0.04 0.04 1726.18 1.00 - Rt_transformed_rw_diffs[21] 0.00 0.02 -0.00 -0.04 0.04 2386.35 1.00 - Rt_transformed_rw_diffs[22] 0.00 0.03 0.00 -0.04 0.04 2028.63 1.00 - Rt_transformed_rw_diffs[23] 0.00 0.02 0.00 -0.04 0.03 1669.71 1.00 - Rt_transformed_rw_diffs[24] 0.00 0.02 0.00 -0.04 0.04 2126.33 1.00 - Rt_transformed_rw_diffs[25] -0.00 0.02 -0.00 -0.04 0.04 2119.74 1.00 - Rt_transformed_rw_diffs[26] 0.00 0.03 0.00 -0.04 0.04 2657.91 1.00 - Rt_transformed_rw_diffs[27] -0.00 0.03 0.00 -0.04 0.04 1939.30 1.00 - Rt_transformed_rw_diffs[28] -0.00 0.02 -0.00 -0.04 0.04 1737.84 1.00 - Rt_transformed_rw_diffs[29] -0.00 0.03 -0.00 -0.04 0.04 2105.55 1.00 - - Number of divergences: 0 - -Next, we will use the ``spread_draws`` function from the -``pyrenew.mcmcutils`` module to process the MCMC samples. The -``spread_draws`` function reformats the samples drawn from the -``mcmc.get_samples()`` from the ``hospmodel``. The samples are simulated -Rt values over time. - -.. code:: python - - from pyrenew.mcmcutils import spread_draws - samps = spread_draws(hospmodel.mcmc.get_samples(), [("Rt", "time")]) - -We visualize these samples below, with individual possible Rt estimates -over time shown in light blue, and the overall mean estimate Rt shown in -dark blue. - -.. code:: python - - import numpy as np - import polars as pl - fig, ax = plt.subplots(figsize=[4, 5]) - - ax.plot(x[0]) - samp_ids = np.random.randint(size=25, low=0, high=999) - for samp_id in samp_ids: - sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) - ax.plot(sub_samps.select("time").to_numpy(), - sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) - ax.set_ylim([0.4, 1/.4]) - ax.set_yticks([0.5, 1, 2]) - ax.set_yscale("log") - -|image2| - -.. |image0| image:: pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png -.. |image1| image:: pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png -.. |image2| image:: pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png diff --git a/model/Makefile b/model/Makefile index 6f9515d8..ca7c4e53 100644 --- a/model/Makefile +++ b/model/Makefile @@ -49,4 +49,5 @@ clean: rm -f docs/example-with-datasets.$$i; \ done -.PHONY: install test docs clean docs/notebooks docs/py test_images +.PHONY: install test docs clean docs/notebooks docs/py test_images \ + sphinx-tutorials diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png index 73cb803fc8ea1b9b1f3d5ea5312ebcc9cbf3ecb1..d46590a6028bf8e6e94fe2e871e8278bbeaefeed 100644 GIT binary patch delta 41 wcmeyG|22Pthn$IyLPkkRL9vy-er{q(K~8>2PG*u`eo?x delta 41 wcmeyG|22Pthn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yq@n;di8`JvD0cLd(8vpH6}j%B36AvP%GZ+z@8~ delta 43 zcmccklJVk8#t9yB#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5%Ps)`h1C(_ diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png index 7f94e989d16ceb16a1199be57b7159c24151992c..eea16418f256196e5a332cd3466c290648fa8a1f 100644 GIT binary patch delta 43 zcmaF4is|JlrU@Q$COQfkB_##LR{Hw6i6sR&`6W4-NqYH3>H6}j%B36An5O~&ZdDJ| delta 43 zcmaF4is|JlrU@Q$#yScaB_##LR{Hw6i6sR&`6W4-NqYH3>H5c?MFek5W1b2Cc}@{e From 2e8ab1d01b00297439e20fd7d3ab87ee39f2b9f8 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 13:40:41 -0600 Subject: [PATCH 03/12] Fixing rendering --- .github/workflows/website.yaml | 2 +- model/docs/.gitignore | 2 + model/docs/example-with-datasets.md | 472 ------------------ .../figure-commonmark/basic-fig-output-1.png | Bin 46416 -> 0 bytes .../data-extract-output-2.png | Bin 31824 -> 0 bytes ...dmissions-padding-and-weekday-output-1.png | Bin 83648 -> 0 bytes ...utput-admissions-with-padding-output-1.png | Bin 70061 -> 0 bytes .../output-hospital-admissions-output-1.png | Bin 75472 -> 0 bytes ...utput-infections-with-padding-output-1.png | Bin 57042 -> 0 bytes .../plot-hospital-admissions-output-1.png | Bin 42267 -> 0 bytes model/docs/getting-started.md | 273 ---------- .../figure-commonmark/basic-fig-output-1.png | Bin 39115 -> 0 bytes .../figure-commonmark/output-rt-output-1.png | Bin 26868 -> 0 bytes model/docs/pyrenew_demo.md | 301 ----------- .../figure-commonmark/fig-hosp-output-1.png | Bin 14325 -> 0 bytes .../fig-randwalk-output-1.png | Bin 29905 -> 0 bytes .../fig-sampled-rt-output-1.png | Bin 38249 -> 0 bytes 17 files changed, 3 insertions(+), 1047 deletions(-) delete mode 100644 model/docs/example-with-datasets.md delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/basic-fig-output-1.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/data-extract-output-2.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/output-admissions-with-padding-output-1.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png delete mode 100644 model/docs/example-with-datasets_files/figure-commonmark/plot-hospital-admissions-output-1.png delete mode 100644 model/docs/getting-started.md delete mode 100644 model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png delete mode 100644 model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png delete mode 100644 model/docs/pyrenew_demo.md delete mode 100644 model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png delete mode 100644 model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png delete mode 100644 model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index 5edc6fd4..089d00dc 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -43,7 +43,7 @@ jobs: cd model mkdir _compiled for file in $(find docs -name '*.qmd'); do - poetry run quarto render --to rst $file --output-dir _compiled + poetry run quarto render $file --to rst --output-dir ../_compiled done # Upload diff --git a/model/docs/.gitignore b/model/docs/.gitignore index 4b7530c4..b31cd818 100644 --- a/model/docs/.gitignore +++ b/model/docs/.gitignore @@ -1,2 +1,4 @@ !*png *_files/libs + +/.quarto/ diff --git a/model/docs/example-with-datasets.md b/model/docs/example-with-datasets.md deleted file mode 100644 index 9bee20aa..00000000 --- a/model/docs/example-with-datasets.md +++ /dev/null @@ -1,472 +0,0 @@ -# Fitting a Hospital Admissions-only Model - - -This document illustrates how a hospital admissions-only model can be -fitted using data from the Pyrenew package, particularly the wastewater -dataset. The CFA wastewater team created this dataset, which contains -simulated data. - -## Model definition - -In this section, we provide the formal definition of the model. The -hospitalization model is a semi-mechanistic model that describes the -number of observed hospital admissions as a function of a set of latent -variables. Mainly, the observed number of hospital admissions is -discretely distributed with location at the number of latent hospital -admissions: - -$$ -h(t) \sim \text{HospDist}\left(H(t)\right) -$$ - -Where $h(t)$ is the observed number of hospital admissions at time $t$, -and $H(t)$ is the number of latent hospital admissions at time $t$. The -distribution $\text{HospDist}$ is discrete. For this example, we will -use a negative binomial distribution: - -$$ -\begin{align*} -h(t) & \sim \text{NegativeNinomial}\left(\text{concentration} = 1, \text{mean} = H(t)\right) \\ -H(t) & = \omega(t) p_\mathrm{hosp}(t) \sum_{\tau = 0}^{T_d} d(\tau) I(t-\tau) -\end{align*} -$$ - -Were $d(\tau)$ is the infection to hospitalization interval, $I(t)$ is -the number of latent infections at time $t$, $p_\mathrm{hosp}(t)$ is the -infection to hospitalization rate, and $\omega(t)$ is the weekday effect -at time $t$; the last section provides an example building a weekly -effect `RandomVariable`. - -The number of latent hospital admissions at time $t$ is a function of -the number of latent infections at time $t$ and the infection to -hospitalization rate. The latent infections are modeled as a renewal -process: - -$$ -\begin{align*} -I(t) &= R(t) \times \sum_{\tau < t} I(\tau) g(t - \tau) \\ -I(0) &\sim \text{LogNormal}(\mu = \log(80/0.05), \sigma = 1.5) -\end{align*} -$$ - -The reproductive number $R(t)$ is modeled as a random walk process: - -$$ -\begin{align*} -R(t) & = R(t-1) + \epsilon\\ -\log{\epsilon} & \sim \text{Normal}(\mu=0, \sigma=0.1) \\ -R(0) &\sim \text{TruncatedNormal}(\text{loc}=1.2, \text{scale}=0.2, \text{min}=0) -\end{align*} -$$ - -## Data processing - -We start by loading the data and inspecting the first five rows. - -``` python -import polars as pl -from pyrenew import datasets - -dat = datasets.load_wastewater() -dat.head(5) -``` - -
    -shape: (5, 14) - -| t | lab_wwtp_unique_id | log_conc | date | lod_sewage | below_LOD | daily_hosp_admits | daily_hosp_admits_for_eval | pop | forecast_date | hosp_calibration_time | site | ww_pop | inf_per_capita | -|-----|--------------------|----------|--------------|------------|-----------|-------------------|----------------------------|-----|---------------|-----------------------|------|----------|----------------| -| i64 | i64 | f64 | str | f64 | i64 | i64 | i64 | f64 | str | i64 | i64 | f64 | f64 | -| 1 | 1 | null | "2023-10-30" | null | null | 6 | 6 | 1e6 | "2024-02-05" | 90 | 1 | 400000.0 | 0.000663 | -| 1 | 2 | null | "2023-10-30" | null | null | 6 | 6 | 1e6 | "2024-02-05" | 90 | 1 | 400000.0 | 0.000663 | -| 1 | 3 | null | "2023-10-30" | null | null | 6 | 6 | 1e6 | "2024-02-05" | 90 | 2 | 200000.0 | 0.000663 | -| 1 | 4 | null | "2023-10-30" | null | null | 6 | 6 | 1e6 | "2024-02-05" | 90 | 3 | 100000.0 | 0.000663 | -| 1 | 5 | null | "2023-10-30" | null | null | 6 | 6 | 1e6 | "2024-02-05" | 90 | 4 | 50000.0 | 0.000663 | - -
    - -The data shows one entry per site, but the way it was simulated, the -number of admissions is the same across sites. Thus, we will only keep -the first observation per day. - -``` python -# Keeping the first observation of each date -dat = dat.group_by("date").first().select(["date", "daily_hosp_admits"]) - -# Now, sorting by date -dat = dat.sort("date") - -# Keeping the first 90 days -dat = dat.head(90) - -dat.head(5) -``` - -
    -shape: (5, 2) - -| date | daily_hosp_admits | -|--------------|-------------------| -| str | i64 | -| "2023-10-30" | 6 | -| "2023-10-31" | 8 | -| "2023-11-01" | 4 | -| "2023-11-02" | 8 | -| "2023-11-03" | 4 | - -
    - -Let’s take a look at the daily prevalence of hospital admissions. - -``` python -import matplotlib.pyplot as plt - -# Rotating the x-axis labels, and only showing ~10 labels -ax = plt.gca() -ax.xaxis.set_major_locator(plt.MaxNLocator(nbins=10)) -ax.xaxis.set_tick_params(rotation=45) -plt.plot(dat["date"].to_numpy(), dat["daily_hosp_admits"].to_numpy()) -plt.xlabel("Date") -plt.ylabel("Admissions") -plt.show() -``` - - - -## Building the model - -First, we will extract two datasets we will use as deterministic -quantities: the generation interval and the infection to hospitalization -interval. - -``` python -gen_int = datasets.load_generation_interval() -inf_hosp_int = datasets.load_infection_admission_interval() - -# We only need the probability_mass column of each dataset -gen_int = gen_int["probability_mass"].to_numpy() -inf_hosp_int = inf_hosp_int["probability_mass"].to_numpy() - -# Taking a pick at the first 5 elements of each -gen_int[:5], inf_hosp_int[:5] - -# Visualizing both quantities side by side -fig, axs = plt.subplots(1, 2) - -axs[0].plot(gen_int) -axs[0].set_title("Generation interval") -axs[1].plot(inf_hosp_int) -axs[1].set_title("Infection to hospitalization interval") -``` - - Text(0.5, 1.0, 'Infection to hospitalization interval') - - - -With these two in hand, we can start building the model. First, we will -define the latent hospital admissions: - -``` python -from pyrenew import latent, deterministic -import jax.numpy as jnp -import numpyro.distributions as dist - -inf_hosp_int = deterministic.DeterministicPMF(inf_hosp_int) - -hosp_rate = latent.InfectHospRate( - dist=dist.LogNormal(jnp.log(0.05), 0.1) -) - -latent_hosp = latent.HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist=hosp_rate, - ) -``` - - /mnt/c/Users/xrd4/Documents/repos/msr/model/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html - from .autonotebook import tqdm as notebook_tqdm - An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. - -The `inf_hosp_int` is a `DeterministicPMF` object that takes the -infection to hospitalization interval as input. The `hosp_rate` is an -`InfectHospRate` object that takes the infection to hospitalization rate -as input. The `HospitalAdmissions` class is a `RandomVariable` that -takes two distributions as inputs: the infection to admission interval -and the infection to hospitalization rate. Now, we can define the rest -of the other components: - -``` python -from pyrenew import model, process, observation - -# Infection process -latent_inf = latent.Infections() -I0 = latent.Infections0(I0_dist=dist.LogNormal(loc=jnp.log(80/.05), scale=1.5)) - -# Generation interval and Rt -gen_int = deterministic.DeterministicPMF(gen_int) -rtproc = process.RtRandomWalkProcess( - Rt_rw_dist=dist.Normal(0, 0.1) -) - -# The observation model -obs = observation.NegativeBinomialObservation(concentration_prior=1.0) -``` - -Notice all the components are `RandomVariable` instances. We can now -build the model: - -``` python -hosp_model = model.HospitalizationsModel( - latent_infections=latent_inf, - latent_hospitalizations=latent_hosp, - I0=I0, - gen_int=gen_int, - Rt_process=rtproc, - observation_process=obs, -) -``` - -Let’s simulate to check if the model is working: - -``` python -import numpyro as npro -import numpy as np - -timeframe = 120 - -np.random.seed(223) -with npro.handlers.seed(rng_seed = np.random.randint(1, timeframe)): - sim_data = hosp_model.sample(n_timepoints=timeframe) -``` - -``` python -import matplotlib.pyplot as plt - -fig, axs = plt.subplots(1, 2) - -# Rt plot -axs[0].plot(range(0, timeframe + 1), sim_data.Rt) -axs[0].set_ylabel('Rt') - -# Infections plot -axs[1].plot(range(0, timeframe + 1), sim_data.sampled_admissions) -axs[1].set_ylabel('Infections') -axs[1].set_yscale('log') - -fig.suptitle('Basic renewal model') -fig.supxlabel('Time') -plt.tight_layout() -plt.show() -``` - -![Rt and -Infections](example-with-datasets_files/figure-commonmark/basic-fig-output-1.png) - -## Fitting the model - -We can fit the model to the data. We will use the `run` method of the -model object. The two inputs this model requires are `n_timepoints` and -`observed_hospitalizations` - -``` python -import jax - -hosp_model.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat.shape[0] - 1, - observed_hospitalizations=dat["daily_hosp_admits"].to_numpy(), - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), -) -``` - -We can use the `plot_posterior` method to visualize the results[^1]: - -``` python -out = hosp_model.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat["daily_hosp_admits"].to_numpy(), -) -``` - -![Hospital Admissions posterior -distribution](example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png) - -The first half of the model is not looking good. The reason is that the -infection to hospitalization interval PMF makes it unlikely to observe -admissions from the beginning. The following section shows how to fix -this. - -## Padding the model - -We can use the padding argument to solve the overestimation of -hospitalizations in the first half of the model. By setting -`padding > 0`, the model then assumes that the first `padding` -observations are missing; thus, only observations after `padding` will -count towards the likelihood of the model. In practice, the model will -extend the estimated Rt and latent infections by `padding` days, given -time to adjust to the observed data. The following code will add 21 days -of missing data at the beginning of the model and re-estimate it with -`padding = 21`: - -``` python -days_to_impute = 21 - -dat2 = dat["daily_hosp_admits"].to_numpy() - -# Add 21 Nas to the beginning of dat2 -dat2 = np.hstack((np.repeat(np.nan, days_to_impute), dat2)) - -hosp_model.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat2.shape[0] - 1, - observed_hospitalizations=dat2, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - padding=days_to_impute, # Padding the model -) -``` - -And plotting the results: - -``` python -out = hosp_model.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat2, -) -``` - -![Hospital Admissions posterior -distribution](example-with-datasets_files/figure-commonmark/output-admissions-with-padding-output-1.png) - -We can also take a look at the latent infections: - -``` python -out2 = hosp_model.plot_posterior( - var="latent_infections", - ylab="Latent Infections" -) -``` - -![Hospital Admissions posterior -distribution](example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png) - -## Round 2: Incorporating weekday effects - -We will re-use the infection to admission interval and infection to -hospitalization rate from the previous model. But we will also add a -weekday effect distribution. To do this, we will create a new instance -of `RandomVariable` to model the weekday effect. The weekday effect will -be a truncated normal distribution with a mean of 1.0 and a standard -deviation of 0.5. The distribution will be truncated between 0.1 and -10.0. The weekday effect will be repeated for the number of weeks in the -dataset. - -``` python -from pyrenew import metaclass -import numpyro as npro - -class WeekdayEffect(metaclass.RandomVariable): - """Weekday effect distribution""" - def __init__(self, len: int): - """ Initialize the weekday effect distribution - Parameters - ---------- - len : int - The number of observations - """ - self.nweeks = jnp.ceil(len/7).astype(int) - self.len = len - - @staticmethod - def validate(): - return None - - def sample(self, **kwargs): - ans = npro.sample( - name="weekday_effect", - fn=npro.distributions.TruncatedNormal( - loc=1.0, scale=.5, low=0.1, high=10.0 - ), - sample_shape=(7,) - ) - - return jnp.tile(ans, self.nweeks)[:self.len] - -# Initializing the weekday effect -weekday_effect = WeekdayEffect(dat.shape[0]) -``` - -Notice that the instance’s `nweeks` and `len` members are passed during -construction. Trying to compute the number of weeks and the length of -the dataset in the `validate` method will raise a `jit` error in `jax` -as the shape and size of elements are not known during the validation -step, which happens before the model is run. With the new weekday -effect, we can rebuild the latent hospitalization model: - -``` python -latent_hosp_wday_effect = latent.HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist=hosp_rate, - weekday_effect_dist=weekday_effect, - ) - -hosp_model_weekday = model.HospitalizationsModel( - latent_infections=latent_inf, - latent_hospitalizations=latent_hosp_wday_effect, - I0=I0, - gen_int=gen_int, - Rt_process=rtproc, - observation_process=obs, -) -``` - -Running the model (with the same padding as before): - -``` python -hosp_model_weekday.run( - num_samples=2000, - num_warmup=2000, - n_timepoints=dat2.shape[0] - 1, - observed_hospitalizations=dat2, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - padding=days_to_impute, -) -``` - -And plotting the results: - -``` python -out = hosp_model_weekday.plot_posterior( - var="predicted_hospitalizations", - ylab="Hospital Admissions", - obs_signal=dat2, -) -``` - -![Hospital Admissions posterior -distribution](example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png) - -[^1]: The output is captured to avoid `quarto` from displaying the - output twice. diff --git a/model/docs/example-with-datasets_files/figure-commonmark/basic-fig-output-1.png b/model/docs/example-with-datasets_files/figure-commonmark/basic-fig-output-1.png deleted file mode 100644 index 5208cbd1e97fd940ccacd1f283f2bf736d16fab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46416 zcmcHhcT`i|7X^w2K}hHjnn)9YP?RDF0VxtX(gg%W5D+PXbm>J1(m^TGOF*QHNU_md z6qMcsL_+AjHz{|=?|1K?_ue<&dt>M@gyfvF_g-brxz;jDPe+Z4oRu5`flz6vD;q!{ z7cdYA(JYh{yhHtGpAGyY?WtnodDrE!r?-{6EkxVO)78nv)5*b_>zS>)hl9&gabcve z_%$wjPfu4584(fZ|LX(7F79?B*m;w?;36Fy;ps$TVH#sRs%?C~c!kKtM)Sp* zSftWfZd%X0VyWJ0y&6g@i=3rZd1-@OkUwtx8We08SXOqNv7VFDIKShU$-h6o%0`P9|M&VT4L#<+ca^8E&}shn?kxNN_iyUY%Wk#9r;$3x z24%x6;*TlceO;Gfll5^mN%%D~B6+RS^4&GdMz)_ne}-GAYG!0+Rs|ew$L4x(G#rHD zKTV26az!Sp+$B8cE6%f%1qGYcu_|ap8`6CiI#O{zqFeYYC1>C+ouH7AhhKSb@Y#;f z!Ef*WzP^`(qrA{it}ZgL1Tj?F%_mHJx;c~(llKpaSTA4R`qdl6v{Ao9{qECDbQVY1 zyLZ%HUS86H+Nwx4(%zju`^9Y)S`z&(J!B4-D!*|VBZQWcw9q+%hO_hf$H`C_oUhql z!g{7X>abI)@%he%z%p#AFNl9E^Z_dmNA?)rRiJ=q94xb-7loJ_TVPBN1! z)!ZF6<-3rbyfTZVF1uIRsT+KJS1V1FNG6+_GwARNWP0u6pHAD<2QQ+d$QQ(E>e^ylNSe*5;&ixls@ zR*aXn7IK3**s!>vlDh+S;4!{VBdHVQkBe*8;-sb^ShvH)f`l8#4R0yHOB_vbBpHVf zL|a>1G+pZuY;(f9cfy`tUbrtS@04t9c{}4SN93Na+PU@qX$-veTKEBZOvi=lU$KPk zpZMsKFtL%^bixZx&q|a<)O+2$V*}MwWrKAc)Rw}4z4dG0sDAuY^YAY?l9x){$y};X zoGS}P4;s|ONk+}q9DF(&jA?A-h+!6ay)W%CPf5661cx8AvSFWf{qq9H37+%3`Galu zn?Q46W-~LhJmWH8Rl3u|_bfZ)4kp9&_>;E}%Zw{pqZx%n?RwZ`4<+xK&4 zA>FL|Y8AleeU9c*tAbAb>QA=2?VX(3yG5G*t$-=!qORN?!`W_;Ld%k;HLf)r>AU@A z=147`ttH!gD(dS-eTH0b>AAN;L9N7TX%y9Os~F2QZvbKP$EIH^w9LJ~rE zCX_VJ zZ&)Zm8ZnsX2R^dVYe{_CGpW~1^T!^4oH)wJU_I-(wUJ!+!2LUKy=noDhFylod1ZBV z)<}>s`26(X&cy3$rmeb}l5q!rPY3Gs_}dAun~s;u3Z2F6dS+8aEPHljdk^;ax7n~; z-hTq6{`B>6t$DOuWZoRL3=SMPNM1bX+K~;OaQ?UjEV?B4O8w@o^c%M1oCF{C{_Vv~ z6Jq)CY4!{f`22vMZ_WZRGqc7I9}+hWCv?$=lbjUysJi z@B9##g`Cw*JWZ+#JnFWbfAZwXQBDp=N8_DT;kn*h8?s9aH=m4b?!Ho@MYFl1VAkl( zRtk}a*m(9a;5TRcADeJl9z89o-M)gyPym#I^4Dvym=YMAEgFAm+|3b00wuW?_hGgj=fI)}f5os{=(~)T!)jC?W zQz-iulMS94l2=%$GXA#TUetH{QO9}z>+AP7!$ks!jEsy1B+G`Q%ietoGV?vz zF}(rv;-7#GY#lV6v&;74r~Efk_K$kcPjn~!HyS>Hz1iCC7O?@wdbnbFP7c{T3V?)k zb!j?{*TCZ9;!Hlf^L8e1CM*pW;g1$_b^TVSrYs=MV^ucQX8ukof%on)L#E?zt%n$w z83i=#4%`{oVi_JDcB?EIT`4>m8Xb*rMaFuqjC3?iwb3ZVf{3roO$TW%Otpx{V-xU; z{RLw+4shYmv-Gj-x0vo0>2$o+&U|m%&4fl>xn}x7S;m;KaaF&ZqI11u9t^B)+wAV` z@vfSQ`t8~a3{6cC^(f;e@rq!D#JH1yK$gLK7vJb!O289B5 zr1n2p@7P@$#P3&DR9u8)$p^B6XZ-0?QFY3jPJ2xFRNZ-vO<;2@zN5;Q$AOdMvDi!ok0|#pV;mLm3a5=lrbhuf)5 z*W^-v`+WNhyl`v%>&6U-=tgg}0BWKnjnWHcxw87JnoLekZrYav_>j*bE}|b;kW1jo z{Q>z@%OL5q%?O2uow1kFWPNX(9gjA3*6R5!6{hx$k4Fa|r3Sa4Vesi^U$@TB{+uhR zs9c=y&CT5$15vc~f%orlkauWxis1Jicrgw+-mG)^6Ynti7I(Z-*}K@_$`)aHemqKW z6gnu0>u;}7OkEvQc6PSULbkVP(237v;KA=p4fA0%@{uYrOqjyLi{6uNWUQ>LeS?GG z%|i&t%L=DUx`lxvgbV`wi)MLcg_o|$XUlqbe?Pydh|GJ+w`itz@Tg%v=KO5qyc5I) zGywjyQm|L~ZmbARhBSTH@Jnx&8?}z)k!)lU#jvYk7H@06GL_dmeHduKSFPj97!i z9sB5FnFY`2*|=#*xO%3POXu=%nH$JT&lh~neQ@DEf7d>`0XV4f_qQ9C-SxA%&t?nR z*6yIL&GGJ%&+$@`+s;oZAq$t2!>zH;9*FgZ1B;W<;8W%=U%%?#y&FadWgruEA52_@ z=A)+pu%~DMh?nrk`jO)B*8gAN{6FIG|6_{qe|OD(20x-BZu+Q)4-nNAu4De~e;cty1MJqgtwBK3cpUg$lVTg%|0R|V?y#Wp7H}LcK*MIQf!J;h# z!xtTT5;2y~^~UimbdI7d5NMNZLBGlLFu?iOd>Sl@4aTr+u_;)LI@WSLtKena3E^n<`(K@d{reuWYV=Zd5w!S2XfE~?BDSB_F7 zeJ4r4DtRB0D603>ULijfhW@)Mr|L5S{{IM=J}n4*|6^hi%Kv-wmG}SCo5zGN#kv;j zf^UR}5PlNN$2?JDIDP;q66G@df7~tkA`c4o&l)1@35YxL!_007Gub%%d;idI3vxwT zW&Ih77gZZW5S@Kr@-Nf`rkBj9>vZddP|#<_;PIgRzB^aI4r-43{r zg4|BgxHp{w!XyKNnh!-4?#!(F@6qxt$*~DqbYGr~3SR?E2hf1de3h8IVaNVIe=HYm z=}7dIkpZn)FxH=<4JOUc} zO-#1eruixwPZ1blNlBogCXE5Um{hR#S1sg8<)nl)(@M9nL$5O6tcFUh`bsGpvdVqt z)9v27;!q|P#vq*P@xSrOTJQyFl@!1T(afJFHTHD-8-F+tWT+#E3DD-)Bk9 z+#Sr6_%DANW6pmEklfxv<2AtH=u7T?y~tdXJR$zeNwVDhGd+#mu3jsa5Q4BA{*(lQ zh#KSoP%IGmi>RW^UC8ex+N7WC@!v0UK>`fcmej|CMK zR6FxOlj>dj}+DCpM`o6&8Uo`?>i*Q~8+aGVCkCq9z zLefTu4Cr_T*CfQEWU4ufOB=382n0aG=rzeqZ9hr~pyaWD__+3s4m#HMId<=OtI#Sl z%!gb+jnjLe1P}znQG4HY=D)Tg z5mV(jEC>+EwFh4qfbD_J?*Kfx@brTfSOlO27eS`d;v0PVhZsbL7G_FfTAA=qr&rQc zimFH1y-*4JQ0|((qdbT-!PV)AZKu(~KzWhv#RgsnP6q*8m5`9*+J6Jd#mM^Q$5O24Z?)alC za|d+*y-0|h`h3XKE6P5YwMb*_)H*G~my*dENpL>K$(|#{o6D35}03Dk<3hTl>ZG ziy8t4(CZA~l9AiZoY69v=XxX!>kz+o*MK;c1lBvd$LjxCOzXO>4nH9zs`9xb7-+Xq zrpU&Ta;4gGWYm9NtlY%nUMd($Aq19qWwRTYhm|8e1(rgm*upRNzmJft&}qgkgVR8) zPH~}d-==R}*o?yYjKnYPhUmJZo?Mer$>amaK%zJsDL;=kK+4+`i$-xpC&_z5c7nHQ z%1`iQ4r{%wTkw@1kapL4ALsI$D>kiLhU~h)-{IqHD4Y2gno7^_8Tjd0(SrybA(OpH z(mEFC&b3|@_jh8;q3CW^T&;bEo={|89fwp_BdvrWwQ+$eIrhmgTddjMrm#HKzawC( ziILk&SQ|3_*QVHtiFRFMd*fgUN>%c-&`9_mx?XZP~uL-8&Pvl->NwCo0Brr7^hNsYhbxL^{D!_ zr%o`G+EP#OhBbFhYhH&)ff+25u0bFDoQUwI$6XWLg2 zbCuSDtqkBYmJ6#hT1R=m2-r+Ni$A+>@qjuVYFnay+tWHxG1Gi%>E?3&H?sfinDl)< zPibr~bty2enKwdIbbfx#LV>+mdVzF?jYY%+W76aR$E;7UNIQ3-cW2SFo%t%!7S2ai zM#o-EpS6q!01hGwwYa)O5YUxaXDB5F9k&VHz10WA83cRv=-l0Sq9t z7*0skk=r5RGhVEUrM%a*=s#9>`822+Nl530DH48{h!`*a7gm$Wt}z5Z3uApFzE&aR-&$BLMPucw^aH7GmLejp@Yz@8kYhNu05xueD8e(@NJPcg#DX7=ab%3p zL#urp6!AdaQ5#R`(F7QWzFD|ys94?~Kq4`gXD+lK&w_3>ZebrN`DLr4u@8FJTh5=# zCl;inh-_bBE2wCtk}P{^$L*PqjNbu}C}`xrHPIeDk4}6+y$9nZwP}Xm=5H;qq$IQJ zuCkD_7z<==^37CUeE9zJmKUQtVu%7f>}~!F6&Y>qGK%QBiH6OnwRFuwHGVxVIzK=R ztOnj_08vBP+4(vUE8pAo<|OwnZERq*rGBGBh79)3PmA6nT8YE&T z?~N5Pq6%+Dmy)G@b8g$eY@kr%XKSfQaK^T|1e(3S$)Bx<t5cRk|E*6x1N#rsM{;)1AO5}&9e zbjdsJ$C<^xQZBCKY1_&`v3V{Jl?)un_9|5v7nGGz03EcrtSn~Y{BR5JGnaA?ESqC! zWaI*b!)Kc4N5)MGgicm7_#Hk6PDx5fuCno=-oj;49^@kV@>C1Cf9I~`j=HMkg|dZ* ztjcSZS5q$Sy`cEW|7FnYiEj?}YG%T8ma33&wwb~#zPpHb_}-!z@H>A)bXRuY;0?sk zZJotwg0@>+S{mB&u=%(5pEw|631J`?L*)GTZ&!}u>vwvR>VTx{+qdMY(RO(7Cs;v? zFKO54?p<*nYu7bi+Bgo+?DJgCfWu>Llu1I=$yS?S%O&{5TdoC_6JtI26E<~s4gufZ7 zK6ri)MLQQGMN8F27V(mKoYw<25rbsg*os*q!$3nF-f;OSS9QHpQ!1RebY1g8NR=cU zNsS!dP)WGMPhBSAScvt1@I29}-|(eteb(}_<0L3Sy#M8dTq&<+c#3FqtOYO+>&(f* z5;E+lefR}{7PITpS4s5ODSg^0K1B6+hq4F2WT#@FSS8Ms0rONrTdV7}I#1|B(MVkd zZS!!+CnMJmPlNvHSU|%7P>Nt9Lb@Ps<+E7f4h64*u)rc*e?wm~ncUYG*_f8CS9y(D zBD-FX57p2j+N$&;)3%ZrqMDwU#kEiJJJ1~x!i9>Hxv3>{Gt`RXw{VMG;qsy4;hact z6fk+nZEtTW<9Ft;Y@O5^efPU};eg`5Fe)>~07U~RH72!=jPHQ*g9e_c7|UjI*!?)) zRThs=Q0QDxIQIn-9?3m(Hx*2(QZf-aLL%`&xNPrEv}-^_fe*zCx#zB}8%b9-Sf`m( zR`lBWS5zMkbj0)#-#{=x9Iv(3Zu|)0TK*1WM@vol5CaJt{mZEnRB?bz_FU>u0Gx`7 z3K9ZG=rmhbJzN>781RsE8Vea8H`B_HfC145_22<}PQdne)U{l|F|M%T3N(&q(HCfC z!UA?O|FkFR%104YxXQ+3M@*`6GSO7X4Yph=;vB9EI4IKXy{Uc#evW%c;S)4v;ro}< zD*zE*JNb40@XT_*&}U>CE7hfJU(Jt7pRQ#M*OR08p1aPh94HXg7dne>1UjeyC#OP? zthsQi^?fg|n}iYx)xrnB3&pY;xqLX@vr0&OxI5c$FcsEe-Eyz#*a(P3)<@fOpHBBD zC>pNiw|`eb=FElZ6yL=ARFcWPgPdSQcQa<-+S|1Cx3XOW)aTL1N{e0>T|3v?{IMT| zqT^rS3vM{0Dm1DRX3-fJ5xcwKSOwS!7=`Rj*WnHF4h0~>n|yM;Qf@4SjK8~kixmBG zKI7(-zOgYVs7L`-%L)ic1Nb7{+)kj=Yyypjsj_~XoFnMa3e+7%|G0$li`TbcZegx* z)>I8d`c;+Q=g1M^OU51UdZ37!=Vuzf{K{x0)+Ryj#i)fp6~UB1i4jEoH;ejU!-PLgUlcR205$}!x!3a&+T z@%LuI7P-js;t9R_A<}yfApGW*FXPsyDR+lYo9gUZ)Bp{ z)CfvHao)nYSNA1A$#lrE!)KlF6yhnX+*c$eDb27d)_NS-aDq1!Cb2n$G zN3o85=&}zWoNkf@yVb*7<_C_~yVPj`NDt-O4hcjXbxy23tEsKEnyU95kOUIUt`){+*vlOb~c69}}Zn5{9 zE*4a%E*(a>M(R@+De#2X4R&yn(>RpE^PKvVt4*Hy=P=pIQF#q7sDX_9Vi14s$pS`9G92- z|0nKzaB5IW7RLHbLeMA6M7p$+9y6D}OwOV|xYlzJiD_kDW9ywSAVv*;ti96UQQx-S zW<+xi_voD1%)H;z>zI9eCadp!!h`ka&Bs|%?*yNo>(SGZLovr%F_rY;c%mxQ*+VHq zwuk*u!&^)Z*0}~5X@)XFKwXNodULbX4n9LlO3E06fg|Vz}c?M-2Ur(i6=wK-K_=``%iL7gAG4 zg5nrGDA5BEJfh}0C@u8n$fe2oKO?%Qnkl(@n;=E=Lyd@D9}b#>P3lbQK;PdD z;{Q>4J&DwhCg`b<|Bv|mv@TcI3;a^FUV0`olxkfxXK^R5m%TZnXblnqNDG}s@$5*c zQ8D~4djHc2pvM9=KU{g-Pztin*rEr*CE}!b!zMDowA$X>ZObz%0ACG};$qyO>;&99 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�T!J=~kA0b9jixp(cx?=7C6GY96ogC9F2L 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

    TLcRFPI)8>sQ*sw$N6FYZ3+O1= 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 LppMR$Gxq&|Cj(s? diff --git a/model/docs/example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png b/model/docs/example-with-datasets_files/figure-commonmark/output-admissions-padding-and-weekday-output-1.png deleted file mode 100644 index f66b7c30d5b1624976392300441370acaffb8546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83648 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

    #fIfY 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Ǫ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

    1pLs z5MBo6Vn^$vvdB|moI#R8!9_7J}!&034azTZYX@{ z(B}VrdGFK3BOg?^%G!L&0B?AuVO`X$OT(LY-Qsl?aj?;QBq%{6-$joE#( z6Bs|;nPI2FAJ9LU;91|rFG$qf+3^vxwy_y6P>9|f&6nfT6RMjs4a&jA#btZ&AR3;@ zhYug#pB~PW(o9WFEz&Cc<|L?XY)sp;;!agTTiwv`_D8j;rih40(WHa@_oVyByDfVx z(+V`v@sfWdP-33LI6W<*L~6H;Z^NHV{ATMjP5%G2G5){z(d%1Fy>c8oQ5U=@@J~fS LL%vGZEcpKb?XUBL diff --git a/model/docs/example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png b/model/docs/example-with-datasets_files/figure-commonmark/output-hospital-admissions-output-1.png deleted file mode 100644 index 3f52b5e7e8e23c3a3434b291550a9e4c29fa1d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75472 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⁢CR*%j$1X=tWjwc4JhXW|W`8Qq+X!Xm)NSku? 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 W%(XBjI9E#wJkIAleyMY~{P5pJz3}z` diff --git a/model/docs/example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png b/model/docs/example-with-datasets_files/figure-commonmark/output-infections-with-padding-output-1.png deleted file mode 100644 index b94f6e8205664eeb8ec5b7e4861f79f15d9b5752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57042 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ƤDXE)K(K*&Dm1>Ama_fX_t5q^9CP3Hnrp12Q2{O1 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�{qfNPH99bqm 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 diff --git a/model/docs/getting-started.md b/model/docs/getting-started.md deleted file mode 100644 index 2c8373d7..00000000 --- a/model/docs/getting-started.md +++ /dev/null @@ -1,273 +0,0 @@ -# Getting started with pyrenew - - -`pyrenew` is a flexible tool for simulating and making statistical -inference of epidemiological models, emphasizing renewal models. Built -on `numpyro`, `pyrenew` provides core components for model building and -pre-defined models for processing various observational processes. This -document illustrates how `pyrenew` can be used to build a basic renewal -model. - -## The fundamentals - -`pyrenew`’s core components are the metaclasses `RandomVariable` and -`Model`. From the package’s perspective, a `RandomVariable` is a -quantity models can sample and estimate, **including deterministic -quantities**. Mainly, sampling from a `RandomVariable` involves calling -the `sample()` method. The benefit of this design is the definition of -the sample function can be arbitrary, allowing the user to either sample -from a distribution using `numpyro.sample()`, compute fixed quantities -(like a mechanistic equation), or return a fixed value (like a -pre-computed PMF.) For instance, we may be interested in estimating a -PMF, in which case a `RandomVariable` sampling function may roughly be -defined as: - -``` python -class MyRandVar(RandomVariable): - def sample(...) -> ArrayLike: - return numpyro.sample(...) -``` - -Whereas, in some other cases, we may instead use a fixed quantity for -that variable (like a pre-computed PMF), where the `RandomVariable`’s -sample function could be defined like: - -``` python -class MyRandVar(RandomVariable): - def sample(...) -> ArrayLike: - return jax.numpy.array([0.2, 0.7, 0.1]) -``` - -This way, when a `Model` samples from `MyRandVar`, it could be either -adding random variables to be estimated (first case) or just retrieving -some quantity needed for other calculations (second case.) - -The `Model` metaclass provides basic functionality for estimating and -simulation. Like `RandomVariable`, the `Model` metaclass has a -`sample()` method that defines the model structure. Ultimately, models -can be nested (or inherited), providing a straightforward way to add -layers of complexity. - -## ‘Hello world’ model - -This section will show the steps to build a simple renewal model -featuring a latent infection process, a random walk Rt process, and an -observation process for the reported infections. We start by loading the -needed components to build a basic renewal model: - -``` python -import jax.numpy as jnp -import numpy as np -import numpyro as npro -import numpyro.distributions as dist -from pyrenew.process import RtRandomWalkProcess -from pyrenew.latent import Infections, Infections0 -from pyrenew.observation import PoissonObservation -from pyrenew.deterministic import DeterministicPMF -from pyrenew.model import RtInfectionsRenewalModel -``` - -The basic renewal model defines five components: generation interval, -initial infections, Rt, latent infections, and observed infections. In -this example, the generation interval is not estimated but passed as a -deterministic instance of `RandomVariable`. Here is the code to -initialize the five components: - -``` python -# (1) The generation interval (deterministic) -gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) - -# (2) Initial infections (inferred with a prior) -I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) - -# (3) The random process for Rt -rt_proc = RtRandomWalkProcess() - -# (4) Latent infection process (which will use 1 and 2) -latent_infections = Infections() - -# (5) The observed infections process (with mean at the latent infections) -observation_process = PoissonObservation() -``` - -With these five pieces, we can build the basic renewal model: - -``` python -model1 = RtInfectionsRenewalModel( - gen_int = gen_int, - I0 = I0, - Rt_process = rt_proc, - latent_infections = latent_infections, - observation_process = observation_process, - ) -``` - -The following diagram summarizes how the modules interact via -composition; notably, `gen_int`, `I0`, `rt_proc`, `latent_infections`, -and `observed_infections` are instances of `RandomVariable`, which means -these can be easily replaced to generate a different version of -`RtInfectionsRenewalModel`: - -``` mermaid -flowchart TB - genint["(1) gen_int\n(DetermnisticPMF)"] - i0["(2) I0\n(Infections0)"] - rt["(3) rt_proc\n(RtRandomWalkProcess)"] - inf["(4) latent_infections\n(Infections)"] - obs["(5) observation_process\n(PoissonObservation)"] - - model1["model1\n(RtInfectionsRenewalModel)"] - - i0-->|Composes|model1 - genint-->|Composes|model1 - rt-->|Composes|model1 - obs-->|Composes|model1 - inf-->|Composes|model1 -``` - -Using `numpyro`, we can simulate data using the `sample()` member -function of `RtInfectionsRenewalModel`: - -``` python -np.random.seed(223) -with npro.handlers.seed(rng_seed = np.random.randint(1, 60)): - sim_data = model1.sample(n_timepoints=30) - -sim_data -``` - - RtInfectionsRenewalSample(Rt=[1.2022278 1.2111099 1.2325984 1.2104921 1.2023039 1.1970979 1.2384264 - 1.2423582 1.245498 1.241344 1.2081108 1.1938375 1.271196 1.3189521 - 1.3054799 1.3165426 1.291952 1.3026639 1.2619467 1.2852622 1.3121517 - 1.2888998 1.2641873 1.2580931 1.2545817 1.3092988 1.2488269 1.2397509 - 1.2071848 1.2334517 1.21868 ], latent_infections=[ 2.3215084 3.0415602 4.0327816 5.180868 4.381411 4.978916 - 5.750626 6.3024273 6.66758 7.354823 7.8755097 8.416656 - 9.63394 10.973988 12.043082 13.516833 14.911659 16.75407 - 18.053928 20.318869 22.975292 25.166464 27.34265 30.13236 - 33.126217 37.89362 40.11695 43.784634 46.754696 51.974545 - 55.642136 ], sampled_infections=[ 1 2 3 5 4 4 7 4 8 4 7 3 8 12 13 18 14 20 17 18 28 27 36 37 - 26 31 40 27 48 54 60]) - -The `sample()` method of the `RtInfectionsRenewalModel` returns a list -composed of the `Rt` and `infections` sequences. - -``` python -import matplotlib.pyplot as plt - -fig, axs = plt.subplots(1, 2) - -# Rt plot -axs[0].plot(range(0, 31), sim_data.Rt) -axs[0].set_ylabel('Rt') - -# Infections plot -axs[1].plot(range(0, 31), sim_data.sampled_infections) -axs[1].set_ylabel('Infections') - -fig.suptitle('Basic renewal model') -fig.supxlabel('Time') -plt.tight_layout() -plt.show() -``` - -![Rt and -Infections](getting-started_files/figure-commonmark/basic-fig-output-1.png) - -To fit the model, we can use the `run()` method of the model -`RtInfectionsRenewalModel`; an inherited method from the metaclass -`Model`: - -``` python -import jax - -model1.run( - num_warmup=2000, - num_samples=1000, - observed_infections=sim_data.sampled_infections, - n_timepoints = len(sim_data[1])-1, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - ) -``` - -Now, let’s investigate the output, particularly the posterior -distribution of the Rt estimates: - -``` python -import polars as pl -samps = model1.spread_draws([('Rt', 'time')]) - -fig, ax = plt.subplots(figsize=[4, 5]) - -ax.plot(sim_data.Rt) -samp_ids = np.random.randint(size=25, low=0, high=999) -for samp_id in samp_ids: - sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) - ax.plot(sub_samps.select("time").to_numpy(), - sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) -ax.set_ylim([0.4, 1/.4]) -ax.set_yticks([0.5, 1, 2]) -ax.set_yscale("log") -``` - -![Rt posterior -distribution](getting-started_files/figure-commonmark/output-rt-output-1.png) - -## Architecture of pyrenew - -`pyrenew` leverages `numpyro`’s flexibility to build models via -composition. As a principle, most objects in `pyrenew` can be treated as -random variables we can sample. At the top-level `pyrenew` has two -metaclass from which most objects inherit: `RandomVariable` and `Model`. -From them, the following four sub-modules arise: - -- The `process` sub-module, -- The `deterministic` sub-module, -- The `observation` sub-module, -- The `latent` sub-module, and -- The `models` sub-module - -The first four are collections of instances of `RandomVariable`, and the -last is a collection of instances of `Model`. The following diagram -shows a detailed view of how meta classes, modules, and classes interact -to create the `RtInfectionsRenewalModel` instantiated in the previous -section: - -``` mermaid -flowchart LR - rand((RandomVariable\nmetaclass)) - models((Model\nmetaclass)) - - subgraph observations[Observations module] - obs["observation_process\n(PoissonObservation)"] - end - - subgraph latent[Latent module] - inf["latent_infections\n(Infections)"] - i0["I0\n(Infections0)"] - end - - subgraph process[Process module] - rt["rt_proc\n(RtRandomWalkProcess)"] - end - - subgraph deterministic[Deterministic module] - detpmf["gen_int\n(DeterministicPMF)"] - end - - subgraph model[Model module] - model1["model1\n(RtInfectionsRenewalModel)"] - end - - rand-->|Inherited by|observations - rand-->|Inherited by|process - rand-->|Inherited by|latent - rand-->|Inherited by|deterministic - models-->|Inherited by|model - - detpmf-->|Composes|model1 - i0-->|Composes|model1 - rt-->|Composes|model1 - obs-->|Composes|model1 - inf-->|Composes|model1 -``` diff --git a/model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png b/model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png deleted file mode 100644 index 6aec59a4d98292ee6e55e9ef6ae4f882ff4cdbc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39115 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 diff --git a/model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png b/model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png deleted file mode 100644 index af600fea0ae5706477bc83bb3a511ba97c40568a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26868 zcmdRVRa8~cyYD6>H?WcJl#-I}*rarqbc29&cSx!{ zmwR8&1H++XyI6b9Z+_peW~7Re3A0$YvUK$@akc;{nz%aJeR8$4F{O03aCWizqYgX-)lpX01q8zU{_h7a>WB@AS@Zp|bUF32!s4 ze1rK2;irCd_t0!Y6zV?5+8{*1&=vM1±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

    18ayKLgwXsPFn|cj|TL2f>A% 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 diff --git a/model/docs/pyrenew_demo.md b/model/docs/pyrenew_demo.md deleted file mode 100644 index d0131d9d..00000000 --- a/model/docs/pyrenew_demo.md +++ /dev/null @@ -1,301 +0,0 @@ -# Pyrenew demo - - -This demo simulates some basic renewal process data and then fits to it -using `pyrenew`. - -Assuming you’ve already installed Python and pip, you’ll need to first -install `pyrenew`: - -``` python -pip install pyrenew -``` - -You’ll also need working installations of `matplotlib`, `numpy`, `jax`, -`numpyro`, and `polars`: - -``` python -pip install matplotlib numpy jax numpyro polars -``` - -To begin, run the following import section to call external modules and -functions necessary to run the `pyrenew` demo. The `import` statement -imports the module and the `as` statement renames the module for use -within this script. The `from` statement imports a specific function -from a module (named after the `.`) within a package (named before the -`.`). - -``` python -import matplotlib as mpl -import matplotlib.pyplot as plt -import jax -import jax.numpy as jnp -import numpy as np -from numpyro.handlers import seed -import numpyro.distributions as dist -``` - -``` python -from pyrenew.process import SimpleRandomWalkProcess -``` - - An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. - -To understand the simple random walk process underlying the sampling -within the renewal process model, we first examine a single random walk -path. Using the `sample` method from an instance of the -`SimpleRandomWalkProcess` class, we first create an instance of the -`SimpleRandomWalkProcess` class with a normal distribution of mean = 0 -and standard deviation = 0.0001 as its input. Next, the `with` statement -sets the seed for the random number generator for the duration of the -block that follows. Inside the `with` block, the -`q_samp = q.sample(duration=100)` generates the sample instance over a -duration of 100 time units. Finally, this single random walk process is -visualized using `matplot.pyplot` to plot the exponential of the sample -instance. - -``` python -np.random.seed(3312) -q = SimpleRandomWalkProcess(dist.Normal(0, 0.001)) -with seed(rng_seed=np.random.randint(0,1000)): - q_samp = q.sample(duration=100) - -plt.plot(np.exp(q_samp[0])) -``` - -![](pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png) - -Next, import several additional functions from the `latent` module of -the `pyrenew` package to model infections, hospital admissions, initial -infections, and hospitalization rate due to infection. - -``` python -from pyrenew.latent import ( - Infections, HospitalAdmissions, Infections0, InfectHospRate, -) -``` - -Additionally, import several classes from Pyrenew, including a Poisson -observation process, determininstic PMF and variable classes, the -Pyrenew hospitalization model, and a renewal modle (Rt) random walk -process: - -``` python -from pyrenew.observation import PoissonObservation -from pyrenew.deterministic import DeterministicPMF, DeterministicVariable -from pyrenew.model import HospitalizationsModel -from pyrenew.process import RtRandomWalkProcess -``` - -To initialize the model, we first define initial conditions, including: - -1) deterministic generation time, defined as an instance of the - `DeterministicPMF` class, which gives the probability of each - possible outcome for a discrete random variable given as a JAX NumPy - array of four possible outcomes - -2) initial infections at the start of simulation as a log-normal - distribution with mean = 0 and standard deviation = 1 - -3) latent infections as an instance of the `Infections` class with - default settings - -4) latent hospitalization process, modeled by first defining the time - interval from infections to hospitalizations as a `DeterministicPMF` - input with 18 possible outcomes and corresponding probabilities - given by the values in the array. The `HospitalAdmissions` function - then takes in this defined time interval, as well as defining the - rate at which infections are admitted to the hospital due to - infection, modeled as a log-normal distribution with mean = - `jnp.log(0.05)` and standard deviation = 0.05. - -5) hospitalization observation process, modeled with a Poisson - distribution - -6) an Rt random walk process with default settings - -``` python -# Initializing model components: - -# 1) A deterministic generation time -gen_int = DeterministicPMF(jnp.array([0.25, 0.25, 0.25, 0.25])) - -# 2) Initial infections -I0 = Infections0(I0_dist=dist.LogNormal(0, 1)) - -# 3) The latent infections process -latent_infections = Infections() - -# 4) The latent hospitalization process: - -# First, define a deterministic infection to hosp pmf -inf_hosp_int = DeterministicPMF( - jnp.array([0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05]), - ) - -latent_hospitalizations = HospitalAdmissions( - infection_to_admission_interval=inf_hosp_int, - infect_hosp_rate_dist = InfectHospRate( - dist=dist.LogNormal(jnp.log(0.05), 0.05), - ), - ) - -# 5) An observation process for the hospitalizations -obs_process = PoissonObservation() - -# 6) A random walk process (it could be deterministic using -# pyrenew.process.DeterministicProcess()) -Rt_process = RtRandomWalkProcess() -``` - -The `HospitalizationsModel` is then initialized using the initial -conditions just defined: - -``` python -# Initializing the model -hospmodel = HospitalizationsModel( - gen_int=gen_int, - I0=I0, - latent_hospitalizations=latent_hospitalizations, - observation_process=obs_process, - latent_infections=latent_infections, - Rt_process=Rt_process - ) -``` - -Next, we sample from the `hospmodel` for 30 time steps and view the -output of a single run: - -``` python -with seed(rng_seed=np.random.randint(1, 60)): - x = hospmodel.sample(n_timepoints=30) -x -``` - - HospModelSample(Rt=[1.1791104 1.1995267 1.1772177 1.1913829 1.2075942 1.1444623 1.1514508 - 1.1976782 1.2292639 1.1719677 1.204649 1.2323451 1.2466507 1.2800207 - 1.2749145 1.2619376 1.2189837 1.2192641 1.2290158 1.2128737 1.1908046 - 1.2174997 1.1941082 1.2084603 1.1965215 1.2248698 1.2308019 1.2426206 - 1.2131014 1.207159 1.1837622], latent_infections=[0.05214045 0.06867922 0.08761451 0.11476436 0.09757317 0.10547114 - 0.1167062 0.13010225 0.13824694 0.14372033 0.15924728 0.17601486 - 0.19236736 0.21483542 0.23664482 0.25865382 0.27503362 0.30029488 - 0.3289544 0.35262382 0.37418258 0.41274938 0.43839005 0.47672123 - 0.50913286 0.5625195 0.6113282 0.67092246 0.7138808 0.77217466 - 0.819254 ], IHR=0.04929916560649872, latent_admissions=[0. 0. 0. 0. 0. 0. - 0. 0. 0. 0. 0. 0. - 0. 0.00064262 0.0021317 0.00302979 0.00416974 0.0049305 - 0.00487205 0.00530097 0.00576412 0.00624666 0.00665578 0.00711595 - 0.0078055 0.00854396 0.00939666 0.01042083 0.0114624 0.01246538 - 0.01345188], sampled_admissions=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0]) - -Visualizations of the single model output show (top) infections over the -30 time steps, (middle) hospitalizations over the 30 time steps, and -(bottom) - -``` python -fig, ax = plt.subplots(nrows=3, sharex=True) -ax[0].plot(x.latent_infections) -ax[0].set_ylim([1/5, 5]) -ax[1].plot(x.latent_admissions) -ax[2].plot(x.sampled_admissions, 'o') -for axis in ax[:-1]: - axis.set_yscale("log") -``` - -![](pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png) - -To fit the `hospmodel` to the simulated data, we call `hospmodel.run()`, -an MCMC algorithm, with the arguments generated in `hospmodel` object, -using 1000 warmup stepts and 1000 samples to draw from the posterior -distribution of the model parameters. The model is run for -`len(x.sampled_admissions)-1` time steps with the seed set by -`jax.random.PRNGKey()` - -``` python -# from numpyro.infer import MCMC, NUTS -hospmodel.run( - num_warmup=1000, - num_samples=1000, - observed_hospitalizations=x.sampled_admissions, - n_timepoints = len(x.sampled_admissions)-1, - rng_key=jax.random.PRNGKey(54), - mcmc_args=dict(progress_bar=False), - ) -``` - -Print a summary of the model: - -``` python -hospmodel.print_summary() -``` - - - mean std median 5.0% 95.0% n_eff r_hat - I0 1.27 1.10 0.97 0.10 2.42 1132.34 1.00 - IHR 0.05 0.00 0.05 0.05 0.05 2306.45 1.00 - Rt0 1.23 0.17 1.23 0.93 1.48 1327.22 1.00 - Rt_transformed_rw_diffs[0] -0.00 0.02 -0.00 -0.04 0.04 1404.95 1.00 - Rt_transformed_rw_diffs[1] 0.00 0.03 0.00 -0.04 0.04 2280.86 1.00 - Rt_transformed_rw_diffs[2] -0.00 0.02 -0.00 -0.04 0.04 2119.83 1.00 - Rt_transformed_rw_diffs[3] 0.00 0.02 -0.00 -0.04 0.04 2196.86 1.00 - Rt_transformed_rw_diffs[4] 0.00 0.02 -0.00 -0.03 0.04 2391.45 1.00 - Rt_transformed_rw_diffs[5] 0.00 0.03 0.00 -0.04 0.04 2043.02 1.00 - Rt_transformed_rw_diffs[6] 0.00 0.02 0.00 -0.04 0.04 1514.40 1.00 - Rt_transformed_rw_diffs[7] -0.00 0.02 -0.00 -0.04 0.04 2619.69 1.00 - Rt_transformed_rw_diffs[8] 0.00 0.03 0.00 -0.04 0.04 1883.84 1.00 - Rt_transformed_rw_diffs[9] 0.00 0.03 0.00 -0.04 0.04 2015.66 1.00 - Rt_transformed_rw_diffs[10] 0.00 0.02 0.00 -0.04 0.04 2045.47 1.00 - Rt_transformed_rw_diffs[11] -0.00 0.03 0.00 -0.04 0.04 1615.10 1.00 - Rt_transformed_rw_diffs[12] 0.00 0.02 0.00 -0.04 0.04 2206.32 1.00 - Rt_transformed_rw_diffs[13] 0.00 0.03 0.00 -0.04 0.04 1175.93 1.00 - Rt_transformed_rw_diffs[14] -0.00 0.03 -0.00 -0.04 0.04 1606.26 1.00 - Rt_transformed_rw_diffs[15] -0.00 0.03 -0.00 -0.04 0.04 2344.62 1.00 - Rt_transformed_rw_diffs[16] -0.00 0.02 0.00 -0.04 0.04 1522.33 1.00 - Rt_transformed_rw_diffs[17] 0.00 0.03 0.00 -0.04 0.04 2157.17 1.00 - Rt_transformed_rw_diffs[18] -0.00 0.02 -0.00 -0.04 0.04 1594.95 1.00 - Rt_transformed_rw_diffs[19] 0.00 0.03 -0.00 -0.04 0.04 1698.70 1.00 - Rt_transformed_rw_diffs[20] 0.00 0.02 0.00 -0.04 0.04 1726.18 1.00 - Rt_transformed_rw_diffs[21] 0.00 0.02 -0.00 -0.04 0.04 2386.35 1.00 - Rt_transformed_rw_diffs[22] 0.00 0.03 0.00 -0.04 0.04 2028.63 1.00 - Rt_transformed_rw_diffs[23] 0.00 0.02 0.00 -0.04 0.03 1669.71 1.00 - Rt_transformed_rw_diffs[24] 0.00 0.02 0.00 -0.04 0.04 2126.33 1.00 - Rt_transformed_rw_diffs[25] -0.00 0.02 -0.00 -0.04 0.04 2119.74 1.00 - Rt_transformed_rw_diffs[26] 0.00 0.03 0.00 -0.04 0.04 2657.91 1.00 - Rt_transformed_rw_diffs[27] -0.00 0.03 0.00 -0.04 0.04 1939.30 1.00 - Rt_transformed_rw_diffs[28] -0.00 0.02 -0.00 -0.04 0.04 1737.84 1.00 - Rt_transformed_rw_diffs[29] -0.00 0.03 -0.00 -0.04 0.04 2105.55 1.00 - - Number of divergences: 0 - -Next, we will use the `spread_draws` function from the -`pyrenew.mcmcutils` module to process the MCMC samples. The -`spread_draws` function reformats the samples drawn from the -`mcmc.get_samples()` from the `hospmodel`. The samples are simulated Rt -values over time. - -``` python -from pyrenew.mcmcutils import spread_draws -samps = spread_draws(hospmodel.mcmc.get_samples(), [("Rt", "time")]) -``` - -We visualize these samples below, with individual possible Rt estimates -over time shown in light blue, and the overall mean estimate Rt shown in -dark blue. - -``` python -import numpy as np -import polars as pl -fig, ax = plt.subplots(figsize=[4, 5]) - -ax.plot(x[0]) -samp_ids = np.random.randint(size=25, low=0, high=999) -for samp_id in samp_ids: - sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) - ax.plot(sub_samps.select("time").to_numpy(), - sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) -ax.set_ylim([0.4, 1/.4]) -ax.set_yticks([0.5, 1, 2]) -ax.set_yscale("log") -``` - -![](pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png) diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png deleted file mode 100644 index d46590a6028bf8e6e94fe2e871e8278bbeaefeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14325 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 diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png deleted file mode 100644 index a64c707b6b34ea13893423b75be0fd2bb358c7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29905 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 diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png deleted file mode 100644 index eea16418f256196e5a332cd3466c290648fa8a1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38249 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 From 935d3321edb597e90b54576fa2a3eea95e070cd9 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 13:46:18 -0600 Subject: [PATCH 04/12] Correct use of artifacts upload/download --- .github/workflows/website.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index 089d00dc..a34ce3f1 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -48,9 +48,9 @@ jobs: # Upload - name: Upload artifacts - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-artifact@v3 with: - name: github-pages-tutorials + name: tutorials path: model/_compiled/ build: @@ -69,7 +69,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v3 with: - name: github-pages-tutorials + name: tutorials path: docs/source/tutorials/ - name: Set up Python From 3fe4747500957db7811c3f5694893d31742c31bb Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 13:55:35 -0600 Subject: [PATCH 05/12] Adding back index for tutorials --- docs/source/tutorials/index.rst | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/source/tutorials/index.rst diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst new file mode 100644 index 00000000..47c16476 --- /dev/null +++ b/docs/source/tutorials/index.rst @@ -0,0 +1,9 @@ +Tutorials +============== + +.. toctree:: + :maxdepth: 3 + + getting-started + example-with-datasets + pyrenew_demo From 979f75285664189a6d4d91ceff5a86f3e0a7e04c Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 13:59:31 -0600 Subject: [PATCH 06/12] The sphinx-tutorial formula is not required anymore [skip ci] --- model/Makefile | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/model/Makefile b/model/Makefile index ca7c4e53..89dd88b6 100644 --- a/model/Makefile +++ b/model/Makefile @@ -27,16 +27,6 @@ docs/notebooks: quarto convert docs/example-with-datasets.qmd --output \ docs/example-with-datasets.ipynb -sphinx-tutorials: docs - for i in docs/*.md; do \ - if [ "$$i" = "docs/README.md" ]; then \ - continue; \ - fi; \ - pandoc -s $$i -o ../docs/source/tutorials/$$(basename $$i .md).rst;\ - cp -r docs/$$(basename $$i .md)_files ../docs/source/tutorials/; \ - done - - test_images: echo "Generating reference images for tests" poetry run pytest --mpl-generate-path=src/test/baseline @@ -49,5 +39,4 @@ clean: rm -f docs/example-with-datasets.$$i; \ done -.PHONY: install test docs clean docs/notebooks docs/py test_images \ - sphinx-tutorials +.PHONY: install test docs clean docs/notebooks docs/py test_images From ae805d027319175d16001eacd28f3a4e8c7bdd3e Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 15:04:18 -0600 Subject: [PATCH 07/12] Chrome present in GHA allows rendering mermaid --- .github/workflows/website.yaml | 2 +- model/docs/getting-started.qmd | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index a34ce3f1..493bd6f8 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -113,4 +113,4 @@ jobs: uses: actions/deploy-pages@v4 with: artifact_name: github-pages - preview: false # Not yet available to the public. + preview: true # Not yet available to the public. diff --git a/model/docs/getting-started.qmd b/model/docs/getting-started.qmd index 8ca96a11..2b36986b 100644 --- a/model/docs/getting-started.qmd +++ b/model/docs/getting-started.qmd @@ -85,6 +85,7 @@ The following diagram summarizes how the modules interact via composition; notab ```{mermaid} %%| label: overview-of-RtInfectionsRenewalModel +%%| include: true flowchart TB genint["(1) gen_int\n(DetermnisticPMF)"] i0["(2) I0\n(Infections0)"] @@ -188,6 +189,7 @@ The first four are collections of instances of `RandomVariable`, and the last is ```{mermaid} %%| label: overview-of-RtInfectionsRenewalModel +%%| include: true flowchart LR rand((RandomVariable\nmetaclass)) models((Model\nmetaclass)) From a17eecc18f2ce9f4d1cef8d4fd56fbc808fd11b2 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Wed, 1 May 2024 15:36:13 -0600 Subject: [PATCH 08/12] Fixed figures --- model/docs/example-with-datasets.qmd | 20 +++++++------------- model/docs/getting-started.qmd | 6 ++---- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/model/docs/example-with-datasets.qmd b/model/docs/example-with-datasets.qmd index 6c58a08c..41f33859 100644 --- a/model/docs/example-with-datasets.qmd +++ b/model/docs/example-with-datasets.qmd @@ -77,7 +77,7 @@ dat.head(5) Let's take a look at the daily prevalence of hospital admissions. ```{python} -#| label: plot-hospital admissions +#| label: fig-plot-hospital-admissions import matplotlib.pyplot as plt # Rotating the x-axis labels, and only showing ~10 labels @@ -95,7 +95,7 @@ plt.show() First, we will extract two datasets we will use as deterministic quantities: the generation interval and the infection to hospitalization interval. ```{python} -#| label: data-extract +#| label: fig-data-extract gen_int = datasets.load_generation_interval() inf_hosp_int = datasets.load_infection_admission_interval() @@ -184,9 +184,8 @@ with npro.handlers.seed(rng_seed = np.random.randint(1, timeframe)): ``` ```{python} -#| label: basic-fig +#| label: fig-basic #| fig-cap: Rt and Infections -#| fig-cap-location: bottom import matplotlib.pyplot as plt fig, axs = plt.subplots(1, 2) @@ -230,9 +229,8 @@ We can use the `plot_posterior` method to visualize the results[^capture]: [^capture]: The output is captured to avoid `quarto` from displaying the output twice. ```{python} -#| label: output-hospital admissions +#| label: fig-output-hospital-admissions #| fig-cap: Hospital Admissions posterior distribution -#| fig-cap-location: bottom out = hosp_model.plot_posterior( var="predicted_hospitalizations", ylab="Hospital Admissions", @@ -269,9 +267,8 @@ hosp_model.run( And plotting the results: ```{python} -#| label: output-admissions-with-padding +#| label: fig-output-admissions-with-padding #| fig-cap: Hospital Admissions posterior distribution -#| fig-cap-location: bottom out = hosp_model.plot_posterior( var="predicted_hospitalizations", ylab="Hospital Admissions", @@ -282,9 +279,8 @@ out = hosp_model.plot_posterior( We can also take a look at the latent infections: ```{python} -#| label: output-infections-with-padding +#| label: fig-output-infections-with-padding #| fig-cap: Hospital Admissions posterior distribution -#| fig-cap-location: bottom out2 = hosp_model.plot_posterior( var="latent_infections", ylab="Latent Infections" @@ -369,10 +365,8 @@ hosp_model_weekday.run( And plotting the results: ```{python} -#| label: output-admissions-padding-and-weekday +#| label: fig-output-admissions-padding-and-weekday #| fig-cap: Hospital Admissions posterior distribution -#| fig-cap-location: bottom -#| out = hosp_model_weekday.plot_posterior( var="predicted_hospitalizations", ylab="Hospital Admissions", diff --git a/model/docs/getting-started.qmd b/model/docs/getting-started.qmd index 2b36986b..848d1c1b 100644 --- a/model/docs/getting-started.qmd +++ b/model/docs/getting-started.qmd @@ -116,9 +116,8 @@ sim_data The `sample()` method of the `RtInfectionsRenewalModel` returns a list composed of the `Rt` and `infections` sequences. ```{python} -#| label: basic-fig +#| label: fig-basic #| fig-cap: Rt and Infections -#| fig-cap-location: bottom import matplotlib.pyplot as plt fig, axs = plt.subplots(1, 2) @@ -156,9 +155,8 @@ model1.run( Now, let's investigate the output, particularly the posterior distribution of the Rt estimates: ```{python} -#| label: output-rt +#| label: fig-output-rt #| fig-cap: Rt posterior distribution -#| fig-cap-location: bottom import polars as pl samps = model1.spread_draws([('Rt', 'time')]) From 31cbbad730ec0f22de4c53a1d753c99e4a17273a Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Thu, 2 May 2024 12:30:19 -0600 Subject: [PATCH 09/12] Improving readability --- docs/pyproject.toml | 2 ++ docs/source/conf.py | 14 +++++++++++++- docs/source/general/ctoc.rst | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/pyproject.toml b/docs/pyproject.toml index bdcdbfd2..7f2885cd 100644 --- a/docs/pyproject.toml +++ b/docs/pyproject.toml @@ -14,6 +14,8 @@ jaxlib = "^0.4.25" numpyro = "^0.14.0" sphinxcontrib-mermaid = "^0.9.2" polars = "^0.20.16" +matplotlib = "^3.8.3" +sphinx-autodoc-typehints = "^2.1.0" [build-system] diff --git a/docs/source/conf.py b/docs/source/conf.py index 5805d6bc..c9c6133a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -32,12 +32,24 @@ "sphinx.ext.viewcode", "sphinx.ext.mathjax", "sphinxcontrib.mermaid", + "sphinx_autodoc_typehints", ] +# Simplifies printing of type hints +set_type_checking_flag = True +typehints_fully_qualified = False + +# Avoid appending the full module name to the class name +add_module_names = False + templates_path = ["_templates"] exclude_patterns = [] -todo_include_todos = True +# Default deph for documentation +toc_deph = 2 + +# We don't want that explicitly +todo_include_todos = False # -- Options for HTML output ------------------------------------------------- diff --git a/docs/source/general/ctoc.rst b/docs/source/general/ctoc.rst index 8aa01545..02dd1693 100644 --- a/docs/source/general/ctoc.rst +++ b/docs/source/general/ctoc.rst @@ -2,7 +2,7 @@ Complete Table Of Contents ========================== .. toctree:: - :maxdepth: 4 + :maxdepth: 3 ../msei_reference/index ../test_reference/index From 934e857f90ca461986b54e083fd401ddeeb6ad75 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Thu, 2 May 2024 13:12:59 -0600 Subject: [PATCH 10/12] Updating lock file --- docs/poetry.lock | 508 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 461 insertions(+), 47 deletions(-) diff --git a/docs/poetry.lock b/docs/poetry.lock index 6cdf3d2c..dd9828d5 100644 --- a/docs/poetry.lock +++ b/docs/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "alabaster" version = "0.7.16" description = "A light, configurable Sphinx theme" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -16,7 +15,6 @@ files = [ name = "babel" version = "2.14.0" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -31,7 +29,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "certifi" version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -43,7 +40,6 @@ files = [ name = "charset-normalizer" version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -143,7 +139,6 @@ files = [ name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -151,11 +146,88 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "contourpy" +version = "1.2.1" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.9" +files = [ + {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"}, + {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"}, + {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"}, + {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"}, + {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"}, + {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"}, + {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"}, + {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"}, + {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"}, + {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"}, + {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"}, + {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"}, + {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"}, + {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"}, + {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"}, + {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"}, + {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"}, + {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"}, + {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"}, + {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"}, + {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"}, + {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"}, + {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"}, + {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"}, + {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"}, +] + +[package.dependencies] +numpy = ">=1.20" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + [[package]] name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -163,11 +235,75 @@ files = [ {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] +[[package]] +name = "fonttools" +version = "4.51.0" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74"}, + {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308"}, + {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037"}, + {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716"}, + {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438"}, + {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039"}, + {file = "fonttools-4.51.0-cp310-cp310-win32.whl", hash = "sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77"}, + {file = "fonttools-4.51.0-cp310-cp310-win_amd64.whl", hash = "sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b"}, + {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74"}, + {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2"}, + {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f"}, + {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097"}, + {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0"}, + {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1"}, + {file = "fonttools-4.51.0-cp311-cp311-win32.whl", hash = "sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034"}, + {file = "fonttools-4.51.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1"}, + {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba"}, + {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc"}, + {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a"}, + {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2"}, + {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671"}, + {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5"}, + {file = "fonttools-4.51.0-cp312-cp312-win32.whl", hash = "sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15"}, + {file = "fonttools-4.51.0-cp312-cp312-win_amd64.whl", hash = "sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e"}, + {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e"}, + {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5"}, + {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e"}, + {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1"}, + {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14"}, + {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed"}, + {file = "fonttools-4.51.0-cp38-cp38-win32.whl", hash = "sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f"}, + {file = "fonttools-4.51.0-cp38-cp38-win_amd64.whl", hash = "sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836"}, + {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b"}, + {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936"}, + {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55"}, + {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce"}, + {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051"}, + {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7"}, + {file = "fonttools-4.51.0-cp39-cp39-win32.whl", hash = "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636"}, + {file = "fonttools-4.51.0-cp39-cp39-win_amd64.whl", hash = "sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a"}, + {file = "fonttools-4.51.0-py3-none-any.whl", hash = "sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f"}, + {file = "fonttools-4.51.0.tar.gz", hash = "sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + [[package]] name = "idna" version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -179,7 +315,6 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -191,7 +326,6 @@ files = [ name = "jax" version = "0.4.25" description = "Differentiate, compile, and transform Numpy code." -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -202,13 +336,13 @@ files = [ [package.dependencies] ml-dtypes = ">=0.2.0" numpy = [ - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] opt-einsum = "*" scipy = [ - {version = ">=1.9", markers = "python_version < \"3.12\""}, {version = ">=1.11.1", markers = "python_version >= \"3.12\""}, + {version = ">=1.9", markers = "python_version < \"3.12\""}, ] [package.extras] @@ -229,7 +363,6 @@ tpu = ["jaxlib (==0.4.25)", "libtpu-nightly (==0.1.dev20240224)", "requests"] name = "jaxlib" version = "0.4.25" description = "XLA library for JAX" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -259,8 +392,8 @@ files = [ ml-dtypes = ">=0.2.0" numpy = ">=1.22" scipy = [ - {version = ">=1.9", markers = "python_version < \"3.12\""}, {version = ">=1.11.1", markers = "python_version >= \"3.12\""}, + {version = ">=1.9", markers = "python_version < \"3.12\""}, ] [package.extras] @@ -271,7 +404,6 @@ cuda12-pip = ["nvidia-cublas-cu12", "nvidia-cuda-cupti-cu12", "nvidia-cuda-nvcc- name = "jinja2" version = "3.1.3" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -285,11 +417,123 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "kiwisolver" +version = "1.4.5" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.7" +files = [ + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, + {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, +] + [[package]] name = "markupsafe" version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -355,11 +599,58 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "matplotlib" +version = "3.8.4" +description = "Python plotting package" +optional = false +python-versions = ">=3.9" +files = [ + {file = "matplotlib-3.8.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:abc9d838f93583650c35eca41cfcec65b2e7cb50fd486da6f0c49b5e1ed23014"}, + {file = "matplotlib-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f65c9f002d281a6e904976007b2d46a1ee2bcea3a68a8c12dda24709ddc9106"}, + {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce1edd9f5383b504dbc26eeea404ed0a00656c526638129028b758fd43fc5f10"}, + {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd79298550cba13a43c340581a3ec9c707bd895a6a061a78fa2524660482fc0"}, + {file = "matplotlib-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:90df07db7b599fe7035d2f74ab7e438b656528c68ba6bb59b7dc46af39ee48ef"}, + {file = "matplotlib-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:ac24233e8f2939ac4fd2919eed1e9c0871eac8057666070e94cbf0b33dd9c338"}, + {file = "matplotlib-3.8.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:72f9322712e4562e792b2961971891b9fbbb0e525011e09ea0d1f416c4645661"}, + {file = "matplotlib-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:232ce322bfd020a434caaffbd9a95333f7c2491e59cfc014041d95e38ab90d1c"}, + {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6addbd5b488aedb7f9bc19f91cd87ea476206f45d7116fcfe3d31416702a82fa"}, + {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc4ccdc64e3039fc303defd119658148f2349239871db72cd74e2eeaa9b80b71"}, + {file = "matplotlib-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b7a2a253d3b36d90c8993b4620183b55665a429da8357a4f621e78cd48b2b30b"}, + {file = "matplotlib-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:8080d5081a86e690d7688ffa542532e87f224c38a6ed71f8fbed34dd1d9fedae"}, + {file = "matplotlib-3.8.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6485ac1f2e84676cff22e693eaa4fbed50ef5dc37173ce1f023daef4687df616"}, + {file = "matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c89ee9314ef48c72fe92ce55c4e95f2f39d70208f9f1d9db4e64079420d8d732"}, + {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50bac6e4d77e4262c4340d7a985c30912054745ec99756ce213bfbc3cb3808eb"}, + {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f51c4c869d4b60d769f7b4406eec39596648d9d70246428745a681c327a8ad30"}, + {file = "matplotlib-3.8.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b12ba985837e4899b762b81f5b2845bd1a28f4fdd1a126d9ace64e9c4eb2fb25"}, + {file = "matplotlib-3.8.4-cp312-cp312-win_amd64.whl", hash = "sha256:7a6769f58ce51791b4cb8b4d7642489df347697cd3e23d88266aaaee93b41d9a"}, + {file = "matplotlib-3.8.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:843cbde2f0946dadd8c5c11c6d91847abd18ec76859dc319362a0964493f0ba6"}, + {file = "matplotlib-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c13f041a7178f9780fb61cc3a2b10423d5e125480e4be51beaf62b172413b67"}, + {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc"}, + {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:606e3b90897554c989b1e38a258c626d46c873523de432b1462f295db13de6f9"}, + {file = "matplotlib-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9bb0189011785ea794ee827b68777db3ca3f93f3e339ea4d920315a0e5a78d54"}, + {file = "matplotlib-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:6209e5c9aaccc056e63b547a8152661324404dd92340a6e479b3a7f24b42a5d0"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7064120a59ce6f64103c9cefba8ffe6fba87f2c61d67c401186423c9a20fd35"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e47eda4eb2614300fc7bb4657fced3e83d6334d03da2173b09e447418d499f"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:493e9f6aa5819156b58fce42b296ea31969f2aab71c5b680b4ea7a3cb5c07d94"}, + {file = "matplotlib-3.8.4.tar.gz", hash = "sha256:8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.21" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + [[package]] name = "ml-dtypes" version = "0.3.2" description = "" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -384,9 +675,8 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.21.2", markers = "python_version >= \"3.10\""}, - {version = ">=1.23.3", markers = "python_version >= \"3.11\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, + {version = ">=1.23.3", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] [package.extras] @@ -396,7 +686,6 @@ dev = ["absl-py", "pyink", "pylint (>=2.6.0)", "pytest", "pytest-xdist"] name = "multipledispatch" version = "1.0.0" description = "Multiple dispatch" -category = "main" optional = false python-versions = "*" files = [ @@ -408,7 +697,6 @@ files = [ name = "numpy" version = "1.26.4" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -454,7 +742,6 @@ files = [ name = "numpyro" version = "0.14.0" description = "Pyro PPL on NumPy" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -482,7 +769,6 @@ tpu = ["jax[tpu] (>=0.4.14)"] name = "opt-einsum" version = "3.3.0" description = "Optimizing numpys einsum function" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -501,7 +787,6 @@ tests = ["pytest", "pytest-cov", "pytest-pep8"] name = "packaging" version = "24.0" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -509,11 +794,96 @@ files = [ {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] +[[package]] +name = "pillow" +version = "10.3.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"}, + {file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"}, + {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"}, + {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"}, + {file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"}, + {file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"}, + {file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"}, + {file = "pillow-10.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795"}, + {file = "pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd"}, + {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad"}, + {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c"}, + {file = "pillow-10.3.0-cp311-cp311-win32.whl", hash = "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09"}, + {file = "pillow-10.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d"}, + {file = "pillow-10.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f"}, + {file = "pillow-10.3.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84"}, + {file = "pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"}, + {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef"}, + {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3"}, + {file = "pillow-10.3.0-cp312-cp312-win32.whl", hash = "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d"}, + {file = "pillow-10.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b"}, + {file = "pillow-10.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a"}, + {file = "pillow-10.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b"}, + {file = "pillow-10.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd"}, + {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d"}, + {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3"}, + {file = "pillow-10.3.0-cp38-cp38-win32.whl", hash = "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b"}, + {file = "pillow-10.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999"}, + {file = "pillow-10.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936"}, + {file = "pillow-10.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8"}, + {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9"}, + {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb"}, + {file = "pillow-10.3.0-cp39-cp39-win32.whl", hash = "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572"}, + {file = "pillow-10.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb"}, + {file = "pillow-10.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"}, + {file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + [[package]] name = "polars" version = "0.20.16" description = "Blazingly fast DataFrame library" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -552,7 +922,6 @@ xlsxwriter = ["xlsxwriter"] name = "pygments" version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -564,11 +933,38 @@ files = [ plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pyparsing" +version = "3.1.2" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, + {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + [[package]] name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -590,7 +986,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "scipy" version = "1.12.0" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -629,11 +1024,21 @@ dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyl doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + [[package]] name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "main" optional = false python-versions = "*" files = [ @@ -643,21 +1048,20 @@ files = [ [[package]] name = "sphinx" -version = "7.2.6" +version = "7.3.7" description = "Python documentation generator" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"}, - {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"}, + {file = "sphinx-7.3.7-py3-none-any.whl", hash = "sha256:413f75440be4cacf328f580b4274ada4565fb2187d696a84970c23f77b64d8c3"}, + {file = "sphinx-7.3.7.tar.gz", hash = "sha256:a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc"}, ] [package.dependencies] -alabaster = ">=0.7,<0.8" +alabaster = ">=0.7.14,<0.8.0" babel = ">=2.9" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.18.1,<0.21" +docutils = ">=0.18.1,<0.22" imagesize = ">=1.3" Jinja2 = ">=3.0" packaging = ">=21.0" @@ -673,14 +1077,32 @@ sphinxcontrib-serializinghtml = ">=1.1.9" [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] -test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"] +lint = ["flake8 (>=3.5.0)", "importlib_metadata", "mypy (==1.9.0)", "pytest (>=6.0)", "ruff (==0.3.7)", "sphinx-lint", "tomli", "types-docutils", "types-requests"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=6.0)", "setuptools (>=67.0)"] + +[[package]] +name = "sphinx-autodoc-typehints" +version = "2.1.0" +description = "Type hints (PEP 484) support for the Sphinx autodoc extension" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinx_autodoc_typehints-2.1.0-py3-none-any.whl", hash = "sha256:46f1a710b3ed35904f63a77c5e68334c5ee1c2e22828b75fdcd147f1c52c199b"}, + {file = "sphinx_autodoc_typehints-2.1.0.tar.gz", hash = "sha256:51bf8dc77c4fba747e32f0735002a91500747d0553cae616863848e8f5e49fe8"}, +] + +[package.dependencies] +sphinx = ">=7.3.5" + +[package.extras] +docs = ["furo (>=2024.1.29)"] +numpy = ["nptyping (>=2.5)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.4.4)", "defusedxml (>=0.7.1)", "diff-cover (>=9)", "pytest (>=8.1.1)", "pytest-cov (>=5)", "sphobjinv (>=2.3.1)", "typing-extensions (>=4.11)"] [[package]] name = "sphinxcontrib-applehelp" version = "1.0.8" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -697,7 +1119,6 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.6" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -714,7 +1135,6 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.5" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -731,7 +1151,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -746,7 +1165,6 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-mermaid" version = "0.9.2" description = "Mermaid diagrams in yours Sphinx powered docs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -758,7 +1176,6 @@ files = [ name = "sphinxcontrib-qthelp" version = "1.0.7" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -775,7 +1192,6 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.10" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -792,7 +1208,6 @@ test = ["pytest"] name = "tqdm" version = "4.66.2" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -813,7 +1228,6 @@ telegram = ["requests"] name = "urllib3" version = "2.2.1" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -830,4 +1244,4 @@ zstd = ["zstandard (>=0.18.0)"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "25331ede4706a442aaa2bdbe2d021ab55b224dd2b15dc5266cfa4a7fc6f74167" +content-hash = "13a69925b7d4754d7abdeb92ed748fe3ea9224a2dfa3dcc319469eb315259f85" From f996d398e44125290b40ffcf4b6c78fbb6ff968b Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Thu, 2 May 2024 13:35:35 -0600 Subject: [PATCH 11/12] Update model/src/pyrenew/latent/hospitaladmissions.py Co-authored-by: Dylan H. Morris --- model/src/pyrenew/latent/hospitaladmissions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/model/src/pyrenew/latent/hospitaladmissions.py b/model/src/pyrenew/latent/hospitaladmissions.py index 91d0fa81..12587529 100644 --- a/model/src/pyrenew/latent/hospitaladmissions.py +++ b/model/src/pyrenew/latent/hospitaladmissions.py @@ -14,7 +14,6 @@ class HospAdmissionsSample(NamedTuple): """ A container for holding the output from HospAdmissionsSample.sample. - >>>>>>> origin/main Parameters ---------- From 29858ae876ca4f0d67e0370930fc0a1e9a136372 Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Thu, 2 May 2024 14:14:44 -0600 Subject: [PATCH 12/12] Fixing pre-commit --- model/src/pyrenew/latent/hospitaladmissions.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/model/src/pyrenew/latent/hospitaladmissions.py b/model/src/pyrenew/latent/hospitaladmissions.py index 12587529..bdd87322 100644 --- a/model/src/pyrenew/latent/hospitaladmissions.py +++ b/model/src/pyrenew/latent/hospitaladmissions.py @@ -13,14 +13,14 @@ class HospAdmissionsSample(NamedTuple): """ - A container for holding the output from HospAdmissionsSample.sample. + A container for holding the output from HospAdmissionsSample.sample. - Parameters - ---------- - infection_hosp_rate : float, optional - The infection-to-hospitalization rate. Defaults to None. - predicted : ArrayLike or None - The predicted number of hospital admissions. Defaults to None. + Parameters + ---------- + infection_hosp_rate : float, optional + The infection-to-hospitalization rate. Defaults to None. + predicted : ArrayLike or None + The predicted number of hospital admissions. Defaults to None. """ infection_hosp_rate: float | None = None