Read the Docs build information Build id: 3195673 Project: icb-scanpy Version: latest Commit: 0b82c934edeb640095df14e60725ed1fad6eebb1 Date: 2025-07-15T06:45:40.034958Z State: finished Success: False [rtd-command-info] start-time: 2025-07-15T06:45:40.953668Z, end-time: 2025-07-15T06:45:41.823749Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/scverse/scanpy.git . Cloning into '.'... [rtd-command-info] start-time: 2025-07-15T06:45:41.913195Z, end-time: 2025-07-15T06:45:42.461415Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 refs/heads/main:refs/remotes/origin/main [rtd-command-info] start-time: 2025-07-15T06:45:43.150963Z, end-time: 2025-07-15T06:45:43.286858Z, duration: 0, exit-code: 0 git checkout --force origin/main Note: switching to 'origin/main'. 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 0b82c93 [pre-commit.ci] pre-commit autoupdate (#3712) [rtd-command-info] start-time: 2025-07-15T06:45:43.382939Z, end-time: 2025-07-15T06:45:43.421758Z, duration: 0, exit-code: 0 cat .readthedocs.yml version: 2 submodules: include: all build: os: ubuntu-24.04 tools: python: '3.13' jobs: post_checkout: # unshallow so version can be derived from tag - git fetch --unshallow || true pre_build: # run towncrier to preview the next version’s release notes - ( find docs/release-notes -regex '[^.]+[.][^.]+.md' | grep -q . ) && towncrier build --keep || true sphinx: fail_on_warning: true # do not change or you will be fired configuration: docs/conf.py python: install: - method: pip path: . extra_requirements: - doc - dev # for towncrier - leiden [rtd-command-info] start-time: 2025-07-15T06:45:43.546473Z, end-time: 2025-07-15T06:45:43.748098Z, duration: 0, exit-code: 0 git submodule sync [rtd-command-info] start-time: 2025-07-15T06:45:43.843470Z, end-time: 2025-07-15T06:46:02.231688Z, duration: 18, exit-code: 0 git submodule update --init --force -- Submodule 'notebooks' (https://github.com/scverse/scanpy-tutorials/) registered for path 'notebooks' Cloning into '/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/notebooks'... Submodule path 'notebooks': checked out '37c26f37f199ac70449fff970bb6007c1c9959c8' [rtd-command-info] start-time: 2025-07-15T06:46:02.313484Z, end-time: 2025-07-15T06:46:06.232668Z, duration: 3, exit-code: 0 git fetch --unshallow || true From https://github.com/scverse/scanpy * [new tag] 0.0 -> 0.0 * [new tag] 0.1 -> 0.1 * [new tag] 0.2 -> 0.2 * [new tag] 0.2.1 -> 0.2.1 * [new tag] 0.2.3 -> 0.2.3 * [new tag] 0.2.3.5 -> 0.2.3.5 * [new tag] 0.2.4 -> 0.2.4 * [new tag] 0.2.5 -> 0.2.5 * [new tag] 0.2.6 -> 0.2.6 * [new tag] 0.2.7 -> 0.2.7 * [new tag] 0.2.8 -> 0.2.8 * [new tag] 0.2.9 -> 0.2.9 * [new tag] 0.2.9.1 -> 0.2.9.1 * [new tag] 0.3 -> 0.3 * [new tag] 0.3.1 -> 0.3.1 * [new tag] 0.3.2 -> 0.3.2 * [new tag] 0.4 -> 0.4 * [new tag] 0.4.1 -> 0.4.1 * [new tag] 0.4.2 -> 0.4.2 * [new tag] 0.4.2.post1 -> 0.4.2.post1 * [new tag] 0.4.2.post2 -> 0.4.2.post2 * [new tag] 0.4.3 -> 0.4.3 * [new tag] 0.4.4 -> 0.4.4 * [new tag] 1.0 -> 1.0 * [new tag] 1.0.1 -> 1.0.1 * [new tag] 1.0.2 -> 1.0.2 * [new tag] 1.0.3 -> 1.0.3 * [new tag] 1.0.4 -> 1.0.4 * [new tag] 1.1 -> 1.1 * [new tag] 1.10.0.dev0 -> 1.10.0.dev0 * [new tag] 1.10.0rc1 -> 1.10.0rc1 * [new tag] 1.11.0 -> 1.11.0 * [new tag] 1.11.0rc1 -> 1.11.0rc1 * [new tag] 1.11.0rc2 -> 1.11.0rc2 * [new tag] 1.1a1 -> 1.1a1 * [new tag] 1.1a2 -> 1.1a2 * [new tag] 1.2.0 -> 1.2.0 * [new tag] 1.2.1 -> 1.2.1 * [new tag] 1.2.2 -> 1.2.2 * [new tag] 1.3 -> 1.3 * [new tag] 1.3.1 -> 1.3.1 * [new tag] 1.3.2 -> 1.3.2 * [new tag] 1.3.3 -> 1.3.3 * [new tag] 1.3.4 -> 1.3.4 * [new tag] 1.3.5 -> 1.3.5 * [new tag] 1.3.6 -> 1.3.6 * [new tag] 1.3.7 -> 1.3.7 * [new tag] 1.3.8 -> 1.3.8 * [new tag] 1.4 -> 1.4 * [new tag] 1.4.1 -> 1.4.1 * [new tag] 1.4.2 -> 1.4.2 * [new tag] 1.4.3 -> 1.4.3 * [new tag] 1.4.4 -> 1.4.4 * [new tag] 1.4.5 -> 1.4.5 * [new tag] 1.4.5.1 -> 1.4.5.1 * [new tag] 1.4.5.post1 -> 1.4.5.post1 * [new tag] 1.4.5.post2 -> 1.4.5.post2 * [new tag] 1.4.5.post3 -> 1.4.5.post3 * [new tag] 1.4.6 -> 1.4.6 * [new tag] 1.5.0 -> 1.5.0 * [new tag] 1.5.0a1 -> 1.5.0a1 * [new tag] 1.5.1 -> 1.5.1 * [new tag] 1.6.0 -> 1.6.0 * [new tag] 1.7.0rc1 -> 1.7.0rc1 * [new tag] 1.8.0 -> 1.8.0 * [new tag] 1.8.0.dev0 -> 1.8.0.dev0 * [new tag] 1.9.0 -> 1.9.0 * [new tag] 1.9.0.dev0 -> 1.9.0.dev0 Fetching submodule notebooks From https://github.com/scverse/scanpy-tutorials * branch 26e16f83387caef76abdd42afda3c7c13f7139f1 -> FETCH_HEAD [rtd-command-info] start-time: 2025-07-15T06:46:10.737002Z, end-time: 2025-07-15T06:46:10.786930Z, duration: 0, exit-code: 0 asdf global python 3.13.3 [rtd-command-info] start-time: 2025-07-15T06:46:11.117201Z, end-time: 2025-07-15T06:46:11.928190Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.13.3.final.0-64 in 508ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest, 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: 2025-07-15T06:46:12.012310Z, end-time: 2025-07-15T06:46:19.907710Z, duration: 7, 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/envs/latest/lib/python3.13/site-packages (23.1) Collecting pip Downloading pip-25.1.1-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 14.0 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (67.6.1) Collecting setuptools Downloading setuptools-80.9.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 27.5 MB/s eta 0:00:00 Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 67.6.1 Uninstalling setuptools-67.6.1: Successfully uninstalled setuptools-67.6.1 Attempting uninstall: pip Found existing installation: pip 23.1 Uninstalling pip-23.1: Successfully uninstalled pip-23.1 Successfully installed pip-25.1.1 setuptools-80.9.0 [rtd-command-info] start-time: 2025-07-15T06:46:19.994865Z, end-time: 2025-07-15T06:46:24.800188Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Collecting sphinx Downloading sphinx-8.2.3-py3-none-any.whl.metadata (7.0 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.22,>=0.20 (from sphinx) Downloading docutils-0.21.2-py3-none-any.whl.metadata (2.8 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.17.0-py3-none-any.whl.metadata (2.0 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-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.32.4-py3-none-any.whl.metadata (4.9 kB) Collecting roman-numerals-py>=1.0.0 (from sphinx) Downloading roman_numerals_py-3.1.0-py3-none-any.whl.metadata (3.6 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.30.0->sphinx) Downloading urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB) Collecting certifi>=2017.4.17 (from requests>=2.30.0->sphinx) Downloading certifi-2025.7.14-py3-none-any.whl.metadata (2.4 kB) Downloading sphinx-8.2.3-py3-none-any.whl (3.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 118.6 MB/s eta 0:00:00 Downloading docutils-0.21.2-py3-none-any.whl (587 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 712.8 MB/s eta 0:00:00 Downloading alabaster-1.0.0-py3-none-any.whl (13 kB) Downloading babel-2.17.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 396.1 MB/s eta 0:00:00 Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) Downloading MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB) Downloading packaging-25.0-py3-none-any.whl (66 kB) Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 1.1 GB/s eta 0:00:00 Downloading requests-2.32.4-py3-none-any.whl (64 kB) Downloading charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (148 kB) Downloading idna-3.10-py3-none-any.whl (70 kB) Downloading urllib3-2.5.0-py3-none-any.whl (129 kB) Downloading certifi-2025.7.14-py3-none-any.whl (162 kB) Downloading roman_numerals_py-3.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-py, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset_normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.2 Pygments-2.19.2 alabaster-1.0.0 babel-2.17.0 certifi-2025.7.14 charset_normalizer-3.4.2 docutils-0.21.2 idna-3.10 imagesize-1.4.1 packaging-25.0 requests-2.32.4 roman-numerals-py-3.1.0 snowballstemmer-3.0.1 sphinx-8.2.3 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.5.0 [rtd-command-info] start-time: 2025-07-15T06:46:24.879432Z, end-time: 2025-07-15T06:46:37.625373Z, duration: 12, exit-code: 1 python -m pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir .[doc,dev,leiden] Processing /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest 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 anndata>=0.9.2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading anndata-0.11.4-py3-none-any.whl.metadata (9.3 kB) Collecting fast-array-utils>=1.2.1 (from fast-array-utils[accel,sparse]>=1.2.1->scanpy==1.12.0.dev88+g0b82c934) Downloading fast_array_utils-1.2.1-py3-none-any.whl.metadata (3.7 kB) Collecting h5py>=3.8.0 (from scanpy==1.12.0.dev88+g0b82c934) Downloading h5py-3.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB) Collecting joblib (from scanpy==1.12.0.dev88+g0b82c934) Downloading joblib-1.5.1-py3-none-any.whl.metadata (5.6 kB) Collecting legacy-api-wrap>=1.4.1 (from scanpy==1.12.0.dev88+g0b82c934) Downloading legacy_api_wrap-1.4.1-py3-none-any.whl.metadata (2.1 kB) Collecting matplotlib>=3.7.5 (from scanpy==1.12.0.dev88+g0b82c934) Downloading matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) Collecting natsort (from scanpy==1.12.0.dev88+g0b82c934) Downloading natsort-8.4.0-py3-none-any.whl.metadata (21 kB) Collecting networkx>=2.8.8 (from scanpy==1.12.0.dev88+g0b82c934) Downloading networkx-3.5-py3-none-any.whl.metadata (6.3 kB) Collecting numba>=0.58.1 (from scanpy==1.12.0.dev88+g0b82c934) Downloading numba-0.61.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.8 kB) Collecting numpy>=1.25.2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (62 kB) Requirement already satisfied: packaging>=21.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from scanpy==1.12.0.dev88+g0b82c934) (25.0) Collecting pandas>=2.0.3 (from scanpy==1.12.0.dev88+g0b82c934) Downloading pandas-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (91 kB) Collecting patsy!=1.0.0 (from scanpy==1.12.0.dev88+g0b82c934) Downloading patsy-1.0.1-py2.py3-none-any.whl.metadata (3.3 kB) Collecting pynndescent>=0.5.13 (from scanpy==1.12.0.dev88+g0b82c934) Downloading pynndescent-0.5.13-py3-none-any.whl.metadata (6.8 kB) Collecting scikit-learn>=1.1.3 (from scanpy==1.12.0.dev88+g0b82c934) Downloading scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (17 kB) Collecting scipy<1.16.0,>=1.11.1 (from scanpy==1.12.0.dev88+g0b82c934) Downloading scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB) Collecting seaborn>=0.13.2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB) Collecting session-info2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading session_info2-0.1.2-py3-none-any.whl.metadata (2.5 kB) Collecting statsmodels>=0.14.4 (from scanpy==1.12.0.dev88+g0b82c934) Downloading statsmodels-0.14.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) Collecting tqdm (from scanpy==1.12.0.dev88+g0b82c934) Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB) Collecting umap-learn>=0.5.7 (from scanpy==1.12.0.dev88+g0b82c934) Downloading umap_learn-0.5.9.post2-py3-none-any.whl.metadata (25 kB) Collecting hatch-vcs (from scanpy==1.12.0.dev88+g0b82c934) Downloading hatch_vcs-0.5.0-py3-none-any.whl.metadata (9.0 kB) Collecting pre-commit (from scanpy==1.12.0.dev88+g0b82c934) Downloading pre_commit-4.2.0-py2.py3-none-any.whl.metadata (1.3 kB) Collecting scipy-stubs (from scanpy==1.12.0.dev88+g0b82c934) Downloading scipy_stubs-1.16.0.2-py3-none-any.whl.metadata (22 kB) Collecting towncrier (from scanpy==1.12.0.dev88+g0b82c934) Downloading towncrier-24.8.0-py3-none-any.whl.metadata (4.2 kB) Collecting dask-ml (from scanpy==1.12.0.dev88+g0b82c934) Downloading dask_ml-2025.1.0-py3-none-any.whl.metadata (6.0 kB) Collecting dask>=2023.5.1 (from dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading dask-2025.7.0-py3-none-any.whl.metadata (3.8 kB) Collecting igraph (from scanpy==1.12.0.dev88+g0b82c934) Downloading igraph-0.11.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.4 kB) Collecting ipython>=7.20 (from scanpy==1.12.0.dev88+g0b82c934) Downloading ipython-9.4.0-py3-none-any.whl.metadata (4.4 kB) Collecting myst-nb>=1 (from scanpy==1.12.0.dev88+g0b82c934) Downloading myst_nb-1.3.0-py3-none-any.whl.metadata (4.7 kB) Collecting myst-parser>=2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading myst_parser-4.0.1-py3-none-any.whl.metadata (5.5 kB) Collecting nbsphinx>=0.9 (from scanpy==1.12.0.dev88+g0b82c934) Downloading nbsphinx-0.9.7-py3-none-any.whl.metadata (2.3 kB) Collecting sam-algorithm (from scanpy==1.12.0.dev88+g0b82c934) Downloading sam-algorithm-1.0.2.tar.gz (35 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting scanpydoc>=0.15.3 (from scanpy==1.12.0.dev88+g0b82c934) Downloading scanpydoc-0.15.4-py3-none-any.whl.metadata (2.6 kB) Collecting sphinx-autodoc-typehints>=1.25.2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_autodoc_typehints-3.2.0-py3-none-any.whl.metadata (8.0 kB) Collecting sphinx-book-theme>=1.1.0 (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_book_theme-1.1.4-py3-none-any.whl.metadata (5.8 kB) Collecting sphinx-copybutton (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_copybutton-0.5.2-py3-none-any.whl.metadata (3.2 kB) Collecting sphinx-design (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_design-0.6.1-py3-none-any.whl.metadata (5.5 kB) Collecting sphinx-issues>=5.0.1 (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_issues-5.0.1-py3-none-any.whl.metadata (8.6 kB) Collecting sphinx-tabs (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinx_tabs-3.4.7-py3-none-any.whl.metadata (6.3 kB) Requirement already satisfied: sphinx>=8.2.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from scanpy==1.12.0.dev88+g0b82c934) (8.2.3) Collecting sphinxcontrib-bibtex (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinxcontrib_bibtex-2.6.5-py3-none-any.whl.metadata (6.1 kB) Collecting sphinxext-opengraph (from scanpy==1.12.0.dev88+g0b82c934) Downloading sphinxext_opengraph-0.10.0-py3-none-any.whl.metadata (2.7 kB) Collecting leidenalg>=0.9.0 (from scanpy==1.12.0.dev88+g0b82c934) Downloading leidenalg-0.10.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (10 kB) Collecting array-api-compat!=1.5,>1.4 (from anndata>=0.9.2->scanpy==1.12.0.dev88+g0b82c934) Downloading array_api_compat-1.12.0-py3-none-any.whl.metadata (2.5 kB) Collecting click>=8.1 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading click-8.2.1-py3-none-any.whl.metadata (2.5 kB) Collecting cloudpickle>=3.0.0 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB) Collecting fsspec>=2021.09.0 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading fsspec-2025.5.1-py3-none-any.whl.metadata (11 kB) Collecting partd>=1.4.0 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading partd-1.4.2-py3-none-any.whl.metadata (4.6 kB) Collecting pyyaml>=5.3.1 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB) Collecting toolz>=0.10.0 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading toolz-1.0.0-py3-none-any.whl.metadata (5.1 kB) Collecting texttable>=1.6.2 (from igraph->scanpy==1.12.0.dev88+g0b82c934) Downloading texttable-1.7.0-py2.py3-none-any.whl.metadata (9.8 kB) Collecting decorator (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB) Collecting ipython-pygments-lexers (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl.metadata (1.1 kB) Collecting jedi>=0.16 (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB) Collecting matplotlib-inline (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading matplotlib_inline-0.1.7-py3-none-any.whl.metadata (3.9 kB) Collecting pexpect>4.3 (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) 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>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading prompt_toolkit-3.0.51-py3-none-any.whl.metadata (6.4 kB) Requirement already satisfied: pygments>=2.4.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) (2.19.2) Collecting stack_data (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading stack_data-0.6.3-py3-none-any.whl.metadata (18 kB) Collecting traitlets>=5.13.0 (from ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB) Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB) Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.16->ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading parso-0.8.4-py2.py3-none-any.whl.metadata (7.7 kB) Collecting contourpy>=1.0.1 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB) Collecting cycler>=0.10 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB) Collecting fonttools>=4.22.0 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading fonttools-4.58.5-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.metadata (106 kB) Collecting kiwisolver>=1.3.1 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.2 kB) Collecting pillow>=8 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (9.0 kB) Collecting pyparsing>=2.3.1 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB) Collecting python-dateutil>=2.7 (from matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting importlib_metadata (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading importlib_metadata-8.7.0-py3-none-any.whl.metadata (4.8 kB) Collecting jupyter-cache>=0.5 (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading jupyter_cache-1.0.1-py3-none-any.whl.metadata (5.8 kB) Collecting nbclient (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading nbclient-0.10.2-py3-none-any.whl.metadata (8.3 kB) Collecting nbformat>=5.0 (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB) Collecting typing-extensions (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading typing_extensions-4.14.1-py3-none-any.whl.metadata (3.0 kB) Collecting ipykernel (from myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading ipykernel-6.29.5-py3-none-any.whl.metadata (6.3 kB) Collecting attrs (from jupyter-cache>=0.5->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading attrs-25.3.0-py3-none-any.whl.metadata (10 kB) Collecting sqlalchemy<3,>=1.3.12 (from jupyter-cache>=0.5->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.6 kB) Collecting tabulate (from jupyter-cache>=0.5->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading tabulate-0.9.0-py3-none-any.whl.metadata (34 kB) Collecting greenlet>=1 (from sqlalchemy<3,>=1.3.12->jupyter-cache>=0.5->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading greenlet-3.2.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (4.1 kB) Requirement already satisfied: docutils<0.22,>=0.19 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) (0.21.2) Requirement already satisfied: jinja2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) (3.1.6) Collecting markdown-it-py~=3.0 (from myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB) Collecting mdit-py-plugins>=0.4.1,~=0.4 (from myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) Downloading mdit_py_plugins-0.4.2-py3-none-any.whl.metadata (2.8 kB) Collecting mdurl~=0.1 (from markdown-it-py~=3.0->myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.0.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.0.0) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (3.0.1) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.17.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (1.4.1) Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.32.4) Requirement already satisfied: roman-numerals-py>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (3.1.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from jinja2->myst-parser>=2->scanpy==1.12.0.dev88+g0b82c934) (3.0.2) Collecting jupyter-client>=6.1.12 (from nbclient->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading jupyter_client-8.6.3-py3-none-any.whl.metadata (8.3 kB) Collecting jupyter-core!=5.0.*,>=4.12 (from nbclient->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading jupyter_core-5.8.1-py3-none-any.whl.metadata (1.6 kB) Collecting pyzmq>=23.0 (from jupyter-client>=6.1.12->nbclient->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading pyzmq-27.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.0 kB) Collecting tornado>=6.2 (from jupyter-client>=6.1.12->nbclient->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading tornado-6.5.1-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>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading platformdirs-4.3.8-py3-none-any.whl.metadata (12 kB) Collecting fastjsonschema>=2.15 (from nbformat>=5.0->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading fastjsonschema-2.21.1-py3-none-any.whl.metadata (2.2 kB) Collecting jsonschema>=2.6 (from nbformat>=5.0->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading jsonschema-4.24.0-py3-none-any.whl.metadata (7.8 kB) Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=5.0->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading jsonschema_specifications-2025.4.1-py3-none-any.whl.metadata (2.9 kB) Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=5.0->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB) Collecting rpds-py>=0.7.1 (from jsonschema>=2.6->nbformat>=5.0->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading rpds_py-0.26.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB) Collecting nbconvert!=5.4,>=5.3 (from nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading nbconvert-7.16.6-py3-none-any.whl.metadata (8.5 kB) INFO: pip is looking at multiple versions of nbsphinx to determine which version is compatible with other requirements. This could take a while. Collecting nbsphinx>=0.9 (from scanpy==1.12.0.dev88+g0b82c934) Downloading nbsphinx-0.9.6-py3-none-any.whl.metadata (2.1 kB) Collecting beautifulsoup4 (from nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading beautifulsoup4-4.13.4-py3-none-any.whl.metadata (3.8 kB) Collecting bleach!=5.0.0 (from bleach[css]!=5.0.0->nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading bleach-6.2.0-py3-none-any.whl.metadata (30 kB) Collecting defusedxml (from nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading defusedxml-0.7.1-py2.py3-none-any.whl.metadata (32 kB) Collecting jupyterlab-pygments (from nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading jupyterlab_pygments-0.3.0-py3-none-any.whl.metadata (4.4 kB) Collecting mistune<4,>=2.0.3 (from nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading mistune-3.1.3-py3-none-any.whl.metadata (1.8 kB) Collecting pandocfilters>=1.4.1 (from nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading pandocfilters-1.5.1-py2.py3-none-any.whl.metadata (9.0 kB) Collecting webencodings (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB) Collecting tinycss2<1.5,>=1.1.0 (from bleach[css]!=5.0.0->nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading tinycss2-1.4.0-py3-none-any.whl.metadata (3.0 kB) Collecting llvmlite<0.45,>=0.44.0dev0 (from numba>=0.58.1->scanpy==1.12.0.dev88+g0b82c934) Downloading llvmlite-0.44.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.0 kB) Collecting numpy>=1.25.2 (from scanpy==1.12.0.dev88+g0b82c934) Downloading numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB) Collecting pytz>=2020.1 (from pandas>=2.0.3->scanpy==1.12.0.dev88+g0b82c934) Downloading pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB) Collecting tzdata>=2022.7 (from pandas>=2.0.3->scanpy==1.12.0.dev88+g0b82c934) Downloading tzdata-2025.2-py2.py3-none-any.whl.metadata (1.4 kB) Collecting locket (from partd>=1.4.0->dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading locket-1.0.0-py2.py3-none-any.whl.metadata (2.8 kB) Collecting ptyprocess>=0.5 (from pexpect>4.3->ipython>=7.20->scanpy==1.12.0.dev88+g0b82c934) Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB) Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib>=3.7.5->scanpy==1.12.0.dev88+g0b82c934) Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (3.4.2) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2.5.0) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from requests>=2.30.0->sphinx>=8.2.3->scanpy==1.12.0.dev88+g0b82c934) (2025.7.14) Collecting threadpoolctl>=3.1.0 (from scikit-learn>=1.1.3->scanpy==1.12.0.dev88+g0b82c934) Downloading threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB) Collecting pydata-sphinx-theme==0.15.4 (from sphinx-book-theme>=1.1.0->scanpy==1.12.0.dev88+g0b82c934) Downloading pydata_sphinx_theme-0.15.4-py3-none-any.whl.metadata (7.5 kB) Collecting accessible-pygments (from pydata-sphinx-theme==0.15.4->sphinx-book-theme>=1.1.0->scanpy==1.12.0.dev88+g0b82c934) Downloading accessible_pygments-0.0.5-py3-none-any.whl.metadata (10 kB) Collecting soupsieve>1.2 (from beautifulsoup4->nbconvert!=5.4,>=5.3->nbsphinx>=0.9->scanpy==1.12.0.dev88+g0b82c934) Downloading soupsieve-2.7-py3-none-any.whl.metadata (4.6 kB) Collecting dask-glm>=0.2.0 (from dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading dask_glm-0.3.2-py2.py3-none-any.whl.metadata (1.5 kB) Collecting distributed>=2025.1.0 (from dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading distributed-2025.7.0-py3-none-any.whl.metadata (3.4 kB) Collecting multipledispatch>=0.4.9 (from dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading multipledispatch-1.0.0-py3-none-any.whl.metadata (3.8 kB) Collecting sparse>=0.7.0 (from dask-glm>=0.2.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading sparse-0.17.0-py2.py3-none-any.whl.metadata (5.3 kB) Collecting pyarrow>=14.0.1 (from dask>=2023.5.1->dask[array]>=2023.5.1; extra == "doc"->scanpy==1.12.0.dev88+g0b82c934) Downloading pyarrow-20.0.0-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (3.3 kB) Collecting msgpack>=1.0.2 (from distributed>=2025.1.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading msgpack-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.4 kB) Collecting psutil>=5.8.0 (from distributed>=2025.1.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB) Collecting sortedcontainers>=2.0.5 (from distributed>=2025.1.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl.metadata (10 kB) Collecting tblib>=1.6.0 (from distributed>=2025.1.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading tblib-3.1.0-py3-none-any.whl.metadata (25 kB) Collecting zict>=3.0.0 (from distributed>=2025.1.0->dask-ml->scanpy==1.12.0.dev88+g0b82c934) Downloading zict-3.0.0-py2.py3-none-any.whl.metadata (899 bytes) Collecting hatchling>=1.1.0 (from hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) Downloading hatchling-1.27.0-py3-none-any.whl.metadata (3.8 kB) Collecting setuptools-scm>=8.2.0 (from hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) Downloading setuptools_scm-8.3.1-py3-none-any.whl.metadata (7.0 kB) Collecting pathspec>=0.10.1 (from hatchling>=1.1.0->hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) Downloading pathspec-0.12.1-py3-none-any.whl.metadata (21 kB) Collecting pluggy>=1.0.0 (from hatchling>=1.1.0->hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) Collecting trove-classifiers (from hatchling>=1.1.0->hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) Downloading trove_classifiers-2025.5.9.12-py3-none-any.whl.metadata (2.3 kB) Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages (from setuptools-scm>=8.2.0->hatch-vcs->scanpy==1.12.0.dev88+g0b82c934) (80.9.0) Collecting zipp>=3.20 (from importlib_metadata->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB) Collecting comm>=0.1.1 (from ipykernel->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading comm-0.2.2-py3-none-any.whl.metadata (3.7 kB) Collecting debugpy>=1.6.5 (from ipykernel->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.3 kB) Collecting nest-asyncio (from ipykernel->myst-nb>=1->scanpy==1.12.0.dev88+g0b82c934) Downloading nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB) Collecting cfgv>=2.0.0 (from pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB) Collecting identify>=1.0.0 (from pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading identify-2.6.12-py2.py3-none-any.whl.metadata (4.4 kB) Collecting nodeenv>=0.11.1 (from pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading nodeenv-1.9.1-py2.py3-none-any.whl.metadata (21 kB) Collecting virtualenv>=20.10.0 (from pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading virtualenv-20.31.2-py3-none-any.whl.metadata (4.5 kB) Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading distlib-0.3.9-py2.py3-none-any.whl.metadata (5.2 kB) Collecting filelock<4,>=3.12.2 (from virtualenv>=20.10.0->pre-commit->scanpy==1.12.0.dev88+g0b82c934) Downloading filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB) Collecting dill (from sam-algorithm->scanpy==1.12.0.dev88+g0b82c934) Downloading dill-0.4.0-py3-none-any.whl.metadata (10 kB) Collecting harmonypy (from sam-algorithm->scanpy==1.12.0.dev88+g0b82c934) Downloading harmonypy-0.0.10-py3-none-any.whl.metadata (3.9 kB) Collecting hnswlib (from sam-algorithm->scanpy==1.12.0.dev88+g0b82c934) Downloading hnswlib-0.8.0.tar.gz (36 kB) Installing build dependencies: started Installing build dependencies: finished with status 'error' error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 2 ╰─> [108 lines of output] Collecting setuptools>=42 Using cached setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB) Collecting wheel Downloading wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB) Collecting numpy>=1.10.0 Downloading numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl.metadata (62 kB) Collecting pybind11>=2.0 Downloading pybind11-3.0.0-py3-none-any.whl.metadata (10.0 kB) Using cached setuptools-80.9.0-py3-none-any.whl (1.2 MB) Downloading wheel-0.45.1-py3-none-any.whl (72 kB) Downloading numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl (16.6 MB) ━━━ 1.3/16.6 MB 16.4 MB/s eta 0:00:01 ERROR: Exception: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher yield File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 561, in read data = self._fp_read(amt) if not fp_closed else b"" ~~~~~~~~~~~~~^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read return self._fp.read(amt) if amt is not None else self._fp.read() ~~~~~~~~~~~~~^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 98, in read data: bytes = self.__fp.read(amt) ~~~~~~~~~~~~~~^^^^^ File "/home/docs/.asdf/installs/python/3.13.3/lib/python3.13/http/client.py", line 479, in read s = self.fp.read(amt) File "/home/docs/.asdf/installs/python/3.13.3/lib/python3.13/socket.py", line 719, in readinto return self._sock.recv_into(b) ~~~~~~~~~~~~~~~~~~~~^^^ File "/home/docs/.asdf/installs/python/3.13.3/lib/python3.13/ssl.py", line 1304, in recv_into return self.read(nbytes, buffer) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/home/docs/.asdf/installs/python/3.13.3/lib/python3.13/ssl.py", line 1138, in read return self._sslobj.read(len, buffer) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ ConnectionResetError: [Errno 104] Connection reset by peer During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper status = _inner_run() File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run return self.run(options, args) ~~~~~~~~^^^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 68, in wrapper return func(self, options, args) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/commands/install.py", line 387, in run requirement_set = resolver.resolve( reqs, check_supported_wheels=not options.target_dir ) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 182, in resolve self.factory.preparer.prepare_linked_requirements_more(reqs) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/operations/prepare.py", line 559, in prepare_linked_requirements_more self._complete_partial_requirements( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ partially_downloaded_reqs, ^^^^^^^^^^^^^^^^^^^^^^^^^^ parallel_builds=parallel_builds, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/operations/prepare.py", line 474, in _complete_partial_requirements for link, (filepath, _) in batch_download: ^^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/network/download.py", line 313, in __call__ filepath, content_type = self._downloader(link, location) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/network/download.py", line 185, in __call__ bytes_received = self._process_response( resp, link, content_file, 0, total_length ) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/network/download.py", line 208, in _process_response return self._write_chunks_to_file( ~~~~~~~~~~~~~~~~~~~~~~~~~~^ chunks, content_file, allow_partial=bool(total_length) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/network/download.py", line 218, in _write_chunks_to_file for chunk in chunks: ^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/cli/progress_bars.py", line 61, in _rich_download_progress_bar for chunk in iterable: ^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_internal/network/utils.py", line 65, in response_chunks for chunk in response.raw.stream( ~~~~~~~~~~~~~~~~~~~^ chunk_size, ^^^^^^^^^^^ ...<22 lines>... decode_content=False, ^^^^^^^^^^^^^^^^^^^^^ ): ^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream data = self.read(amt=amt, decode_content=decode_content) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 560, in read with self._error_catcher(): ~~~~~~~~~~~~~~~~~~~^^ File "/home/docs/.asdf/installs/python/3.13.3/lib/python3.13/contextlib.py", line 162, in __exit__ self.gen.throw(value) ~~~~~~~~~~~~~~^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.13/site-packages/pip/_vendor/urllib3/response.py", line 455, in _error_catcher raise ProtocolError("Connection broken: %r" % e, e) pip._vendor.urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(104, 'Connection reset by peer')", ConnectionResetError(104, 'Connection reset by peer')) [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 2 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip.