Read the Docs build information Build id: 3784801 Project: institute-for-disease-modeling-laser Version: 358 Commit: fbefb4b71727befc9478af35639783f09ea69d47 Date: 2026-02-26T16:28:25.940101Z State: finished Success: True [rtd-command-info] start-time: 2026-02-26T16:28:49.000014Z, end-time: 2026-02-26T16:28:49.892669Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/InstituteforDiseaseModeling/laser.git . Cloning into '.'... [rtd-command-info] start-time: 2026-02-26T16:28:50.032068Z, end-time: 2026-02-26T16:28:51.349259Z, duration: 1, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/358/head:external-358 From https://github.com/InstituteforDiseaseModeling/laser * [new ref] refs/pull/358/head -> external-358 * [new tag] v0.7.0 -> v0.7.0 * [new tag] v0.8.0 -> v0.8.0 * [new tag] v0.8.1 -> v0.8.1 * [new tag] v0.9.0 -> v0.9.0 * [new tag] v0.9.1 -> v0.9.1 * [new tag] v1.0.0 -> v1.0.0 [rtd-command-info] start-time: 2026-02-26T16:28:52.242611Z, end-time: 2026-02-26T16:28:52.296948Z, duration: 0, exit-code: 0 git checkout --force fbefb4b71727befc9478af35639783f09ea69d47 Note: switching to 'fbefb4b71727befc9478af35639783f09ea69d47'. 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 fbefb4b Bump pillow from 11.3.0 to 12.1.1 [rtd-command-info] start-time: 2026-02-26T16:28:52.417917Z, end-time: 2026-02-26T16:28:52.454854Z, duration: 0, exit-code: 0 cat .readthedocs.yml # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 build: os: ubuntu-22.04 tools: python: "3.13" sphinx: configuration: docs/conf.py fail_on_warning: false formats: - htmlzip - pdf python: install: - requirements: docs/requirements.txt - method: pip path: . extra_requirements: - test search: ranking: installation.html: 3 laser.core.html: 2 [rtd-command-info] start-time: 2026-02-26T16:28:56.734618Z, end-time: 2026-02-26T16:28:56.787377Z, duration: 0, exit-code: 0 asdf global python 3.13.3 [rtd-command-info] start-time: 2026-02-26T16:28:57.117845Z, end-time: 2026-02-26T16:28:57.624209Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.13.3.final.0-64 in 291ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358, 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-26T16:28:57.719317Z, end-time: 2026-02-26T16:29:03.201473Z, 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/envs/358/lib/python3.13/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 11.9 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/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 16.0 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-26T16:29:03.287378Z, end-time: 2026-02-26T16:29:09.559584Z, 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.9 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 15.1 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.4 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.7 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/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-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/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-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-26T16:29:09.644261Z, end-time: 2026-02-26T16:29:11.142809Z, duration: 1, 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 Requirement already satisfied: sphinx>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from -r docs/requirements.txt (line 1)) (9.1.0) Collecting sphinx-rtd-theme (from -r docs/requirements.txt (line 2)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/87/c7/b5c8015d823bfda1a346adb2c634a2101d50bb75d421eb6dcb31acd25ebc/sphinx_rtd_theme-3.1.0-py2.py3-none-any.whl (7.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.7/7.7 MB 14.6 MB/s 0:00:00 Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: Jinja2>=3.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (3.1.6) Requirement already satisfied: Pygments>=2.17 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.19.2) Requirement already satisfied: docutils<0.23,>=0.21 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (0.22.4) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (3.0.1) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.18.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (1.4.1) Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.32.5) Requirement already satisfied: roman-numerals>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (4.1.0) Requirement already satisfied: packaging>=23.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from sphinx>=1.3->-r docs/requirements.txt (line 1)) (26.0) Collecting sphinxcontrib-jquery<5,>=4 (from sphinx-rtd-theme->-r docs/requirements.txt (line 2)) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/76/85/749bd22d1a68db7291c89e2ebca53f4306c3f205853cf31e9de279034c3c/sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from Jinja2>=3.1->sphinx>=1.3->-r docs/requirements.txt (line 1)) (3.0.3) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=1.3->-r docs/requirements.txt (line 1)) (3.4.4) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=1.3->-r docs/requirements.txt (line 1)) (3.11) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=1.3->-r docs/requirements.txt (line 1)) (2.6.3) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=1.3->-r docs/requirements.txt (line 1)) (2026.2.25) Installing collected packages: sphinxcontrib-jquery, sphinx-rtd-theme Successfully installed sphinx-rtd-theme-3.1.0 sphinxcontrib-jquery-4.1 [rtd-command-info] start-time: 2026-02-26T16:29:11.220480Z, end-time: 2026-02-26T16:29:59.635882Z, duration: 48, exit-code: 0 python -m pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir .[test] 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 click (from laser-core==1.0.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) Collecting numpy (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/04/dc/46066ce18d01645541f0186877377b9371b8fa8017fa8262002b4ef22612/numpy-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.6/16.6 MB 14.5 MB/s 0:00:01 Collecting numba (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/42/e8/14b5853ebefd5b37723ef365c5318a30ce0702d39057eaa8d7d76392859d/numba-0.64.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 14.6 MB/s 0:00:00 Collecting matplotlib (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.7/8.7 MB 14.5 MB/s 0:00:00 Collecting pandas (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f2/85/ab6d04733a7d6ff32bfc8382bf1b07078228f5d6ebec5266b91bfc5c4ff7/pandas-3.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.9/10.9 MB 14.5 MB/s 0:00:00 Collecting h5py (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/d9/69/4402ea66272dacc10b298cca18ed73e1c0791ff2ae9ed218d3859f9698ac/h5py-3.15.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 14.5 MB/s 0:00:00 Collecting geopandas (from laser-core==1.0.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 shapely (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f2/a2/83fc37e2a58090e3d2ff79175a95493c664bcd0b653dd75cb9134645a4e5/shapely-2.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 14.8 MB/s 0:00:00 Collecting uv>=0.10.5 (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/85/f2/f2ccc2196fd6cf1321c2e8751a96afabcbc9509b184c671ece3e804effda/uv-0.10.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.2/23.2 MB 14.5 MB/s 0:00:01 Collecting pytest>=6.0 (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl (374 kB) Collecting pytest-cov (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl (22 kB) Collecting scipy (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35.2/35.2 MB 14.5 MB/s 0:00:02 Collecting tox (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/03/c2/d0e0d9700f9e2a6f20361c59c9fc044c1efebcdc5f13cbf353dd7d112410/tox-4.46.3-py3-none-any.whl (201 kB) Collecting tox-uv (from laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9f/67/736f40388b5e1d1b828b236014be7dd3d62a10642122763e6928d950edad/tox_uv-1.33.0-py3-none-any.whl (5.4 kB) Collecting iniconfig>=1.0.1 (from pytest>=6.0->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl (7.5 kB) Requirement already satisfied: packaging>=22 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from pytest>=6.0->laser-core==1.0.0) (26.0) Collecting pluggy<2,>=1.5 (from pytest>=6.0->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl (20 kB) Requirement already satisfied: pygments>=2.7.2 in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from pytest>=6.0->laser-core==1.0.0) (2.19.2) Collecting pyogrio>=0.7.2 (from geopandas->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/46/35/b874f79d03e9f900012cf609f7fff97b77164f2e14ee5aac282f8a999c1b/pyogrio-0.12.1-cp313-cp313-manylinux_2_28_x86_64.whl (32.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 32.5/32.5 MB 14.5 MB/s 0:00:02 Collecting pyproj>=3.5.0 (from geopandas->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/f8/85/c2b1706e51942de19076eff082f8495e57d5151364e78b5bef4af4a1d94a/pyproj-3.7.2-cp313-cp313-manylinux_2_28_x86_64.whl (9.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 14.5 MB/s 0:00:00 Collecting python-dateutil>=2.8.2 (from pandas->laser-core==1.0.0) 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) Requirement already satisfied: certifi in /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/envs/358/lib/python3.13/site-packages (from pyogrio>=0.7.2->geopandas->laser-core==1.0.0) (2026.2.25) Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas->laser-core==1.0.0) 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 contourpy>=1.0.1 (from matplotlib->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362 kB) Collecting cycler>=0.10 (from matplotlib->laser-core==1.0.0) 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->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/a3/4b/d67eedaed19def5967fade3297fed8161b25ba94699efc124b14fb68cdbc/fonttools-4.61.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (4.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 14.3 MB/s 0:00:00 Collecting kiwisolver>=1.3.1 (from matplotlib->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 14.6 MB/s 0:00:00 Collecting pillow>=8 (from matplotlib->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/71/24/538bff45bde96535d7d998c6fed1a751c75ac7c53c37c90dc2601b243893/pillow-12.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.0/7.0 MB 14.3 MB/s 0:00:00 Collecting pyparsing>=3 (from matplotlib->laser-core==1.0.0) 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 llvmlite<0.47,>=0.46.0dev0 (from numba->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/0e/54/737755c0a91558364b9200702c3c9c15d70ed63f9b98a2c32f1c2aa1f3ba/llvmlite-0.46.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 14.4 MB/s 0:00:03 Collecting coverage>=7.10.6 (from coverage[toml]>=7.10.6->pytest-cov->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/e4/dc/b2442d10020c2f52617828862d8b6ee337859cd8f3a1f13d607dddda9cf7/coverage-7.13.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (253 kB) Collecting cachetools>=7.0.1 (from tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/ed/9e/5faefbf9db1db466d633735faceda1f94aa99ce506ac450d232536266b32/cachetools-7.0.1-py3-none-any.whl (13 kB) Collecting colorama>=0.4.6 (from tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting filelock>=3.24.3 (from tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/9c/0f/5d0c71a1aefeb08efff26272149e07ab922b64f46c63363756224bd6872e/filelock-3.24.3-py3-none-any.whl (24 kB) Collecting platformdirs>=4.9.2 (from tox->laser-core==1.0.0) 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 pyproject-api>=1.10 (from tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/54/cc/cecf97be298bee2b2a37dd360618c819a2a7fd95251d8e480c1f0eb88f3b/pyproject_api-1.10.0-py3-none-any.whl (13 kB) Collecting virtualenv>=20.39 (from tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/29/d1/3f62e4f9577b28c352c11623a03fb916096d5c131303d4861b4914481b6b/virtualenv-21.0.0-py3-none-any.whl (5.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 14.5 MB/s 0:00:00 Collecting distlib<1,>=0.3.7 (from virtualenv>=20.39->tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl (469 kB) Collecting python-discovery>=1 (from virtualenv>=20.39->tox->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/06/54/82a6e2ef37f0f23dccac604b9585bdcbd0698604feb64807dcb72853693e/python_discovery-1.1.0-py3-none-any.whl (30 kB) Collecting tox-uv-bare==1.33.0 (from tox-uv->laser-core==1.0.0) Downloading https://packages.idmod.org/api/pypi/pypi-production/packages/packages/32/e5/0cae08b6c2908b4b8e51a91adaead58d06fd2393333aadc88c9a448da2c3/tox_uv_bare-1.33.0-py3-none-any.whl (19 kB) Building wheels for collected packages: laser-core Building wheel for laser-core (pyproject.toml): started Building wheel for laser-core (pyproject.toml): finished with status 'done' Created wheel for laser-core: filename=laser_core-1.0.0-cp313-cp313-linux_x86_64.whl size=47926 sha256=17404d0679f862876977d0969ed6638eca9edbd68d42aa39efa18e51480b3381 Stored in directory: /tmp/pip-ephem-wheel-cache-yr7eb67b/wheels/5c/34/31/e53de8a32394f1a79d5a3af468be3d0b33bbc3fcb701bf3a8d Successfully built laser-core Installing collected packages: distlib, uv, six, pyproject-api, pyproj, pyparsing, pluggy, platformdirs, pillow, numpy, llvmlite, kiwisolver, iniconfig, fonttools, filelock, cycler, coverage, colorama, click, cachetools, shapely, scipy, python-discovery, python-dateutil, pytest, pyogrio, numba, h5py, contourpy, virtualenv, pytest-cov, pandas, matplotlib, tox, geopandas, tox-uv-bare, laser-core, tox-uv Successfully installed cachetools-7.0.1 click-8.3.1 colorama-0.4.6 contourpy-1.3.3 coverage-7.13.4 cycler-0.12.1 distlib-0.4.0 filelock-3.24.3 fonttools-4.61.1 geopandas-1.1.2 h5py-3.15.1 iniconfig-2.3.0 kiwisolver-1.4.9 laser-core-1.0.0 llvmlite-0.46.0 matplotlib-3.10.8 numba-0.64.0 numpy-2.4.2 pandas-3.0.1 pillow-12.1.1 platformdirs-4.9.2 pluggy-1.6.0 pyogrio-0.12.1 pyparsing-3.3.2 pyproj-3.7.2 pyproject-api-1.10.0 pytest-9.0.2 pytest-cov-7.0.0 python-dateutil-2.9.0.post0 python-discovery-1.1.0 scipy-1.17.1 shapely-2.1.2 six-1.17.0 tox-4.46.3 tox-uv-1.33.0 tox-uv-bare-1.33.0 uv-0.10.6 virtualenv-21.0.0 [rtd-command-info] start-time: 2026-02-26T16:29:59.780819Z, end-time: 2026-02-26T16:29:59.820648Z, duration: 0, exit-code: 0 cat docs/conf.py import os extensions = [ "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinx.ext.coverage", "sphinx.ext.doctest", "sphinx.ext.extlinks", "sphinx.ext.ifconfig", "sphinx.ext.napoleon", "sphinx.ext.todo", "sphinx.ext.viewcode", "sphinx.ext.mathjax", ] source_suffix = {".rst": "restructuredtext"} master_doc = "index" project = "LASER" year = "2023-2024" author = "Institute for Disease Modeling" copyright = f"{year}, {author}" version = release = "1.0.0" pygments_style = "trac" templates_path = ["."] extlinks = { "issue": ("https://github.com/laser-base/laser-core/issues/%s", "#"), "pr": ("https://github.com/laser-base/laser-core/pull/%s", "PR #"), } # on_rtd is whether we are on readthedocs.org on_rtd = os.environ.get("READTHEDOCS", None) == "True" if not on_rtd: # only set the theme if we are building docs locally html_theme = "sphinx_rtd_theme" html_use_smartypants = True html_last_updated_fmt = "%b %d, %Y" html_split_index = False html_sidebars = { "**": ["searchbox.html", "globaltoc.html", "sourcelink.html"], } html_short_title = f"{project}-{version}" # Napoleon settings (Napolean converts Google-style docstrings to reStructuredText) napoleon_google_docstring = True napoleon_numpy_docstring = True napoleon_include_init_with_doc = False napoleon_include_private_with_doc = False napoleon_include_special_with_doc = True napoleon_use_admonition_for_examples = False napoleon_use_admonition_for_notes = False napoleon_use_admonition_for_references = False napoleon_use_ivar = True # from Cookiecutter template, False is the default napoleon_use_param = False # from Cookiecutter template, True is the default napoleon_use_rtype = False # from Cookiecutter template, True is the default napoleon_preprocess_types = False napoleon_type_aliases = None napoleon_attr_annotations = True mathjax3_config = {"TeX": {"Macros": {"small": ["{\\scriptstyle #1}", 1]}}} # Prevent the following warning: # sphinx/builders/linkcheck.py:86: RemovedInSphinx80Warning: The default value for 'linkcheck_report_timeouts_as_broken' will change to False in Sphinx 8, meaning that request timeouts will be reported with a new 'timeout' status, instead of as 'broken'. This is intended to provide more detail as to the failure mode. See https://github.com/sphinx-doc/sphinx/issues/11868 for details. # warnings.warn(deprecation_msg, RemovedInSphinx80Warning, stacklevel=1) linkcheck_ignore = [r"https://www\.populationpyramid\.net/nigeria/2024/"] linkcheck_report_timeouts_as_broken = False [rtd-command-info] start-time: 2026-02-26T16:29:59.934225Z, end-time: 2026-02-26T16:30:10.420135Z, duration: 10, exit-code: 0 python -m sphinx -T -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html Running Sphinx v9.1.0 loading translations [en]... done making output directory... done [autosummary] generating autosummary for: architecture.rst, authors.rst, calibration.rst, changelog.rst, contributing.rst, eula.rst, example.rst, index.rst, installation.rst, kmestimator.rst, migration.rst, performance.rst, pyramids.rst, readme.rst, source/laser.core.demographics.rst, source/laser.core.rst, source/modules.rst, spatialexample.rst, usage.rst, vdexample.rst building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 20 source files that are out of date updating environment: [new config] 20 added, 0 changed, 0 removed reading sources... [ 5%] architecture reading sources... [ 10%] authors reading sources... [ 15%] calibration reading sources... [ 20%] changelog reading sources... [ 25%] contributing reading sources... [ 30%] eula reading sources... [ 35%] example reading sources... [ 40%] index reading sources... [ 45%] installation reading sources... [ 50%] kmestimator reading sources... [ 55%] migration reading sources... [ 60%] performance reading sources... [ 65%] pyramids reading sources... [ 70%] readme reading sources... [ 75%] source/laser.core reading sources... [ 80%] source/laser.core.demographics reading sources... [ 85%] source/modules reading sources... [ 90%] spatialexample reading sources... [ 95%] usage reading sources... [100%] vdexample ../CHANGELOG.rst:76: WARNING: Inline substitution_reference start-string without end-string. [docutils] looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/checkouts/358/_readthedocs/html/_static/language_data.js Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/checkouts/358/_readthedocs/html/_static/basic.css Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/checkouts/358/_readthedocs/html/_static/documentation_options.js Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/institute-for-disease-modeling-laser/checkouts/358/_readthedocs/html/_static/alabaster.css copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 5%] architecture writing output... [ 10%] authors writing output... [ 15%] calibration writing output... [ 20%] changelog writing output... [ 25%] contributing writing output... [ 30%] eula writing output... [ 35%] example writing output... [ 40%] index writing output... [ 45%] installation writing output... [ 50%] kmestimator writing output... [ 55%] migration writing output... [ 60%] performance writing output... [ 65%] pyramids writing output... [ 70%] readme writing output... [ 75%] source/laser.core writing output... [ 80%] source/laser.core.demographics writing output... [ 85%] source/modules writing output... [ 90%] spatialexample writing output... [ 95%] usage writing output... [100%] vdexample generating indices... genindex py-modindex done highlighting module code... [ 9%] laser.core.demographics.kmestimator highlighting module code... [ 18%] laser.core.demographics.pyramid highlighting module code... [ 27%] laser.core.demographics.spatialpops highlighting module code... [ 36%] laser.core.distributions highlighting module code... [ 45%] laser.core.extension highlighting module code... [ 55%] laser.core.laserframe highlighting module code... [ 64%] laser.core.migration highlighting module code... [ 73%] laser.core.propertyset highlighting module code... [ 82%] laser.core.random highlighting module code... [ 91%] laser.core.sortedqueue highlighting module code... [100%] laser.core.utils writing additional pages... search done copying images... [ 25%] media/squash_save_load.png copying images... [ 50%] media/Nigeria-NDD.png copying images... [ 75%] media/Nigeria-2024.png copying images... [100%] media/Nigeria-Sampled.png dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 1 warning. The HTML pages are in ../_readthedocs/html.