Read the Docs build information Build id: 3782067 Project: institute-for-disease-modeling-laser-measles Version: 122 Commit: 10570e769669ac082fc526de9d2104b886980ee9 Date: 2026-02-25T21:57:26.274821Z State: cancelled Success: False [rtd-command-info] start-time: 2026-02-25T21:57:27.088125Z, end-time: 2026-02-25T21:57:27.745694Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/InstituteforDiseaseModeling/laser-measles.git . Cloning into '.'... [rtd-command-info] start-time: 2026-02-25T21:57:27.836159Z, end-time: 2026-02-25T21:57:28.998349Z, duration: 1, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/122/head:external-122 From https://github.com/InstituteforDiseaseModeling/laser-measles * [new ref] refs/pull/122/head -> external-122 * [new tag] v0.7.2-dev3 -> v0.7.2-dev3 * [new tag] v0.8.0-dev1 -> v0.8.0-dev1 * [new tag] v0.9.0 -> v0.9.0 [rtd-command-info] start-time: 2026-02-25T21:57:29.777374Z, end-time: 2026-02-25T21:57:29.817474Z, duration: 0, exit-code: 0 git checkout --force 10570e769669ac082fc526de9d2104b886980ee9 Note: switching to '10570e769669ac082fc526de9d2104b886980ee9'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 10570e7 pin rastertools version [rtd-command-info] start-time: 2026-02-25T21:57:29.934610Z, end-time: 2026-02-25T21:57:29.968042Z, duration: 0, exit-code: 0 cat .readthedocs.yml # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 sphinx: configuration: docs/conf.py formats: - htmlzip - epub - pdf build: os: ubuntu-22.04 tools: python: "3.12" jobs: post_install: - python docs/tutorials/convert_tutorials.py python: install: - requirements: docs/requirements.txt - method: pip path: . [rtd-command-info] start-time: 2026-02-25T21:57:34.241720Z, end-time: 2026-02-25T21:57:34.291856Z, duration: 0, exit-code: 0 asdf global python 3.12.10 [rtd-command-info] start-time: 2026-02-25T21:57:34.898966Z, end-time: 2026-02-25T21:57:35.401589Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.12.10.final.0-64 in 292ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv) added seed packages: pip==23.1, setuptools==67.6.1, wheel==0.40.0 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator [rtd-command-info] start-time: 2026-02-25T21:57:35.552260Z, end-time: 2026-02-25T21:57:41.330537Z, duration: 5, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools Looking in indexes: https://pypi.org/simple, https://packages.idmod.org/api/pypi/pypi-production/simple Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (23.1) Collecting pip Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/de/f0/c81e05b613866b76d2d1066490adf1a3dbc4ee9d9c839961c3fc8a6997af/pip-26.0.1-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 12.6 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (67.6.1) Collecting setuptools Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e1/c6/76dc613121b793286a3f91621d7b75a2b493e0390ddca50f11993eadf192/setuptools-82.0.0-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 15.5 MB/s eta 0:00:00 Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 67.6.1 Uninstalling setuptools-67.6.1: Successfully uninstalled setuptools-67.6.1 Attempting uninstall: pip Found existing installation: pip 23.1 Uninstalling pip-23.1: Successfully uninstalled pip-23.1 Successfully installed pip-26.0.1 setuptools-82.0.0 [rtd-command-info] start-time: 2026-02-25T21:57:41.422232Z, end-time: 2026-02-25T21:57:47.727707Z, duration: 6, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Looking in indexes: https://pypi.org/simple, https://packages.idmod.org/api/pypi/pypi-production/simple Collecting sphinx Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl (3.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 14.0 MB/s 0:00:00 Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Collecting Jinja2>=3.1 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl (134 kB) Collecting Pygments>=2.17 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 14.5 MB/s 0:00:00 Collecting docutils<0.23,>=0.21 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl (633 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.2/633.2 kB 18.1 MB/s 0:00:00 Collecting snowballstemmer>=2.2 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl (103 kB) Collecting babel>=2.13 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 14.0 MB/s 0:00:00 Collecting alabaster>=0.7.14 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl (13 kB) Collecting imagesize>=1.3 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting requests>=2.30.0 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl (64 kB) Collecting roman-numerals>=1.0.0 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl (7.7 kB) Collecting packaging>=23.0 (from sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl (74 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (153 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl (71 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.30.0->sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl (131 kB) Collecting certifi>=2017.4.17 (from requests>=2.30.0->sphinx) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl (153 kB) Installing collected packages: urllib3, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, roman-numerals, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset_normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 Pygments-2.19.2 alabaster-1.0.0 babel-2.18.0 certifi-2026.2.25 charset_normalizer-3.4.4 docutils-0.22.4 idna-3.11 imagesize-1.4.1 packaging-26.0 requests-2.32.5 roman-numerals-4.1.0 snowballstemmer-3.0.1 sphinx-9.1.0 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 urllib3-2.6.3 [rtd-command-info] start-time: 2026-02-25T21:57:47.817421Z, end-time: 2026-02-25T21:58:31.507087Z, duration: 43, exit-code: 0 python -m pip install --exists-action=w --no-cache-dir -r docs/requirements.txt Looking in indexes: https://pypi.org/simple, https://packages.idmod.org/api/pypi/pypi-production/simple Collecting pandoc (from -r docs/requirements.txt (line 1)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/10/9a/e3186e760c57ee5f1c27ea5cea577a0ff9abfca51eefcb4d9a4cd39aff2e/pandoc-2.4.tar.gz (34 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting pypandoc (from -r docs/requirements.txt (line 2)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/bb/e9/b145683854189bba84437ea569bfa786f408c8dc5bc16d8eb0753f5583bf/pypandoc-1.16.2-py3-none-any.whl (19 kB) Requirement already satisfied: sphinx>=7.3.7 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from -r docs/requirements.txt (line 3)) (9.1.0) Collecting sphinx-autodoc-typehints (from -r docs/requirements.txt (line 4)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/8c/0e/36820830c766647d688dfc2b3fda76d76c1cf007eea58fffc1990195aca4/sphinx_autodoc_typehints-3.8.0-py3-none-any.whl (32 kB) Collecting pydata-sphinx-theme (from -r docs/requirements.txt (line 5)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e2/0d/8ba33fa83a7dcde13eb3c1c2a0c1cc29950a048bfed6d9b0d8b6bd710b4c/pydata_sphinx_theme-0.16.1-py3-none-any.whl (6.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.7/6.7 MB 14.2 MB/s 0:00:00 Collecting sphinx-design (from -r docs/requirements.txt (line 6)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/30/cf/45dd359f6ca0c3762ce0490f681da242f0530c49c81050c035c016bfdd3a/sphinx_design-0.7.0-py3-none-any.whl (2.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 14.1 MB/s 0:00:00 Collecting readthedocs-sphinx-search (from -r docs/requirements.txt (line 7)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/04/3c/41bc9d7d4d936a73e380423f23996bee1691e17598d8a03c062be6aac640/readthedocs_sphinx_search-0.3.2-py3-none-any.whl (21 kB) Collecting sphinxcontrib-napoleon (from -r docs/requirements.txt (line 8)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/75/f2/6b7627dfe7b4e418e295e254bb15c3a6455f11f8c0ad0d43113f678049c3/sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl (17 kB) Collecting ipykernel (from -r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl (118 kB) Collecting ipywidgets (from -r docs/requirements.txt (line 10)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl (139 kB) Collecting nbconvert>=7.10.0 (from -r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0d/4b/8d5f796a792f8a25f6925a96032f098789f448571eb92011df1ae59e8ea8/nbconvert-7.17.0-py3-none-any.whl (261 kB) Collecting nbsphinx>=0.9.5 (from -r docs/requirements.txt (line 12)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/03/78/843bcf0cf31f88d2f8a9a063d2d80817b1901657d83d65b89b3aa835732e/nbsphinx-0.9.8-py3-none-any.whl (31 kB) Collecting plantweb (from -r docs/requirements.txt (line 13)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9e/3d/d2d36e503d131d99980db36844679ba6a9edda08b493d86ace8560c02c39/plantweb-1.3.0-py3-none-any.whl (20 kB) Collecting sciris (from -r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/47/13/e84106ed9dbaae3a466bf15639e4110f35a705e582554649ba01a2e918c4/sciris-3.2.6-py3-none-any.whl (258 kB) Collecting matplotlib (from -r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.7/8.7 MB 14.1 MB/s 0:00:00 Collecting scipy (from -r docs/requirements.txt (line 16)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35.2/35.2 MB 14.1 MB/s 0:00:02 Collecting seaborn (from -r docs/requirements.txt (line 17)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl (294 kB) Collecting jupytext (from -r docs/requirements.txt (line 18)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/16/5a/736dd2f4535dbf3bf26523f9158c011389ef88dd06ec2eef67fd744f1c7b/jupytext-1.19.1-py3-none-any.whl (170 kB) Collecting autodoc_pydantic>=2.0.0 (from -r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/7b/df/87120e2195f08d760bc5cf8a31cfa2381a6887517aa89453b23f1ae3354f/autodoc_pydantic-2.2.0-py3-none-any.whl (34 kB) Collecting plumbum (from pandoc->-r docs/requirements.txt (line 1)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/79/ad/45312df6b63ba64ea35b8d8f5f0c577aac16e6b416eafe8e1cb34e03f9a7/plumbum-1.10.0-py3-none-any.whl (127 kB) Collecting ply (from pandoc->-r docs/requirements.txt (line 1)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl (49 kB) Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.0.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.0.0) Requirement already satisfied: Jinja2>=3.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (3.1.6) Requirement already satisfied: Pygments>=2.17 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.19.2) Requirement already satisfied: docutils<0.23,>=0.21 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (0.22.4) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (3.0.1) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.18.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (1.4.1) Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.32.5) Requirement already satisfied: roman-numerals>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (4.1.0) Requirement already satisfied: packaging>=23.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (26.0) Collecting beautifulsoup4 (from pydata-sphinx-theme->-r docs/requirements.txt (line 5)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl (107 kB) Collecting accessible-pygments (from pydata-sphinx-theme->-r docs/requirements.txt (line 5)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 15.1 MB/s 0:00:00 Collecting typing-extensions (from pydata-sphinx-theme->-r docs/requirements.txt (line 5)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl (44 kB) Collecting six>=1.5.2 (from sphinxcontrib-napoleon->-r docs/requirements.txt (line 8)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting pockets>=0.3 (from sphinxcontrib-napoleon->-r docs/requirements.txt (line 8)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e9/2f/a4583c70fbd8cd04910e2884bcc2bdd670e884061f7b4d70bc13e632a993/pockets-0.9.1-py2.py3-none-any.whl (26 kB) Collecting comm>=0.1.1 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl (7.3 kB) Collecting debugpy>=1.6.5 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl (4.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 14.1 MB/s 0:00:00 Collecting ipython>=7.23.1 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3d/aa/898dec789a05731cd5a9f50605b7b44a72bd198fd0d4528e11fc610177cc/ipython-9.10.0-py3-none-any.whl (622 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 622.8/622.8 kB 17.9 MB/s 0:00:00 Collecting jupyter-client>=8.8.0 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl (107 kB) Collecting jupyter-core!=6.0.*,>=5.1 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl (29 kB) Collecting matplotlib-inline>=0.1 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl (9.5 kB) Collecting nest-asyncio>=1.4 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB) Collecting psutil>=5.7 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB) Collecting pyzmq>=25 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (840 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 841.0/841.0 kB 15.4 MB/s 0:00:00 Collecting tornado>=6.4.1 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (445 kB) Collecting traitlets>=5.4.0 (from ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl (85 kB) Collecting widgetsnbextension~=4.0.14 (from ipywidgets->-r docs/requirements.txt (line 10)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl (2.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 14.6 MB/s 0:00:00 Collecting jupyterlab_widgets~=3.0.15 (from ipywidgets->-r docs/requirements.txt (line 10)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl (914 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 914.9/914.9 kB 14.2 MB/s 0:00:00 Collecting bleach!=5.0.0 (from bleach[css]!=5.0.0->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl (164 kB) Collecting defusedxml (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl (25 kB) Collecting jupyterlab-pygments (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl (15 kB) Requirement already satisfied: markupsafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) (3.0.3) Collecting mistune<4,>=2.0.3 (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9b/f7/4a5e785ec9fbd65146a27b6b70b6cdc161a66f2024e4b04ac06a67f5578b/mistune-3.2.0-py3-none-any.whl (53 kB) Collecting nbclient>=0.5.0 (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl (25 kB) Collecting nbformat>=5.7 (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl (78 kB) Collecting pandocfilters>=1.4.1 (from nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl (8.7 kB) Collecting numpy (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f5/c6/a18e59f3f0b8071cc85cbc8d80cd02d68aa9710170b2553a117203d46936/numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.6/16.6 MB 14.1 MB/s 0:00:01 Collecting pandas (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3d/fe/89d77e424365280b79d99b3e1e7d606f5165af2f2ecfaf0c6d24c799d607/pandas-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.9/10.9 MB 14.1 MB/s 0:00:00 Collecting openpyxl (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl (250 kB) Collecting xlsxwriter (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3a/0c/3662f4a66880196a590b202f0db82d919dd2f89e99a27fadef91c4a33d41/xlsxwriter-3.2.9-py3-none-any.whl (175 kB) Collecting dill (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/1e/77/dc8c558f7593132cf8fefec57c4f60c83b16941c574ac5f619abb3ae7933/dill-0.4.1-py3-none-any.whl (120 kB) Collecting zstandard (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/53/60/7be26e610767316c028a2cbedb9a3beabdbe33e2182c373f71a1c0b88f36/zstandard-0.25.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 14.0 MB/s 0:00:00 Collecting multiprocess (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/71/70/38998b950a97ea279e6bd657575d22d1a2047256caf707d9a10fbce4f065/multiprocess-0.70.19-py312-none-any.whl (150 kB) Collecting jsonpickle (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c1/73/04df8a6fa66d43a9fd45c30f283cc4afff17da671886e451d52af60bdc7e/jsonpickle-4.1.1-py3-none-any.whl (47 kB) Collecting pyyaml (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 14.2 MB/s 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris->-r docs/requirements.txt (line 14)) (82.0.0) Collecting gitpython (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/6a/09/e21df6aef1e1ffc0c816f0522ddc3f6dcded766c3261813131c78a704470/gitpython-3.1.46-py3-none-any.whl (208 kB) Collecting jellyfish (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/4e/be/f9f9a0b7ba48c994e0573d718e39bde713572cfb11f967d97328420a7aef/jellyfish-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (360 kB) Collecting tqdm (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl (78 kB) Collecting python-dateutil (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Collecting memory_profiler (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/49/26/aaca612a0634ceede20682e692a6c55e35a94c21ba36b807cc40fe910ae1/memory_profiler-0.61.0-py3-none-any.whl (31 kB) Collecting line_profiler (from sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0d/6c/2d0286f67e6bb2b00ae23f9af6df18bfc6bb1ac5d803a8f46bd3eb22a8f1/line_profiler-5.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 14.4 MB/s 0:00:00 Collecting contourpy>=1.0.1 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362 kB) Collecting cycler>=0.10 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl (8.3 kB) Collecting fonttools>=4.22.0 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b7/37/82dbef0f6342eb01f54bca073ac1498433d6ce71e50c3c3282b655733b31/fonttools-4.61.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (5.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 14.1 MB/s 0:00:00 Collecting kiwisolver>=1.3.1 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 14.5 MB/s 0:00:00 Collecting pillow>=8 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ff/79/6df7b2ee763d619cda2fb4fea498e5f79d984dae304d45a8999b80d6cf5c/pillow-12.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.0/7.0 MB 14.1 MB/s 0:00:00 Collecting pyparsing>=3 (from matplotlib->-r docs/requirements.txt (line 15)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl (122 kB) Collecting markdown-it-py>=1.0 (from jupytext->-r docs/requirements.txt (line 18)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl (87 kB) Collecting mdit-py-plugins (from jupytext->-r docs/requirements.txt (line 18)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/fb/86/dd6e5db36df29e76c7a7699123569a4a18c1623ce68d826ed96c62643cae/mdit_py_plugins-0.5.0-py3-none-any.whl (57 kB) Collecting pydantic<3.0.0,>=2.0 (from autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl (463 kB) Collecting pydantic-settings<3.0.0,>=2.0 (from autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl (58 kB) Collecting annotated-types>=0.6.0 (from pydantic<3.0.0,>=2.0->autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl (13 kB) Collecting pydantic-core==2.41.5 (from pydantic<3.0.0,>=2.0->autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 14.1 MB/s 0:00:00 Collecting typing-inspection>=0.4.2 (from pydantic<3.0.0,>=2.0->autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl (14 kB) Collecting python-dotenv>=0.21.0 (from pydantic-settings<3.0.0,>=2.0->autodoc_pydantic>=2.0.0->-r docs/requirements.txt (line 19)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl (21 kB) Collecting webencodings (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Collecting tinycss2<1.5,>=1.1.0 (from bleach[css]!=5.0.0->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl (26 kB) Collecting decorator>=4.3.2 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl (9.2 kB) Collecting ipython-pygments-lexers>=1.0.0 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB) Collecting jedi>=0.18.1 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 14.2 MB/s 0:00:00 Collecting pexpect>4.3 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl (63 kB) Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl (391 kB) Collecting stack_data>=0.6.0 (from ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl (24 kB) Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl (94 kB) Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.18.1->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl (106 kB) Collecting platformdirs>=2.5 (from jupyter-core!=6.0.*,>=5.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/48/31/05e764397056194206169869b50cf2fee4dbbbc71b344705b9c0d878d4d8/platformdirs-4.9.2-py3-none-any.whl (21 kB) Collecting mdurl~=0.1 (from markdown-it-py>=1.0->jupytext->-r docs/requirements.txt (line 18)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl (10.0 kB) Collecting fastjsonschema>=2.15 (from nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl (24 kB) Collecting jsonschema>=2.6 (from nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl (90 kB) Collecting attrs>=22.2.0 (from jsonschema>=2.6->nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl (67 kB) Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl (26 kB) Collecting rpds-py>=0.25.0 (from jsonschema>=2.6->nbformat>=5.7->nbconvert>=7.10.0->-r docs/requirements.txt (line 11)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394 kB) Collecting ptyprocess>=0.5 (from pexpect>4.3->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.30.0->sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (3.4.4) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.30.0->sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (3.11) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.30.0->sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2.6.3) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.30.0->sphinx>=7.3.7->-r docs/requirements.txt (line 3)) (2026.2.25) Collecting executing>=1.2.0 (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl (28 kB) Collecting asttokens>=2.1.0 (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl (27 kB) Collecting pure-eval (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->-r docs/requirements.txt (line 9)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl (11 kB) Collecting soupsieve>=1.6.1 (from beautifulsoup4->pydata-sphinx-theme->-r docs/requirements.txt (line 5)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl (37 kB) Collecting gitdb<5,>=4.0.1 (from gitpython->sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl (62 kB) Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython->sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl (24 kB) Collecting et-xmlfile (from openpyxl->sciris->-r docs/requirements.txt (line 14)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl (18 kB) Building wheels for collected packages: pandoc Building wheel for pandoc (pyproject.toml): started Building wheel for pandoc (pyproject.toml): finished with status 'done' Created wheel for pandoc: filename=pandoc-2.4-py3-none-any.whl size=34873 sha256=0395c85ef3b7e9bb77c16b8d7139e9373037bd50dcba63b628010bfab0627bce Stored in directory: /tmp/pip-ephem-wheel-cache-yq4gy1mr/wheels/48/c9/1f/4e719eb39abdab7e13324bc447609284c7bb8a5ce5836dc838 Successfully built pandoc Installing collected packages: webencodings, pure-eval, ptyprocess, ply, fastjsonschema, zstandard, xlsxwriter, widgetsnbextension, wcwidth, typing-extensions, traitlets, tqdm, tornado, tinycss2, soupsieve, smmap, six, rpds-py, readthedocs-sphinx-search, pyzmq, pyyaml, python-dotenv, pyparsing, pypandoc, psutil, plumbum, platformdirs, pillow, pexpect, parso, pandocfilters, numpy, nest-asyncio, mistune, mdurl, kiwisolver, jupyterlab_widgets, jupyterlab-pygments, jsonpickle, jellyfish, ipython-pygments-lexers, fonttools, executing, et-xmlfile, dill, defusedxml, decorator, debugpy, cycler, comm, bleach, attrs, asttokens, annotated-types, accessible-pygments, typing-inspection, stack_data, scipy, referencing, python-dateutil, pydantic-core, prompt_toolkit, pockets, plantweb, pandoc, openpyxl, multiprocess, memory_profiler, matplotlib-inline, markdown-it-py, line_profiler, jupyter-core, jedi, gitdb, contourpy, beautifulsoup4, sphinxcontrib-napoleon, sphinx-design, sphinx-autodoc-typehints, pydata-sphinx-theme, pydantic, pandas, mdit-py-plugins, matplotlib, jupyter-client, jsonschema-specifications, ipython, gitpython, seaborn, sciris, pydantic-settings, jsonschema, ipywidgets, ipykernel, nbformat, autodoc_pydantic, nbclient, jupytext, nbconvert, nbsphinx Successfully installed accessible-pygments-0.0.5 annotated-types-0.7.0 asttokens-3.0.1 attrs-25.4.0 autodoc_pydantic-2.2.0 beautifulsoup4-4.14.3 bleach-6.3.0 comm-0.2.3 contourpy-1.3.3 cycler-0.12.1 debugpy-1.8.20 decorator-5.2.1 defusedxml-0.7.1 dill-0.4.1 et-xmlfile-2.0.0 executing-2.2.1 fastjsonschema-2.21.2 fonttools-4.61.1 gitdb-4.0.12 gitpython-3.1.46 ipykernel-7.2.0 ipython-9.10.0 ipython-pygments-lexers-1.1.1 ipywidgets-8.1.8 jedi-0.19.2 jellyfish-1.2.1 jsonpickle-4.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 jupyter-client-8.8.0 jupyter-core-5.9.1 jupyterlab-pygments-0.3.0 jupyterlab_widgets-3.0.16 jupytext-1.19.1 kiwisolver-1.4.9 line_profiler-5.0.2 markdown-it-py-4.0.0 matplotlib-3.10.8 matplotlib-inline-0.2.1 mdit-py-plugins-0.5.0 mdurl-0.1.2 memory_profiler-0.61.0 mistune-3.2.0 multiprocess-0.70.19 nbclient-0.10.4 nbconvert-7.17.0 nbformat-5.10.4 nbsphinx-0.9.8 nest-asyncio-1.6.0 numpy-2.4.2 openpyxl-3.1.5 pandas-3.0.1 pandoc-2.4 pandocfilters-1.5.1 parso-0.8.6 pexpect-4.9.0 pillow-12.1.1 plantweb-1.3.0 platformdirs-4.9.2 plumbum-1.10.0 ply-3.11 pockets-0.9.1 prompt_toolkit-3.0.52 psutil-7.2.2 ptyprocess-0.7.0 pure-eval-0.2.3 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.13.1 pydata-sphinx-theme-0.16.1 pypandoc-1.16.2 pyparsing-3.3.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.1 pyyaml-6.0.3 pyzmq-27.1.0 readthedocs-sphinx-search-0.3.2 referencing-0.37.0 rpds-py-0.30.0 scipy-1.17.1 sciris-3.2.6 seaborn-0.13.2 six-1.17.0 smmap-5.0.2 soupsieve-2.8.3 sphinx-autodoc-typehints-3.8.0 sphinx-design-0.7.0 sphinxcontrib-napoleon-0.7 stack_data-0.6.3 tinycss2-1.4.0 tornado-6.5.4 tqdm-4.67.3 traitlets-5.14.3 typing-extensions-4.15.0 typing-inspection-0.4.2 wcwidth-0.6.0 webencodings-0.5.1 widgetsnbextension-4.0.15 xlsxwriter-3.2.9 zstandard-0.25.0 [rtd-command-info] start-time: 2026-02-25T21:58:31.606590Z, end-time: 2026-02-25T21:59:03.934607Z, duration: 32, exit-code: 0 python -m pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir . Looking in indexes: https://pypi.org/simple, https://packages.idmod.org/api/pypi/pypi-production/simple Processing ./. Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting numba>=0.61.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9b/89/1a74ea99b180b7a5587b0301ed1b183a2937c4b4b67f7994689b5d36fc34/numba-0.64.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 14.0 MB/s 0:00:00 Collecting laser-core>=1.0.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/1d/3b/15205b1b88e47d30d24db8a20692ab364e91caba2d75a6d3fd677cf44f4f/laser_core-1.0.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (47 kB) Collecting diskcache>=5.6.3 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl (45 kB) Collecting appdirs>=1.4.4 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Requirement already satisfied: pydantic>=2.11.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from laser.measles==0.9.0) (2.12.5) Collecting pycountry>=24.6.1 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9c/42/7703bd45b62fecd44cd7d3495423097e2f7d28bc2e99e7c1af68892ab157/pycountry-26.2.16-py3-none-any.whl (8.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 14.0 MB/s 0:00:00 Requirement already satisfied: requests>=2.32.3 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from laser.measles==0.9.0) (2.32.5) Collecting alive-progress>=3.2.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/26/85/ec72f6c885703d18f3b09769645e950e14c7d0cc0a0e35d94127983f666f/alive_progress-3.3.0-py3-none-any.whl (78 kB) Requirement already satisfied: sciris>=3.2.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from laser.measles==0.9.0) (3.2.6) Collecting polars>=1.30.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0a/49/737c1a6273c585719858261753da0b688454d1b634438ccba8a9c4eb5aab/polars-1.38.1-py3-none-any.whl (810 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 810.4/810.4 kB 14.6 MB/s 0:00:00 Collecting pyarrow>=20.0.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/2c/a5/da83046273d990f256cb79796a190bbf7ec999269705ddc609403f8c6b06/pyarrow-23.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (47.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.6/47.6 MB 13.9 MB/s 0:00:03 Collecting rastertoolkit==0.3.12 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/42/93/099110861d75748b58179bdf382da9c3ce2a02cd79b26b1fbfaf0dfbd654/rastertoolkit-0.3.12-py3-none-any.whl (16 kB) Collecting typer>=0.12.0 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/4a/91/48db081e7a63bb37284f9fbcefda7c44c277b18b0e13fbc36ea2335b71e6/typer-0.24.1-py3-none-any.whl (56 kB) Collecting patito>=0.8.3 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/16/c6/9e76a75b99339367c9fdc8eb27bdc3ed73f8a4944a7484025072dd45e388/patito-0.8.6-py3-none-any.whl (43 kB) Collecting pyvd>=1.0.1 (from laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/17/84/4b8d39811f468724e29ad275b04193297cf4f8089fd5818ea4fe0a83101a/pyvd-1.0.1-py3-none-any.whl (2.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 14.3 MB/s 0:00:00 Requirement already satisfied: matplotlib~=3.9 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from rastertoolkit==0.3.12->laser.measles==0.9.0) (3.10.8) Collecting pyshp~=2.3 (from rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/98/2f/68116db5b36b895c0450e3072b8cb6c2fac0359279b182ea97014d3c8ac0/pyshp-2.3.1-py2.py3-none-any.whl (46 kB) Collecting pyproj~=3.6 (from rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b8/be/212882c450bba74fc8d7d35cbd57e4af84792f0a56194819d98106b075af/pyproj-3.7.2-cp312-cp312-manylinux_2_28_x86_64.whl (9.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 14.0 MB/s 0:00:00 Collecting scikit-learn~=1.5 (from rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/97/74/b7a304feb2b49df9fafa9382d4d09061a96ee9a9449a7cbea7988dda0828/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.9/8.9 MB 14.0 MB/s 0:00:00 Collecting shapely~=2.0 (from rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/b9/37/e781683abac55dde9771e086b790e554811a71ed0b2b8a1e789b7430dd44/shapely-2.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 14.3 MB/s 0:00:00 Requirement already satisfied: contourpy>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (1.3.3) Requirement already satisfied: cycler>=0.10 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (4.61.1) Requirement already satisfied: kiwisolver>=1.3.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (1.4.9) Requirement already satisfied: numpy>=1.23 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (2.4.2) Requirement already satisfied: packaging>=20.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (26.0) Requirement already satisfied: pillow>=8 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (12.1.1) Requirement already satisfied: pyparsing>=3 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (3.3.2) Requirement already satisfied: python-dateutil>=2.7 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (2.9.0.post0) Requirement already satisfied: certifi in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from pyproj~=3.6->rastertoolkit==0.3.12->laser.measles==0.9.0) (2026.2.25) Requirement already satisfied: scipy>=1.10.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from scikit-learn~=1.5->rastertoolkit==0.3.12->laser.measles==0.9.0) (1.17.1) Collecting joblib>=1.3.0 (from scikit-learn~=1.5->rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl (309 kB) Collecting threadpoolctl>=3.2.0 (from scikit-learn~=1.5->rastertoolkit==0.3.12->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl (18 kB) Collecting about-time==4.2.1 (from alive-progress>=3.2.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/fb/cd/7ee00d6aa023b1d0551da0da5fee3bc23c3eeea632fbfc5126d1fec52b7e/about_time-4.2.1-py3-none-any.whl (13 kB) Collecting graphemeu==0.7.2 (from alive-progress>=3.2.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/69/18/36503ea63e1ecd0a95590d7b6b8b7d227a1e4541a154e1612a231def1bdc/graphemeu-0.7.2-py3-none-any.whl (22 kB) Collecting click (from laser-core>=1.0.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl (108 kB) Requirement already satisfied: pandas in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from laser-core>=1.0.0->laser.measles==0.9.0) (3.0.1) Collecting h5py (from laser-core>=1.0.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3a/30/d1c94066343a98bb2cea40120873193a4fed68c4ad7f8935c11caf74c681/h5py-3.15.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 14.1 MB/s 0:00:00 Collecting geopandas (from laser-core>=1.0.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/54/e4/fac19dc34cb686c96011388b813ff7b858a70681e5ce6ce7698e5021b0f4/geopandas-1.1.2-py3-none-any.whl (341 kB) Collecting llvmlite<0.47,>=0.46.0dev0 (from numba>=0.61.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/aa/85/4890a7c14b4fa54400945cb52ac3cd88545bbdb973c440f98ca41591cdc5/llvmlite-0.46.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 14.0 MB/s 0:00:04 Requirement already satisfied: typing-extensions in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from patito>=0.8.3->laser.measles==0.9.0) (4.15.0) Collecting polars-runtime-32==1.38.1 (from polars>=1.30.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f2/5a/61d60ec5cc0ab37cbd5a699edb2f9af2875b7fdfdfb2a4608ca3cc5f0448/polars_runtime_32-1.38.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.8/45.8 MB 14.0 MB/s 0:00:03 Requirement already satisfied: annotated-types>=0.6.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from pydantic>=2.11.5->laser.measles==0.9.0) (0.7.0) Requirement already satisfied: pydantic-core==2.41.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from pydantic>=2.11.5->laser.measles==0.9.0) (2.41.5) Requirement already satisfied: typing-inspection>=0.4.2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from pydantic>=2.11.5->laser.measles==0.9.0) (0.4.2) Requirement already satisfied: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib~=3.9->rastertoolkit==0.3.12->laser.measles==0.9.0) (1.17.0) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.32.3->laser.measles==0.9.0) (3.4.4) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.32.3->laser.measles==0.9.0) (3.11) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from requests>=2.32.3->laser.measles==0.9.0) (2.6.3) Requirement already satisfied: openpyxl in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (3.1.5) Requirement already satisfied: xlsxwriter in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (3.2.9) Requirement already satisfied: psutil in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (7.2.2) Requirement already satisfied: dill in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (0.4.1) Requirement already satisfied: zstandard in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (0.25.0) Requirement already satisfied: multiprocess in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (0.70.19) Requirement already satisfied: jsonpickle in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (4.1.1) Requirement already satisfied: pyyaml in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (6.0.3) Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (82.0.0) Requirement already satisfied: gitpython in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (3.1.46) Requirement already satisfied: jellyfish in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (1.2.1) Requirement already satisfied: tqdm in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (4.67.3) Requirement already satisfied: memory_profiler in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (0.61.0) Requirement already satisfied: line_profiler in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from sciris>=3.2.1->laser.measles==0.9.0) (5.0.2) Collecting shellingham>=1.3.0 (from typer>=0.12.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB) Collecting rich>=12.3.0 (from typer>=0.12.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/14/25/b208c5683343959b670dc001595f2f3737e051da617f66c31f7c4fa93abc/rich-14.3.3-py3-none-any.whl (310 kB) Collecting annotated-doc>=0.0.2 (from typer>=0.12.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl (5.3 kB) Requirement already satisfied: markdown-it-py>=2.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from rich>=12.3.0->typer>=0.12.0->laser.measles==0.9.0) (4.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from rich>=12.3.0->typer>=0.12.0->laser.measles==0.9.0) (2.19.2) Requirement already satisfied: mdurl~=0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=12.3.0->typer>=0.12.0->laser.measles==0.9.0) (0.1.2) Collecting pyogrio>=0.7.2 (from geopandas->laser-core>=1.0.0->laser.measles==0.9.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/36/f7/cf8bec9024625947e1a71441906f60a5fa6f9e4c441c4428037e73b1fcc8/pyogrio-0.12.1-cp312-cp312-manylinux_2_28_x86_64.whl (32.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 32.5/32.5 MB 14.0 MB/s 0:00:02 Requirement already satisfied: gitdb<5,>=4.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from gitpython->sciris>=3.2.1->laser.measles==0.9.0) (4.0.12) Requirement already satisfied: smmap<6,>=3.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from gitdb<5,>=4.0.1->gitpython->sciris>=3.2.1->laser.measles==0.9.0) (5.0.2) Requirement already satisfied: et-xmlfile in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser-measles/envs/122/lib/python3.12/site-packages (from openpyxl->sciris>=3.2.1->laser.measles==0.9.0) (2.0.0) Building wheels for collected packages: laser.measles Building wheel for laser.measles (pyproject.toml): started Building wheel for laser.measles (pyproject.toml): finished with status 'done' Created wheel for laser.measles: filename=laser_measles-0.9.0-py3-none-any.whl size=132379 sha256=cca39d6b2a0a7489828e7d65813e1419a850213c80e4155e0e172250cb75d407 Stored in directory: /tmp/pip-ephem-wheel-cache-mkf47iqf/wheels/d4/ee/a8/c5314a433d237e2ab2bf0c76c7eff5f59a2cc8301f0f29bee6 Successfully built laser.measles Installing collected packages: appdirs, threadpoolctl, shellingham, shapely, pyvd, pyshp, pyproj, pyogrio, pycountry, pyarrow, polars-runtime-32, llvmlite, joblib, h5py, graphemeu, diskcache, click, annotated-doc, about-time, scikit-learn, rich, polars, numba, alive-progress, typer, rastertoolkit, patito, geopandas, laser-core, laser.measles Successfully installed about-time-4.2.1 alive-progress-3.3.0 annotated-doc-0.0.4 appdirs-1.4.4 click-8.3.1 diskcache-5.6.3 geopandas-1.1.2 graphemeu-0.7.2 h5py-3.15.1 joblib-1.5.3 laser-core-1.0.0 laser.measles-0.9.0 llvmlite-0.46.0 numba-0.64.0 patito-0.8.6 polars-1.38.1 polars-runtime-32-1.38.1 pyarrow-23.0.1 pycountry-26.2.16 pyogrio-0.12.1 pyproj-3.7.2 pyshp-2.3.1 pyvd-1.0.1 rastertoolkit-0.3.12 rich-14.3.3 scikit-learn-1.8.0 shapely-2.1.2 shellingham-1.5.4 threadpoolctl-3.6.0 typer-0.24.1 [rtd-command-info] start-time: 2026-02-25T21:59:04.045225Z, end-time: 2026-02-25T21:59:10.459631Z, duration: 6, exit-code: 0 python docs/tutorials/convert_tutorials.py [jupytext] Reading tut_spatial_mixing.py in format py [jupytext] Writing tut_spatial_mixing.ipynb [jupytext] Reading tut_basic_model.py in format py [jupytext] Writing tut_basic_model.ipynb [jupytext] Reading tut_vaccination.py in format py [jupytext] Writing tut_vaccination.ipynb [jupytext] Reading tut_model_structure.py in format py [jupytext] Writing tut_model_structure.ipynb [jupytext] Reading tut_traveling_waves.py in format py [jupytext] Writing tut_traveling_waves.ipynb [jupytext] Reading tut_scenarios.py in format py [jupytext] Writing tut_scenarios.ipynb [jupytext] Reading tut_state_arrays.py in format py [jupytext] Writing tut_state_arrays.ipynb [jupytext] Reading tut_creating_component.py in format py [jupytext] Writing tut_creating_component.ipynb [jupytext] Reading tut_pydantic_component_parameters.py in format py [jupytext] Writing tut_pydantic_component_parameters.ipynb [jupytext] Reading tut_random_numbers.py in format py [jupytext] Writing tut_random_numbers.ipynb [jupytext] Reading tut_abm_vital_dynamics.py in format py [jupytext] Writing tut_abm_vital_dynamics.ipynb [jupytext] Reading tut_abm_intro.py in format py [jupytext] Writing tut_abm_intro.ipynb [jupytext] Reading tut_quickstart_hello_world.py in format py [jupytext] Writing tut_quickstart_hello_world.ipynb Converting tut_spatial_mixing.py to notebook... Successfully converted tut_spatial_mixing.py Converting tut_basic_model.py to notebook... Successfully converted tut_basic_model.py Converting tut_vaccination.py to notebook... Successfully converted tut_vaccination.py Converting tut_model_structure.py to notebook... Successfully converted tut_model_structure.py Converting tut_traveling_waves.py to notebook... Successfully converted tut_traveling_waves.py Converting tut_scenarios.py to notebook... Successfully converted tut_scenarios.py Converting tut_state_arrays.py to notebook... Successfully converted tut_state_arrays.py Converting tut_creating_component.py to notebook... Successfully converted tut_creating_component.py Converting tut_pydantic_component_parameters.py to notebook... Successfully converted tut_pydantic_component_parameters.py Converting tut_random_numbers.py to notebook... Successfully converted tut_random_numbers.py Converting tut_abm_vital_dynamics.py to notebook... Successfully converted tut_abm_vital_dynamics.py Converting tut_abm_intro.py to notebook... Successfully converted tut_abm_intro.py Converting tut_quickstart_hello_world.py to notebook... Successfully converted tut_quickstart_hello_world.py Successfully converted 13 tutorial files to notebooks [rtd-command-info] start-time: 2026-02-25T21:59:10.643595Z, end-time: 2026-02-25T21:59:10.682853Z, duration: 0, exit-code: 0 cat docs/conf.py # # Configuration file for the Sphinx documentation builder. import os import sciris as sc on_rtd = os.environ.get("READTHEDOCS") == "True" # -- Project information ----------------------------------------------------- project = "laser-measles" copyright = f"2024 - {sc.now().year}, Bill & Melinda Gates Foundation. All rights reserved." # The short X.Y version version = release = "0.9.0" # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here extensions = [ "sphinx.ext.autodoc", # Core Sphinx library for auto html doc generation from docstrings "sphinx.ext.autosummary", # Create neat summary tables for modules/classes/methods etc -- causes warnings with Napoleon however "sphinx.ext.intersphinx", "sphinx.ext.viewcode", # Add a link to the Python source code for classes, functions etc. "sphinx.ext.napoleon", "sphinx.ext.autosectionlabel", # "sphinx.ext.doctest", # Enable doctest builder "sphinx_autodoc_typehints", # Automatically document param types (less noise in class signature) "sphinx_design", # Add e.g. grid layout "sphinx_search.extension", # search across multiple docsets in domain "nbsphinx", "sphinxcontrib.autodoc_pydantic", ] # Use Google docstrings napoleon_google_docstring = True # Configure autosummary autosummary_generate = True # Turn on sphinx.ext.autosummary autosummary_ignore_module_all = False # Respect __all__ autodoc_member_order = "bysource" # Keep original ordering add_module_names = False # NB, does not work autodoc_inherit_docstrings = True # Allow subclasses to inherit docs from parent classes # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # Syntax highlighting style pygments_style = "sphinx" modindex_common_prefix = ["laser.measles."] # List of patterns, relative to source directory, to exclude exclude_patterns = [ "_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints", "tutorials/not_ready/**", "tutorials/convert_tutorials.ipynb", ] # Suppress certain warnings suppress_warnings = ["autosectionlabel.*"] # Configure pydantic # -- Options for HTML output ------------------------------------------------- html_theme = "pydata_sphinx_theme" html_theme_options = { "collapse_navigation": False, "navigation_depth": 3, "show_prev_next": True, "icon_links": [ {"name": "Web", "url": "https://laser-measles.readthedocs.io/en/latest/", "icon": "fas fa-home"}, { "name": "GitHub", "url": "https://github.com/InstituteforDiseaseModeling/laser-measles", "icon": "fab fa-github-square", }, ], "navbar_end": ["theme-switcher", "navbar-icon-links"], "secondary_sidebar_items": [], "header_links_before_dropdown": 5, "footer_start": ["copyright", "footer_start"], "footer_end": ["theme-version", "footer_end"], } html_sidebars = { "**": ["page-toc"], } html_logo = "images/idm-logo-transparent.png" html_favicon = "images/favicon.ico" html_static_path = ["_static"] html_baseurl = "https://docs.idmod.org/" html_context = { "rtd_url": "https://docs.idmod.org/", "versions_dropdown": { "latest": "devel (latest)", "stable": "current (stable)", }, "default_mode": "light", } # Add any extra paths that contain custom files if not on_rtd: html_extra_path = ["robots.txt"] # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. html_last_updated_fmt = "%Y-%b-%d" html_show_sourcelink = True html_show_sphinx = False html_copy_source = False htmlhelp_basename = "laser-measles" # Add customizations def setup(app): app.add_css_file("theme_overrides.css") # Modify this to not rerun the Jupyter notebook cells -- usually set by build_docs nbsphinx_execute = "auto" nbsphinx_timeout = 600 nbsphinx_allow_errors = True nbsphinx_execute_arguments = [ "--InlineBackend.figure_formats={'svg', 'pdf'}", "--InlineBackend.rc={'figure.dpi': 96}", ] # OpenSearch options html_use_opensearch = "docs.idmod.org/projects/laser-measles/en/latest" # -- RTD Sphinx search for searching across the entire domain, default child ------------- if os.environ.get("READTHEDOCS") == "True": search_project_parent = "institute-for-disease-modeling-idm" search_project = os.environ["READTHEDOCS_PROJECT"] search_version = os.environ["READTHEDOCS_VERSION"] rtd_sphinx_search_default_filter = f"subprojects:{search_project_parent}/{search_version}" rtd_sphinx_search_filters = { "Search this project": f"project:{search_project}/{search_version}", "Search all IDM docs": f"subprojects:{search_project_parent}/{search_version}", } # -- Linkcheck configuration ------------------------------------------------- # Configuration for sphinx-build -b linkcheck # URLs that should be ignored during link checking linkcheck_ignore = [ r"https://chatgpt\.com/g/g-674f5fd33aec8191bcdc1a2736fb7c8d-laser-gpt-jenner", # Requires authentication r"https://.*\.idmod\.org/.*", # Internal IDM links that may require auth r"https://.*\.gatesfoundation\.org/.*", # Gates Foundation internal links ] # HTTP status codes that should be considered as "working" (not broken) # 403 = Forbidden (requires authentication) # 401 = Unauthorized (requires authentication) linkcheck_allowed_redirects = { r"https://.*\.idmod\.org/.*": r".*", r"https://.*\.gatesfoundation\.org/.*": r".*", } # Timeout for link checking (in seconds) linkcheck_timeout = 30 # Number of workers for parallel link checking linkcheck_workers = 5 # Whether to check anchors in links linkcheck_anchors = False # Whether to check anchors in relative links linkcheck_anchors_ignore = [ r"#.*", # Ignore all anchor links ] # Retry count for failed links linkcheck_retries = 2 [rtd-command-info] start-time: None, end-time: None, duration: None, exit-code: None python -m sphinx -T -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html