Read the Docs build information Build id: 3814136 Project: icb-scanpy-tutorials Version: 222 Commit: 216d96bae1a1b2ba747df7118ddf30cbb1069d1a Date: 2026-03-09T18:05:17.015805Z State: finished Success: True [rtd-command-info] start-time: 2026-03-09T18:05:17.734745Z, end-time: 2026-03-09T18:05:24.331783Z, duration: 6, exit-code: 0 git clone --depth 1 https://github.com/scverse/scanpy-tutorials.git . Cloning into '.'... [rtd-command-info] start-time: 2026-03-09T18:05:24.416869Z, end-time: 2026-03-09T18:05:31.145207Z, duration: 6, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/222/head:external-222 From https://github.com/scverse/scanpy-tutorials * [new ref] refs/pull/222/head -> external-222 [rtd-command-info] start-time: 2026-03-09T18:05:31.970844Z, end-time: 2026-03-09T18:05:32.296851Z, duration: 0, exit-code: 0 git checkout --force 216d96bae1a1b2ba747df7118ddf30cbb1069d1a Note: switching to '216d96bae1a1b2ba747df7118ddf30cbb1069d1a'. 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 216d96b [pre-commit.ci] pre-commit autoupdate [rtd-command-info] start-time: 2026-03-09T18:05:32.373019Z, end-time: 2026-03-09T18:05:32.409019Z, duration: 0, exit-code: 0 cat .readthedocs.yml version: 2 build: os: ubuntu-24.04 tools: python: "3.13" sphinx: configuration: conf.py fail_on_warning: true python: install: - method: pip path: . [rtd-command-info] start-time: 2026-03-09T18:05:37.560152Z, end-time: 2026-03-09T18:05:37.616471Z, duration: 0, exit-code: 0 asdf global python 3.13.3 [rtd-command-info] start-time: 2026-03-09T18:05:38.001890Z, end-time: 2026-03-09T18:05:38.503790Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.13.3.final.0-64 in 280ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222, 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-03-09T18:05:38.586946Z, end-time: 2026-03-09T18:05:41.800416Z, duration: 3, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (23.1) Collecting pip Downloading pip-26.0.1-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 22.4 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (67.6.1) Collecting setuptools Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 114.6 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.1 [rtd-command-info] start-time: 2026-03-09T18:05:41.898200Z, end-time: 2026-03-09T18:05:46.211606Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Collecting sphinx Downloading sphinx-9.1.0-py3-none-any.whl.metadata (5.8 kB) Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB) Collecting Jinja2>=3.1 (from sphinx) Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) Collecting Pygments>=2.17 (from sphinx) Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB) Collecting docutils<0.23,>=0.21 (from sphinx) Downloading docutils-0.22.4-py3-none-any.whl.metadata (15 kB) Collecting snowballstemmer>=2.2 (from sphinx) Downloading snowballstemmer-3.0.1-py3-none-any.whl.metadata (7.9 kB) Collecting babel>=2.13 (from sphinx) Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB) Collecting alabaster>=0.7.14 (from sphinx) Downloading alabaster-1.0.0-py3-none-any.whl.metadata (2.8 kB) Collecting imagesize>=1.3 (from sphinx) Downloading imagesize-2.0.0-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB) Collecting roman-numerals>=1.0.0 (from sphinx) Downloading roman_numerals-4.1.0-py3-none-any.whl.metadata (3.3 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-26.0-py3-none-any.whl.metadata (3.3 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (39 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.30.0->sphinx) Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2017.4.17 (from requests>=2.30.0->sphinx) Downloading certifi-2026.2.25-py3-none-any.whl.metadata (2.5 kB) Downloading sphinx-9.1.0-py3-none-any.whl (3.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 67.0 MB/s 0:00:00 Downloading docutils-0.22.4-py3-none-any.whl (633 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.2/633.2 kB 1.0 GB/s 0:00:00 Downloading alabaster-1.0.0-py3-none-any.whl (13 kB) Downloading babel-2.18.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 296.3 MB/s 0:00:00 Downloading imagesize-2.0.0-py2.py3-none-any.whl (9.4 kB) Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) Downloading markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) Downloading packaging-26.0-py3-none-any.whl (74 kB) Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 967.5 MB/s 0:00:00 Downloading requests-2.32.5-py3-none-any.whl (64 kB) Downloading charset_normalizer-3.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (195 kB) Downloading idna-3.11-py3-none-any.whl (71 kB) Downloading urllib3-2.6.3-py3-none-any.whl (131 kB) Downloading certifi-2026.2.25-py3-none-any.whl (153 kB) Downloading roman_numerals-4.1.0-py3-none-any.whl (7.7 kB) Downloading snowballstemmer-3.0.1-py3-none-any.whl (103 kB) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 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.5 docutils-0.22.4 idna-3.11 imagesize-2.0.0 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-03-09T18:05:46.293681Z, end-time: 2026-03-09T18:05:56.401354Z, duration: 10, exit-code: 0 python -m pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir . 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 myst-nb (from scanpy-tutorials==0.1.dev50+g216d96bae) Downloading myst_nb-1.4.0-py3-none-any.whl.metadata (4.8 kB) Collecting scanpydoc>=0.13.4 (from scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading scanpydoc-0.17.3-py3-none-any.whl.metadata (2.6 kB) Requirement already satisfied: sphinx in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from scanpy-tutorials==0.1.dev50+g216d96bae) (9.1.0) Collecting sphinx-design (from scanpy-tutorials==0.1.dev50+g216d96bae) Downloading sphinx_design-0.7.0-py3-none-any.whl.metadata (5.5 kB) Collecting sphinx-book-theme>=1.1.0 (from scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading sphinx_book_theme-1.1.4-py3-none-any.whl.metadata (5.8 kB) Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.0.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.0.0) Requirement already satisfied: Jinja2>=3.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (3.1.6) Requirement already satisfied: Pygments>=2.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.19.2) Requirement already satisfied: docutils<0.23,>=0.21 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (0.22.4) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (3.0.1) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.18.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.0.0) Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.32.5) Requirement already satisfied: roman-numerals>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (4.1.0) Requirement already satisfied: packaging>=23.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (26.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from Jinja2>=3.1->sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (3.0.3) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from requests>=2.30.0->sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (3.4.5) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from requests>=2.30.0->sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (3.11) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from requests>=2.30.0->sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2.6.3) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/envs/222/lib/python3.13/site-packages (from requests>=2.30.0->sphinx->scanpy-tutorials==0.1.dev50+g216d96bae) (2026.2.25) Collecting pydata-sphinx-theme==0.15.4 (from sphinx-book-theme>=1.1.0->scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading pydata_sphinx_theme-0.15.4-py3-none-any.whl.metadata (7.5 kB) Collecting beautifulsoup4 (from pydata-sphinx-theme==0.15.4->sphinx-book-theme>=1.1.0->scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading beautifulsoup4-4.14.3-py3-none-any.whl.metadata (3.8 kB) Collecting accessible-pygments (from pydata-sphinx-theme==0.15.4->sphinx-book-theme>=1.1.0->scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading accessible_pygments-0.0.5-py3-none-any.whl.metadata (10 kB) Collecting typing-extensions (from pydata-sphinx-theme==0.15.4->sphinx-book-theme>=1.1.0->scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Collecting soupsieve>=1.6.1 (from beautifulsoup4->pydata-sphinx-theme==0.15.4->sphinx-book-theme>=1.1.0->scanpydoc[theme]>=0.13.4->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading soupsieve-2.8.3-py3-none-any.whl.metadata (4.6 kB) Collecting importlib_metadata (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading importlib_metadata-8.7.1-py3-none-any.whl.metadata (4.7 kB) Collecting ipython (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading ipython-9.11.0-py3-none-any.whl.metadata (4.5 kB) Collecting jupyter-cache>=0.5 (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jupyter_cache-1.0.1-py3-none-any.whl.metadata (5.8 kB) Collecting nbclient (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading nbclient-0.10.4-py3-none-any.whl.metadata (8.3 kB) Collecting myst-parser>=1.0.0 (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading myst_parser-5.0.0-py3-none-any.whl.metadata (5.6 kB) Collecting nbformat>=5.0 (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB) Collecting pyyaml (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) Collecting ipykernel (from myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading ipykernel-7.2.0-py3-none-any.whl.metadata (4.5 kB) Collecting attrs (from jupyter-cache>=0.5->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading attrs-25.4.0-py3-none-any.whl.metadata (10 kB) Collecting click (from jupyter-cache>=0.5->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB) Collecting sqlalchemy<3,>=1.3.12 (from jupyter-cache>=0.5->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading sqlalchemy-2.0.48-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) Collecting tabulate (from jupyter-cache>=0.5->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading tabulate-0.10.0-py3-none-any.whl.metadata (40 kB) Collecting greenlet>=1 (from sqlalchemy<3,>=1.3.12->jupyter-cache>=0.5->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading greenlet-3.3.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.7 kB) Collecting markdown-it-py~=4.0 (from myst-parser>=1.0.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB) Collecting mdit-py-plugins~=0.5 (from myst-parser>=1.0.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading mdit_py_plugins-0.5.0-py3-none-any.whl.metadata (2.8 kB) Collecting mdurl~=0.1 (from markdown-it-py~=4.0->myst-parser>=1.0.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) Collecting jupyter-client>=6.1.12 (from nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jupyter_client-8.8.0-py3-none-any.whl.metadata (8.4 kB) Collecting jupyter-core!=5.0.*,>=4.12 (from nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jupyter_core-5.9.1-py3-none-any.whl.metadata (1.5 kB) Collecting traitlets>=5.4 (from nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB) Collecting python-dateutil>=2.8.2 (from jupyter-client>=6.1.12->nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting pyzmq>=25.0 (from jupyter-client>=6.1.12->nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (6.0 kB) Collecting tornado>=6.4.1 (from jupyter-client>=6.1.12->nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.8 kB) Collecting platformdirs>=2.5 (from jupyter-core!=5.0.*,>=4.12->nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading platformdirs-4.9.4-py3-none-any.whl.metadata (4.7 kB) Collecting fastjsonschema>=2.15 (from nbformat>=5.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading fastjsonschema-2.21.2-py3-none-any.whl.metadata (2.3 kB) Collecting jsonschema>=2.6 (from nbformat>=5.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB) Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=5.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB) Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=5.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB) Collecting rpds-py>=0.25.0 (from jsonschema>=2.6->nbformat>=5.0->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB) Collecting six>=1.5 (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->nbclient->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) Collecting zipp>=3.20 (from importlib_metadata->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB) Collecting comm>=0.1.1 (from ipykernel->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading comm-0.2.3-py3-none-any.whl.metadata (3.7 kB) Collecting debugpy>=1.6.5 (from ipykernel->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl.metadata (1.4 kB) Collecting matplotlib-inline>=0.1 (from ipykernel->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading matplotlib_inline-0.2.1-py3-none-any.whl.metadata (2.3 kB) Collecting nest-asyncio>=1.4 (from ipykernel->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB) Collecting psutil>=5.7 (from ipykernel->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB) Collecting decorator>=5.1.0 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB) Collecting ipython-pygments-lexers>=1.0.0 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl.metadata (1.1 kB) Collecting jedi>=0.18.2 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB) Collecting pexpect>4.6 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB) Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB) Collecting stack_data>=0.6.0 (from ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading stack_data-0.6.3-py3-none-any.whl.metadata (18 kB) Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading wcwidth-0.6.0-py3-none-any.whl.metadata (30 kB) Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.18.2->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading parso-0.8.6-py2.py3-none-any.whl.metadata (8.4 kB) Collecting ptyprocess>=0.5 (from pexpect>4.6->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB) Collecting executing>=1.2.0 (from stack_data>=0.6.0->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading executing-2.2.1-py2.py3-none-any.whl.metadata (8.9 kB) Collecting asttokens>=2.1.0 (from stack_data>=0.6.0->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading asttokens-3.0.1-py3-none-any.whl.metadata (4.9 kB) Collecting pure-eval (from stack_data>=0.6.0->ipython->myst-nb->scanpy-tutorials==0.1.dev50+g216d96bae) Downloading pure_eval-0.2.3-py3-none-any.whl.metadata (6.3 kB) Downloading scanpydoc-0.17.3-py3-none-any.whl (37 kB) Downloading sphinx_book_theme-1.1.4-py3-none-any.whl (433 kB) Downloading pydata_sphinx_theme-0.15.4-py3-none-any.whl (4.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.6/4.6 MB 142.6 MB/s 0:00:00 Downloading accessible_pygments-0.0.5-py3-none-any.whl (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 257.8 MB/s 0:00:00 Downloading beautifulsoup4-4.14.3-py3-none-any.whl (107 kB) Downloading soupsieve-2.8.3-py3-none-any.whl (37 kB) Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) Downloading myst_nb-1.4.0-py3-none-any.whl (82 kB) Downloading jupyter_cache-1.0.1-py3-none-any.whl (33 kB) Downloading sqlalchemy-2.0.48-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 156.8 MB/s 0:00:00 Downloading greenlet-3.3.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (616 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 616.8/616.8 kB 809.2 MB/s 0:00:00 Downloading myst_parser-5.0.0-py3-none-any.whl (84 kB) Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB) Downloading mdit_py_plugins-0.5.0-py3-none-any.whl (57 kB) Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) Downloading nbclient-0.10.4-py3-none-any.whl (25 kB) Downloading jupyter_client-8.8.0-py3-none-any.whl (107 kB) Downloading jupyter_core-5.9.1-py3-none-any.whl (29 kB) Downloading nbformat-5.10.4-py3-none-any.whl (78 kB) Downloading fastjsonschema-2.21.2-py3-none-any.whl (24 kB) Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB) Downloading attrs-25.4.0-py3-none-any.whl (67 kB) Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) Downloading platformdirs-4.9.4-py3-none-any.whl (21 kB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Downloading pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (840 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 841.0/841.0 kB 82.7 MB/s 0:00:00 Downloading referencing-0.37.0-py3-none-any.whl (26 kB) Downloading rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394 kB) Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) Downloading 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) Downloading traitlets-5.14.3-py3-none-any.whl (85 kB) Downloading click-8.3.1-py3-none-any.whl (108 kB) Downloading importlib_metadata-8.7.1-py3-none-any.whl (27 kB) Downloading zipp-3.23.0-py3-none-any.whl (10 kB) Downloading ipykernel-7.2.0-py3-none-any.whl (118 kB) Downloading comm-0.2.3-py3-none-any.whl (7.3 kB) Downloading debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl (4.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 102.2 MB/s 0:00:00 Downloading ipython-9.11.0-py3-none-any.whl (624 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 624.2/624.2 kB 859.4 MB/s 0:00:00 Downloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB) Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB) Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB) Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 682.0 MB/s 0:00:00 Downloading parso-0.8.6-py2.py3-none-any.whl (106 kB) Downloading matplotlib_inline-0.2.1-py3-none-any.whl (9.5 kB) Downloading nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB) Downloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB) Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB) Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Downloading stack_data-0.6.3-py3-none-any.whl (24 kB) Downloading asttokens-3.0.1-py3-none-any.whl (27 kB) Downloading executing-2.2.1-py2.py3-none-any.whl (28 kB) Downloading pure_eval-0.2.3-py3-none-any.whl (11 kB) Downloading pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 801.6/801.6 kB 442.4 MB/s 0:00:00 Downloading sphinx_design-0.7.0-py3-none-any.whl (2.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 221.0 MB/s 0:00:00 Downloading tabulate-0.10.0-py3-none-any.whl (39 kB) Downloading wcwidth-0.6.0-py3-none-any.whl (94 kB) Building wheels for collected packages: scanpy-tutorials Building wheel for scanpy-tutorials (pyproject.toml): started Building wheel for scanpy-tutorials (pyproject.toml): finished with status 'done' Created wheel for scanpy-tutorials: filename=scanpy_tutorials-0.1.dev50+g216d96bae-py3-none-any.whl size=2131 sha256=353a5780c873aeb15b4246b7e82147f7697fab38cd9edb6ec41294028a86dc80 Stored in directory: /tmp/pip-ephem-wheel-cache-263jafl7/wheels/07/b8/44/03116a6045dcf2c3b9141e61066cb3fa4904c88989c908dee3 Successfully built scanpy-tutorials Installing collected packages: pure-eval, ptyprocess, fastjsonschema, zipp, wcwidth, typing-extensions, traitlets, tornado, tabulate, soupsieve, six, rpds-py, pyzmq, pyyaml, psutil, platformdirs, pexpect, parso, nest-asyncio, mdurl, ipython-pygments-lexers, greenlet, executing, decorator, debugpy, comm, click, attrs, asttokens, accessible-pygments, stack_data, sqlalchemy, referencing, python-dateutil, prompt_toolkit, matplotlib-inline, markdown-it-py, jupyter-core, jedi, importlib_metadata, beautifulsoup4, sphinx-design, scanpydoc, pydata-sphinx-theme, mdit-py-plugins, jupyter-client, jsonschema-specifications, ipython, sphinx-book-theme, myst-parser, jsonschema, ipykernel, nbformat, nbclient, jupyter-cache, myst-nb, scanpy-tutorials Successfully installed accessible-pygments-0.0.5 asttokens-3.0.1 attrs-25.4.0 beautifulsoup4-4.14.3 click-8.3.1 comm-0.2.3 debugpy-1.8.20 decorator-5.2.1 executing-2.2.1 fastjsonschema-2.21.2 greenlet-3.3.2 importlib_metadata-8.7.1 ipykernel-7.2.0 ipython-9.11.0 ipython-pygments-lexers-1.1.1 jedi-0.19.2 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 jupyter-cache-1.0.1 jupyter-client-8.8.0 jupyter-core-5.9.1 markdown-it-py-4.0.0 matplotlib-inline-0.2.1 mdit-py-plugins-0.5.0 mdurl-0.1.2 myst-nb-1.4.0 myst-parser-5.0.0 nbclient-0.10.4 nbformat-5.10.4 nest-asyncio-1.6.0 parso-0.8.6 pexpect-4.9.0 platformdirs-4.9.4 prompt_toolkit-3.0.52 psutil-7.2.2 ptyprocess-0.7.0 pure-eval-0.2.3 pydata-sphinx-theme-0.15.4 python-dateutil-2.9.0.post0 pyyaml-6.0.3 pyzmq-27.1.0 referencing-0.37.0 rpds-py-0.30.0 scanpy-tutorials-0.1.dev50+g216d96bae scanpydoc-0.17.3 six-1.17.0 soupsieve-2.8.3 sphinx-book-theme-1.1.4 sphinx-design-0.7.0 sqlalchemy-2.0.48 stack_data-0.6.3 tabulate-0.10.0 tornado-6.5.4 traitlets-5.14.3 typing-extensions-4.15.0 wcwidth-0.6.0 zipp-3.23.0 [rtd-command-info] start-time: 2026-03-09T18:05:56.534828Z, end-time: 2026-03-09T18:05:56.570349Z, duration: 0, exit-code: 0 cat conf.py from __future__ import annotations import os from datetime import UTC, datetime from importlib.metadata import metadata from types import MappingProxyType from typing import TYPE_CHECKING, ClassVar from docutils import nodes from sphinx import addnodes from sphinx.domains import Domain from sphinx.errors import NoUri from sphinx.ext.intersphinx import resolve_reference_in_inventory from sphinx.util.docutils import SphinxDirective if TYPE_CHECKING: from collections.abc import Mapping, Sequence from docutils.parsers.rst.states import Inliner from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment meta = metadata("scanpy-tutorials") project = meta["Name"] author = meta["Author"] copyright = f"{datetime.now(UTC):%Y}, {author}" # noqa: A001 release = version = meta["Version"] extensions = ["myst_nb", "sphinx.ext.intersphinx", "sphinx_design"] myst_enable_extensions = [ "colon_fence", ] templates_path = ["_templates"] source_suffix = ".rst" master_doc = "index" language = "en" exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints", "scanpy_workshop", ".*cache"] pygments_style = "sphinx" intersphinx_mapping = dict( anndata=("https://anndata.readthedocs.io/en/stable/", None), scanpy=("https://scanpy.readthedocs.io/en/latest/", None), ) suppress_warnings = ["image.not_readable"] # -- Options for HTML output ---------------------------------------------- html_theme = "scanpydoc" html_theme_options = dict( repository_url="https://github.com/theislab/scanpy-tutorials", repository_branch="master", use_repository_button=True, ) html_static_path = ["_static"] # include a warning background on RTD for everything but PR builds html_css_files = ( ["css/warning.css"] if os.environ.get("READTHEDOCS") and os.environ.get("READTHEDOCS_VERSION_TYPE") != "external" else [] ) html_logo = "_static/img/Scanpy_Logo_BrightFG.svg" # -- Notebook settings ---------------------------------------------------- nb_execution_mode = "off" nb_output_stderr = "remove" myst_heading_anchors = 3 suppress_warnings = [ # paga-paul15.ipynb: /_static/img/tutorials/paga_planaria.png "image.not_readable", # application/vnd.microsoft.datawrangler.viewer.v0+json "mystnb.unknown_mime_type", ] # Roles “implementing” {cite}`…` and {cite:p}`…`/{cite:t}`…` def fake_cite( name: str, rawtext: str, text: str, lineno: int, inliner: Inliner, options: Mapping[str, object] = MappingProxyType({}), content: Sequence[str] = (), ) -> tuple[list[nodes.Node], list[str]]: del name, lineno, options, content msg = f"cite:{text}" return [ inliner.document.reporter.info(msg), nodes.emphasis(rawtext, f"[{text}]"), ], [] class FakeDomain(Domain): name: ClassVar = "cite" roles: ClassVar = dict(p=fake_cite, t=fake_cite) # Role linking to the canonical location in scanpy’s docs MSG = ( "Please access this document in its canonical location as the currently accessed page may not be rendered correctly" ) class CanonicalTutorial(SphinxDirective): required_arguments = 1 has_content = False def run(self) -> list[nodes.Node]: """\ Return a banner with a link to the canonical location. If the reference cannot be found, crash the build. """ text = self.arguments[0] ref = resolve_reference_in_inventory( self.env, "scanpy", addnodes.pending_xref("", reftype="doc", refdomain="std", reftarget=text), nodes.inline("", text), ) if ref is None: msg = f"Reference to scanpy:{text} not found" raise self.warning(msg) desc = nodes.inline("", f"{MSG}: ") banner = nodes.danger( text, nodes.paragraph("", "", desc, ref), classes=["admonition", "caution"], ) return [banner] def missing_reference( app: Sphinx, env: BuildEnvironment, node: addnodes.pending_xref, contnode: nodes.TextElement, ) -> nodes.Node | None: del app, env, contnode # ignore known scanpy labels if node["reftarget"] in { "external-data-integration", "eco-data-integration", "pl-embeddings", } or node["reftarget"].startswith("/tutorials"): raise NoUri return None def setup(app: Sphinx) -> None: app.add_domain(FakeDomain) app.add_role("cite", fake_cite) app.add_directive("canonical-tutorial", CanonicalTutorial) app.connect("missing-reference", missing_reference) [rtd-command-info] start-time: 2026-03-09T18:05:56.654597Z, end-time: 2026-03-09T18:06:02.652502Z, duration: 5, exit-code: 0 python -m sphinx -T -W --keep-going -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html Running Sphinx v9.1.0 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. myst v5.0.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions={'colon_fence'}, disable_syntax=[], all_links_external=False, links_external_new_tab=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), number_code_blocks=[], title_to_header=False, heading_anchors=3, heading_slug_func=None, html_meta={}, footnote_sort=True, footnote_transition=True, words_per_minute=200, substitutions={}, linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True) myst-nb v1.4.0: NbParserConfig(custom_formats={}, metadata_key='mystnb', cell_metadata_key='mystnb', kernel_rgx_aliases={}, eval_name_regex='^[a-zA-Z_][a-zA-Z0-9_]*$', execution_mode='off', execution_cache_path='', execution_excludepatterns=(), execution_timeout=30, execution_in_temp=False, execution_allow_errors=False, execution_raise_on_error=False, execution_show_tb=False, merge_streams=False, render_plugin='default', remove_code_source=False, remove_code_outputs=False, scroll_outputs=False, code_prompt_show='Show code cell {type}', code_prompt_hide='Hide code cell {type}', number_source_lines=False, output_stderr='remove', render_text_lexer='myst-ansi', render_error_lexer='ipythontb', render_image_options={}, render_figure_options={}, render_markdown_format='commonmark', output_folder='build', append_css=True, metadata_to_fm=False) Using jupyter-cache at: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/checkouts/222/_readthedocs/.jupyter_cache loading intersphinx inventory 'anndata' from https://anndata.readthedocs.io/en/stable/objects.inv ... loading intersphinx inventory 'scanpy' from https://scanpy.readthedocs.io/en/latest/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 16 source files that are out of date updating environment: [new config] 16 added, 0 changed, 0 removed reading sources... [ 6%] README reading sources... [ 12%] basic-scrna-tutorial reading sources... [ 19%] dask reading sources... [ 25%] how-to/cell-cycle reading sources... [ 31%] how-to/knn-transformers reading sources... [ 38%] how-to/plotting-with-marsilea reading sources... [ 44%] index reading sources... [ 50%] integrating-data-using-ingest reading sources... [ 56%] paga-paul15 reading sources... [ 62%] pbmc3k reading sources... [ 69%] plotting/advanced reading sources... [ 75%] plotting/core reading sources... [ 81%] spatial/basic-analysis reading sources... [ 88%] spatial/integration-scanorama reading sources... [ 94%] tutorial_pearson_residuals reading sources... [100%] visualizing-marker-genes 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/icb-scanpy-tutorials/checkouts/222/_readthedocs/html/_static/basic.css Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/checkouts/222/_readthedocs/html/_static/language_data.js Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy-tutorials/checkouts/222/_readthedocs/html/_static/documentation_options.js copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 6%] README writing output... [ 12%] basic-scrna-tutorial writing output... [ 19%] dask writing output... [ 25%] how-to/cell-cycle writing output... [ 31%] how-to/knn-transformers writing output... [ 38%] how-to/plotting-with-marsilea writing output... [ 44%] index writing output... [ 50%] integrating-data-using-ingest writing output... [ 56%] paga-paul15 writing output... [ 62%] pbmc3k writing output... [ 69%] plotting/advanced writing output... [ 75%] plotting/core writing output... [ 81%] spatial/basic-analysis writing output... [ 88%] spatial/integration-scanorama writing output... [ 94%] tutorial_pearson_residuals writing output... [100%] visualizing-marker-genes generating indices... genindex done writing additional pages... search done copying images... [ 1%] _readthedocs/jupyter_execute/2369cb7f97a8853b39251e0ca2ccae217e8613cbea0bf8c599d13adfed54622b.png copying images... [ 1%] _readthedocs/jupyter_execute/3385e74bc3cd67483b2cc40687bbe1089c590fd399799f887c24323ea25ea637.png copying images... [ 2%] _readthedocs/jupyter_execute/83a982f840b154da4420735c806689e16b150ad10ab64372e4ad9c0404390dd3.png copying images... [ 2%] _readthedocs/jupyter_execute/9a168f2d7a68905521ea3fb1ef5a0ac2a22d65e6a5e7c3796a55da1c24c28cb1.png copying images... [ 3%] _readthedocs/jupyter_execute/bd436a0a79afac682ff8132b32d4c90d3f74738d57e07f5743a03a55d9f82f68.png copying images... [ 4%] _readthedocs/jupyter_execute/12e4e27cf02e408effd640d9a5846b20c0b4ea4856511e9af58f5743897aaf38.png copying images... [ 4%] _readthedocs/jupyter_execute/e77d6bf9cd6e938808b2d57ffd8840f0d1aa27233c819a4f8f7b9fdd1d6a44cb.png copying images... [ 5%] _readthedocs/jupyter_execute/610d17bf258b0cc0d840713ebac7867cf292c626df2e807ebd78b459a03ebd28.png copying images... [ 6%] _readthedocs/jupyter_execute/08cb70daba840353bbf8529bf9f27d6121451a8200114c5b77f581df4bbf1a7b.png copying images... [ 6%] _readthedocs/jupyter_execute/2b92963adeb5c28502e023b24967f509deb537d668944e8bec22585c1e66e341.png copying images... [ 7%] _readthedocs/jupyter_execute/7c615842aa3a955f46581c1333bbb91b74a2fb9d38b7f18966a67a39cb1ce0f2.png copying images... [ 8%] _readthedocs/jupyter_execute/17e024239d09ec7c14e90bdb43ea70d7959aab70f7e5d3d2f1620a8f96b77809.png copying images... [ 8%] _readthedocs/jupyter_execute/e103233bd60eaaf71b1bee1293d49a4732a3e96a1e206df311d8166de065a188.png copying images... [ 9%] _readthedocs/jupyter_execute/d016caf498b3b59f81afddca30abfa1354fc0d904eaa8c69776bf7c4e305996e.png copying images... [ 9%] _readthedocs/jupyter_execute/7280e7628c2d51572ba50bdeb1600d6b8579ff7c9fab4536e4a730b1904a789a.png copying images... [ 10%] _readthedocs/jupyter_execute/7892b8f497b868bf4353f873b5762e96e73c1fa06356dbf9e971f51c5e41aa37.png copying images... [ 11%] _readthedocs/jupyter_execute/1d57a6a6f897c88b6acfc435bbfeb70798036d973008ed199b9b93305844c407.png copying images... [ 11%] _readthedocs/jupyter_execute/9201238033dc3d71525ffa4c3fd342931493cbc4154f10dad379a148746ccc9b.png copying images... [ 12%] _readthedocs/jupyter_execute/ad8d8a4b869e02ab2b2ca1c0cddab9f8150214bfc27e6036a49ab5d854f5983c.png copying images... [ 12%] _readthedocs/jupyter_execute/ba1422e2b60f77f4c59fc07a3c5ba6e7f359b149f5b44d7efe832e736794d28e.png copying images... [ 13%] _readthedocs/jupyter_execute/2ad8c5624f6b1b9c504a9523579d15ea2f93a9fd5b609091b38786f953fe046b.png copying images... [ 14%] _readthedocs/jupyter_execute/da883131a1fe9eb22a8c860e07c36a34e00e64e4442b006d9dde552fc2a40ead.png copying images... [ 14%] _readthedocs/jupyter_execute/d81354fd0bdf8a72378abcefbc182d8285486fa17d8bd53f0c1f47b6cd1d28c4.png copying images... [ 15%] _readthedocs/jupyter_execute/2d213968ea3f453f2cae74ae49e17f1fec45a53a476ae046b14010f283eda1a7.png copying images... [ 16%] _readthedocs/jupyter_execute/4d8511ed85ad86dbf378823408503c528a42a79cd98b0e04f7be0f949decd72d.png copying images... [ 16%] _readthedocs/jupyter_execute/4391834d507f58697345693f7e02b03afbb9057c3fe0d8386df4a8596d54803d.png copying images... [ 17%] _readthedocs/jupyter_execute/e1ed4633b95cd6bec57e431a9b5349d46a96ac78dd24940d173cd3fca0428694.png copying images... [ 18%] _readthedocs/jupyter_execute/a8fd5ce09328052fe68df76c87130f355b9a63a46d81cbfd679a2c87cb6ab4e7.png copying images... [ 18%] _readthedocs/jupyter_execute/28915039aa4b875685c8d73a7139b94924f2a96e9041916eaeb5d593c3bace11.png copying images... [ 19%] _readthedocs/jupyter_execute/d4527a4e03bbd6fe4dd09c91d02efc2faf580783935ae9bb5a222db257521af8.png copying images... [ 19%] _readthedocs/jupyter_execute/6c8974cc011958acd47098c3a1a932191a7876764f737b820d16390a5ec783ac.png copying images... [ 20%] _readthedocs/jupyter_execute/30aa821349148a81487ab563d4a6a75e3c0e020dca4fb21b0139509cfceea398.png copying images... [ 21%] _readthedocs/jupyter_execute/3f2faaf30df23cf5c7dc5a27dc4d9e4de270fa4e9c4e5e26fbec40d1c0c387ce.png copying images... [ 21%] _readthedocs/jupyter_execute/e99df2c4982238793f5b4ac08047e40a7678573d6271fca7f7745ec296d115d9.png copying images... [ 22%] _readthedocs/jupyter_execute/d98c6dde98a2b75c80d393a309920062f038c5c38183705b573c8e3b538a38b9.png copying images... [ 22%] _readthedocs/jupyter_execute/61fa512d676d7e19397cd18d4333e7429601886e60f2d54178db1bcdb8e89880.png copying images... [ 23%] _readthedocs/jupyter_execute/7a6bd5a47fad48feef0b93724055e620e7500410149d6bca969c6b72f9857b6c.png copying images... [ 24%] _readthedocs/jupyter_execute/b9b0f6d973000a37268783e706bfbb973a9817010756dfd5fb4652496a2a8fb9.png copying images... [ 24%] _readthedocs/jupyter_execute/628660e3a52a692ea4efaddc5db8b60a1a10880a63a27602a8e82350aaff529a.png copying images... [ 25%] _readthedocs/jupyter_execute/fa0c98ce178a6f4397cff03e594908df66ade84306568b7660e14258413e837c.png copying images... [ 26%] _readthedocs/jupyter_execute/b29e2eca5649a24042512f543f420cc021b77b8b9412c5bf77e1529588f06125.png copying images... [ 26%] _readthedocs/jupyter_execute/effe244049eb70377b606638583e2122c66538497cc7b1509820624883ea8580.png copying images... [ 27%] _readthedocs/jupyter_execute/199cd4d8abf199025931fd9fd2a043006cf2499cdd39ec71938a70db7ca91073.png copying images... [ 28%] _readthedocs/jupyter_execute/8f933a8f5774c68d14c62f9eaba449929338793be23ab1fc2b74fd6d3abff70b.png copying images... [ 28%] _readthedocs/jupyter_execute/2592ae333c0e7528751820f8406144b1f4aaf8eadee0dd37578ddbfb4b80ec08.png copying images... [ 29%] _readthedocs/jupyter_execute/44ce029c56c32532a6decdf808dd4e4f6b4e41dfad3597791df4a2763b9188cb.png copying images... [ 29%] _readthedocs/jupyter_execute/43f8eabe0205c95dc1674637d23c1a4912c9de0f0b874fb8fda2d9e61377a492.png copying images... [ 30%] _readthedocs/jupyter_execute/8d249fd99ddebeb2f583b36f78d8b745ef118be493cdc158ab0b18ee904fb8aa.png copying images... [ 31%] _readthedocs/jupyter_execute/6c3b6c2fef8ccfbbaa0b16b5baa60d3ce29c14b5d1703c87f6cea468813577a5.png copying images... [ 31%] _readthedocs/jupyter_execute/86278d709cf8712744109ad897a4c314d2ce612cf45f807bd702a3786a0d9d68.png copying images... [ 32%] _readthedocs/jupyter_execute/7ab7710568efacc3fcbcc8db7885b30e22db6ad7378ff0066a5bba5f361e065b.png copying images... [ 32%] _readthedocs/jupyter_execute/8107930e37d0eafac40456afc53660e627a7e8aff939fdad1739e6c92b339ca1.png copying images... [ 33%] _readthedocs/jupyter_execute/fe4652b5bd85c01a706bcc93db6c339dd350de04d627e4ef5fca03de302e6645.png copying images... [ 34%] _readthedocs/jupyter_execute/2790ff5a1d746af5c3cddd2b9f6a01dffc82af62fa724a41dba40310b072dadb.png copying images... [ 34%] _readthedocs/jupyter_execute/1c3c62cdb30781ddde75b5168f150794c33e30a2eac387a07c59109d806a8af1.png copying images... [ 35%] _readthedocs/jupyter_execute/ce00e90fb7bec4e416b07a495c303c0bb48c5e3322abe38320b4f98e4c7bf8c7.png copying images... [ 36%] _readthedocs/jupyter_execute/b33128be615a2b323623ecc32c332bab41abbe66c9e4d92e29b14f7e2a65c25f.png copying images... [ 36%] _readthedocs/jupyter_execute/a785da9a2a7b016091062159786f39353ea020780d58f478c874cd068037a82f.png copying images... [ 37%] _readthedocs/jupyter_execute/6922a7ae96be672bcf25f5ae2b5461a6edce80dc0ae0c8b2545ab7a2b6cdf33b.png copying images... [ 38%] _readthedocs/jupyter_execute/7a7d1bfab01e7b0068e7ee926964efeb8d89ffd1cd1b845768be6a7d08e230d2.png copying images... [ 38%] _readthedocs/jupyter_execute/e1f3cb4f01fdc24afcbd9ed1b8e820fc53a57b919830e78473855a6706b6ca8d.png copying images... [ 39%] _readthedocs/jupyter_execute/4632938fb4db7519939461a858c1030d618b13b23a2d3c2ed4da00637d2764d9.png copying images... [ 39%] _readthedocs/jupyter_execute/e2b6fba2faaec41ee9da18283a730844ba9e2eab5a876d3e7c8bb2811df11c01.png copying images... [ 40%] _readthedocs/jupyter_execute/88aa4fcc109c878a374a7361bbf99b87b1c3ee5ad41957c3c695ade45960c104.png copying images... [ 41%] _readthedocs/jupyter_execute/70675aebfc80dcc9fc70fb92aa56f1262c94fc1f42438391d3f5b29d971e2106.png copying images... [ 41%] _readthedocs/jupyter_execute/3a9d72ea573f04a7eb5ee2f1ef2ba2927e434ab65fad265b993a0350053f34db.png copying images... [ 42%] _readthedocs/jupyter_execute/d2237124534fa2abfee97367a26620a9ff3898e6f0091608f6e5c06b9562c509.png copying images... [ 42%] _readthedocs/jupyter_execute/b70775c7fa5fbbb119b9ce5cd9c829177e17a29336ff12221903431ddbdb1d89.png copying images... [ 43%] _readthedocs/jupyter_execute/9309793bba6f25f718659e6ad9c686807b635ecf2fad7aae7c45cbef5ebe8170.png copying images... [ 44%] _readthedocs/jupyter_execute/019de1cdde7388e76e22ab5f4c813b4a2513c977f75ff179e148db6c183dbe61.png copying images... [ 44%] _readthedocs/jupyter_execute/b3514cbca07c9d355f66075ace5d4a16aacb62f6147dcd62a736f1e937938bbd.png copying images... [ 45%] _readthedocs/jupyter_execute/58a1e8c7549f5784c7d394c45d782825e39f1bdf074e3fdded8f85138303dbb8.png copying images... [ 46%] _readthedocs/jupyter_execute/f70cfa87abeee08705f1c0f68850c7f473f43cd828bd61d505236881b3929ea3.png copying images... [ 46%] _readthedocs/jupyter_execute/18bc84a5f8b79b26336676391d299a04a557a748cf1d07ed08e6e8cac7da4c96.png copying images... [ 47%] _readthedocs/jupyter_execute/db7abd6c2ccafd0838aad46c2bc2b048630dbb12171d5517102e5c05ff61195e.png copying images... [ 48%] _readthedocs/jupyter_execute/dfecea44c594db8a640293ba3b83b768f0f8fffb11feb06bb02a9db87ac88f07.png copying images... [ 48%] _readthedocs/jupyter_execute/dd9bd20407057e3f381a408e020551eab4a8158f49ffb9a4a5df3182d2245762.png copying images... [ 49%] _readthedocs/jupyter_execute/5894ed27c5482d0a22c852ad7ec122674a5403866dfc7b981dc53aaa358cd43c.png copying images... [ 49%] _readthedocs/jupyter_execute/9dde4846823e894d0bd646d737d64babb11955d44121dd294a676ecda2030ff7.png copying images... [ 50%] _readthedocs/jupyter_execute/56b1242b1fc93eb876458f16b792cfc8f378a7ecc1fd970d8a885833f3d7a134.png copying images... [ 51%] _readthedocs/jupyter_execute/75e95ac30061d0a6c4b5bbf3d3e5a9680b19ff08269fe2d8ea59ab10a023914e.png copying images... [ 51%] _readthedocs/jupyter_execute/71c776827198f5562510afe4c17873f7d10a2a35357ffe4aeaa128a78e788e1b.png copying images... [ 52%] _readthedocs/jupyter_execute/2d65107bba327ff05ed6987cc4c2777b641bed01c1ba09b6cc252a8e67c11998.png copying images... [ 52%] _readthedocs/jupyter_execute/656a59ad999749dafe447f6f02f9dc776d629197c94870a322466e09d20cb963.png copying images... [ 53%] _readthedocs/jupyter_execute/1e16be2728eeb5c9ab9542cc63fb3644e3b7c76f944de373115f046e2bddaa41.png copying images... [ 54%] _readthedocs/jupyter_execute/00e09d35a6edfcfa22e4469241715ce73a888cecd411514d94cd40d382f41e22.png copying images... [ 54%] _readthedocs/jupyter_execute/fec4e153d5cfd92a83fcba1cc62c2cdec87e8e91e1cb6f6b083ba8bf0f20f406.png copying images... [ 55%] _readthedocs/jupyter_execute/5a26fa44dcc471d706f3f7ecf801d3cf31743edbb836a393073e937ab85c7237.png copying images... [ 56%] _readthedocs/jupyter_execute/a7ed97e5192d909da6c3aef055bd93d31530c357a5110bf8219524f59aea1f47.png copying images... [ 56%] _readthedocs/jupyter_execute/114213c032705aeaf87f170cedba7f54024e21f20b59eff12c40067b3eff9d64.png copying images... [ 57%] _readthedocs/jupyter_execute/4b80a8ebb2fe694a361810d5829ad423339dec1272a186549a7f918f37259dd9.png copying images... [ 57%] _readthedocs/jupyter_execute/0f9a0935c010d0ca3f3e91c8fa02275b0be7c9ee8e544f273cbb72a6a0ce3350.png copying images... [ 58%] _readthedocs/jupyter_execute/03cce8ccfd5513f7ddc46190831f275b68395b19629c77570c13b7bb2ef5c0fd.png copying images... [ 59%] _readthedocs/jupyter_execute/95d4d301cb8d8f1010e6cd414b366f4226bcaa19ee061e88e0366e862ceca920.png copying images... [ 59%] _readthedocs/jupyter_execute/d5a3a68c99b881daa67c137c3d7bc76e191396f0a10909e3c86a00a4a5c3075c.png copying images... [ 60%] _readthedocs/jupyter_execute/fc25f73c02ceb1211cb72c585ad3dc7b21852f9c79f8a4477e41a704f851dbaf.png copying images... [ 61%] _readthedocs/jupyter_execute/f8a3a5f206cfdbc8fb57787377fb9f7ed9aee4755e69529878a36325eb9d9d3e.png copying images... [ 61%] _readthedocs/jupyter_execute/014721e47639c9d7f9c1d1a707959e3c7d87bee55dab814b24034ef26bee0cd8.png copying images... [ 62%] _readthedocs/jupyter_execute/82bf8185351514bbacde2d71cdbed19bd39ad9914092251bd40b07b1cc9ec0dc.png copying images... [ 62%] _readthedocs/jupyter_execute/47e219415022be69ebab4ddc0dc565d07df0d0e7ec71e622d328381286b0cdb3.png copying images... [ 63%] _readthedocs/jupyter_execute/bc2843555a0c778a2bc285fea5f772e8357d4f62eff7531e77a08e1c58094456.png copying images... [ 64%] _readthedocs/jupyter_execute/3a82d437cedadd52481ef022d5d5ac673e0870db60f66a000e7c06be9804b29d.png copying images... [ 64%] _readthedocs/jupyter_execute/a04173d282b7225af891853648454277c62aa658e3ed12b0e5a82cbdb2bc1bbf.png copying images... [ 65%] _readthedocs/jupyter_execute/c1e530b06deed8e1a2861304d545d88ceaa563443748219fc5782a11bfed8bab.png copying images... [ 66%] _readthedocs/jupyter_execute/2c9701ef266c8b3b9490dcb11623e4e2a3d69eaadb9f187953a8c0613a65ad00.png copying images... [ 66%] _readthedocs/jupyter_execute/d4f91a929016b982fdee738f747f0a8d1809c43e7e3d33245259adb7b1338791.png copying images... [ 67%] _readthedocs/jupyter_execute/b083f58cdecea3e188f5448696676033caad5295288a66e6200fe35079cd4cec.png copying images... [ 68%] _readthedocs/jupyter_execute/ab8ceac0ade73d69c35dae952929be9a16a21b7e5a9612e76511dcf341274cad.png copying images... [ 68%] _readthedocs/jupyter_execute/d9dcabc0cdd72d9908378b6689153e8b23c803c4078439c92b6aeb3e47787a58.png copying images... [ 69%] _readthedocs/jupyter_execute/08940b0dd5b929575cafae1e9d952d7177831ff7796a50edc2331e78b7ec073d.png copying images... [ 69%] _readthedocs/jupyter_execute/352f3ecd06ce5d90c523472f90e001df88d69becc556dba6dfd4aaaceea7e1f4.png copying images... [ 70%] _readthedocs/jupyter_execute/4d4980d62f791299b4db8748e42969abcf258c24a8e16b6dbc4c4f0b6f3c0954.png copying images... [ 71%] _readthedocs/jupyter_execute/6fc7410a8fe298e3f12b23877016321dc26fc5084064a189722cb82abb675c57.png copying images... [ 71%] _readthedocs/jupyter_execute/fc2449724f50fc3a4891f902f64112fc8d709eb0c11b3ea02648dfba0b8b49cb.png copying images... [ 72%] _readthedocs/jupyter_execute/2991fe558766f086411c6f1949c4c664c819a0ed608a34f7d3f878fb2a8bd46d.png copying images... [ 72%] _readthedocs/jupyter_execute/dd2fab22e25749d072c93ec385a1f448cf3fb7665eb2f992c9515ebdea1d4e70.png copying images... [ 73%] _readthedocs/jupyter_execute/2fdf057d113584ecc12239fb66397e9636b946d24fd9f6250b8e189a3c2dd238.png copying images... [ 74%] _readthedocs/jupyter_execute/bcf01e7a13a626a9d44a9f87b1a2c719f829981b46ec34b7f6ec6942e411ec64.png copying images... [ 74%] _readthedocs/jupyter_execute/4e39081732f70423300980f2b389aa5ae21497dc3f9446681e22f5a8a1525a6f.png copying images... [ 75%] _readthedocs/jupyter_execute/50b2b99a1a055abb06df268721d9be07613f992127cda844f616625219955568.png copying images... [ 76%] _readthedocs/jupyter_execute/92c8c115b1c591c74b8cb6e9d0835a859d6707b376d57f5b4f946258c9fdd8a4.png copying images... [ 76%] _readthedocs/jupyter_execute/c8a97f882cf8e155013d4ce88b30b12db459333f31fee35eb80d12633c02cddd.png copying images... [ 77%] _readthedocs/jupyter_execute/1653ef8b3d91e89e509984dd8cc5d19145350beaedaaab86a3a6c07672a28ef6.png copying images... [ 78%] _readthedocs/jupyter_execute/052f07fe780438b12d496b3ddaed3f958cc22f5a321991ae7ae593c773a35b76.png copying images... [ 78%] _readthedocs/jupyter_execute/e679f7ec42621cd951b12ed129b4f6474d24b5043fcb2fecdc96479a77531681.png copying images... [ 79%] _readthedocs/jupyter_execute/93488e44a5f2084884177480f5d1f8f1dbe87f53b44d9f1cc7058b983ff35938.png copying images... [ 79%] _readthedocs/jupyter_execute/f7e0871712a60e23b35c9f3379edb644d0dfeb0fd817a7e126b69d519253307f.png copying images... [ 80%] _readthedocs/jupyter_execute/72ca059296ecfe466026a5012c4c135420684573ae6e42aabc2968efb1290002.png copying images... [ 81%] _readthedocs/jupyter_execute/2a280bd3e22958f78430cfd4c41d5d37b44469e45a82ac05f5ccbca717b17457.png copying images... [ 81%] _readthedocs/jupyter_execute/daa55f3a8d5cc51906bb0897a81840e0c18cc86a174bf3eb891139934c50140d.png copying images... [ 82%] _readthedocs/jupyter_execute/f9429a2e1aaf6d889692fb40258efd524f12209e521b2b03f95b222f00c9e6df.png copying images... [ 82%] _readthedocs/jupyter_execute/5cfbe9eb92b9a937a933a0a604a872e7914012b0a7d2008e62bf8363a6cd5b42.png copying images... [ 83%] _readthedocs/jupyter_execute/600e370a6717ab2f4fea7b390eb08c45b8a20a5e3d0ad61a09a06adaed6e81d4.png copying images... [ 84%] _readthedocs/jupyter_execute/4b1be5ff87b37ad710d192a2dd9b53793c01f155b84f1d13932229b4583f7a37.png copying images... [ 84%] _readthedocs/jupyter_execute/c018c4b6b1363e6601efbaa0dc27c3f9e12cdddfeb15d75739291ddf554fa91e.png copying images... [ 85%] _readthedocs/jupyter_execute/82fb18ee734c4f9cf6e5db6d5dae523a02126bdf21455165648b95d5e1ea9fb9.png copying images... [ 86%] _readthedocs/jupyter_execute/1b81b6f79760bb6741c2b9380ca11b84580ab2d627bb5951de0c2fa33b0ca737.png copying images... [ 86%] _readthedocs/jupyter_execute/2f5a89c96ba3e65e79d6df85263d5a0c8d329a9fbbf73368d313d9bd3376ddf7.png copying images... [ 87%] _readthedocs/jupyter_execute/1a2073e231dc9f8a81d50a9246c9580eac9fe004d3120bc381bbdad20609aa17.png copying images... [ 88%] _readthedocs/jupyter_execute/6a45269efcf7bf7309f92cdf684948b9e91beb3f8a4c89840b3c60f86714ef5c.png copying images... [ 88%] _readthedocs/jupyter_execute/8bb74c11eb99e1b14e0880107a9753a8e071e0ec20559b95b1f62d62c305f727.png copying images... [ 89%] _readthedocs/jupyter_execute/4e2619b85a5be447dac180b3c70c37c168b0c7b0ecd8f69f1be50d7affe1f3cf.png copying images... [ 89%] _readthedocs/jupyter_execute/f9cb1d875449d2a6faf59b88ce54262f14da3235d5f3e2cfe981905019f54ac6.png copying images... [ 90%] _readthedocs/jupyter_execute/c338f76d64435e9b5406ec7868ce4ce5ec689c79d85e81a3899b4b1c4e516596.png copying images... [ 91%] _readthedocs/jupyter_execute/bc93727098434daa1d8fa343ed071898822b86804a4b6b5bde64fcf79cce718d.png copying images... [ 91%] _readthedocs/jupyter_execute/0aa302a1f4bf30aa75db66d47f0fc3987e884c42844f031120f7dc7031474ab8.png copying images... [ 92%] _readthedocs/jupyter_execute/bfe25bb9302cd7a75ccbf42ab54fc7f6959353702280cbca997127ffc101a624.png copying images... [ 92%] _readthedocs/jupyter_execute/30c1584beee6097cbafde187fdf0ba2353becd3323c4576d4f1058810a225ad1.png copying images... [ 93%] _readthedocs/jupyter_execute/2e1a1edf647822811b189ca73ec66e34a33709aa8699370b77bc0aca99020345.png copying images... [ 94%] _readthedocs/jupyter_execute/7058d282c4bf34508fb7060e8002a81692aebe757bed798259814c4ba05aad98.png copying images... [ 94%] _readthedocs/jupyter_execute/c201abda2ed90687a4dfe6dda241b5cfc7a3a42c22b761cb195227a4e228a3f1.png copying images... [ 95%] _readthedocs/jupyter_execute/523261eadb2e967d20b517a2c1f5ef653e65e8f02a58da98cd5d4bcf08a6e398.png copying images... [ 96%] _readthedocs/jupyter_execute/72825cab1ce202e45f5ed8347ed1c2be71e66760b993d8f5b0df3021da541f25.png copying images... [ 96%] _readthedocs/jupyter_execute/13cc6c1d53e9a3aba72799cd93759ce396bc0cf762f3b46d5a762e2e276cd168.png copying images... [ 97%] _readthedocs/jupyter_execute/5f159fa54af4fc9b8f206c572e1b24b1f1eb24f3711032a9892df784cc5bdd7c.png copying images... [ 98%] _readthedocs/jupyter_execute/2eba1ec7ea236ae4f0ec8644785ccb3e4c08e44a3615eb1f0fcecbf277c408ae.png copying images... [ 98%] _readthedocs/jupyter_execute/67a8f588f5e935db5d190240996d7ef24c757b99131454c54c9a4463823244a5.png copying images... [ 99%] _readthedocs/jupyter_execute/915d74a745633da1ae5a4b91ea8bde5ace438f0cb3c103f3908c86e8166b46b1.png copying images... [ 99%] _readthedocs/jupyter_execute/2e949f6382ce68273faebe569154569a3ee12f69ebcd948c449e0354db3c3858.png copying images... [100%] _readthedocs/jupyter_execute/c4c7363df186dd1e25bb52b3ab60a88f27e65c5fd273d15d0e8e90d084b61a10.png dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in _readthedocs/html.