Read the Docs build information Build id: 4568264 Project: icb-anndata Version: 2703 Commit: 6bf20748c444cf1fbd7c31b79e5f6fe640cd5f18 Date: 2026-10-14T09:46:32.533691Z State: finished Success: False [rtd-command-info] start-time: 2026-10-14T09:46:33.177807Z, end-time: 2026-10-14T09:46:33.836632Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/scverse/anndata.git . Cloning into '.'... [rtd-command-info] start-time: 2026-10-14T09:46:33.916774Z, end-time: 2026-10-14T09:46:34.442938Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/2703/head:external-2703 From https://github.com/scverse/anndata * [new ref] refs/pull/2703/head -> external-2703 [rtd-command-info] start-time: 2026-10-14T09:46:35.169337Z, end-time: 2026-10-14T09:46:35.243387Z, duration: 0, exit-code: 0 git checkout --force 6bf20748c444cf1fbd7c31b79e5f6fe640cd5f18 Note: switching to '6bf20748c444cf1fbd7c31b79e5f6fe640cd5f18'. 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 6bf2074 chore: drop Python 3.12 support [rtd-command-info] start-time: 2026-10-14T09:46:35.316717Z, end-time: 2026-10-14T09:46:35.351977Z, duration: 0, exit-code: 0 cat .readthedocs.yml # https://docs.readthedocs.io/en/stable/config-file/v2.html version: 2 build: os: ubuntu-26.04 tools: python: "3.14" jobs: post_checkout: # unshallow so version can be derived from tag - git fetch --unshallow || true create_environment: - asdf plugin add uv - asdf install uv latest - asdf global uv latest pre_build: # run towncrier to preview the next version’s release notes - ( find docs/release-notes -regex '[^.]+[.][^.]+.md' | grep -q . ) && uvx hatch run docs:towncrier build --keep || true build: html: - uvx --from=hatch!=1.18.0 hatch run docs:build -T - mv docs/_build $READTHEDOCS_OUTPUT [rtd-command-info] start-time: 2026-10-14T09:46:35.422744Z, end-time: 2026-10-14T09:46:36.852093Z, duration: 1, exit-code: 0 git fetch --unshallow || true From https://github.com/scverse/anndata * [new tag] 0.10.0 -> 0.10.0 * [new tag] 0.10.0.dev0 -> 0.10.0.dev0 * [new tag] 0.10.0rc1 -> 0.10.0rc1 * [new tag] 0.11.0 -> 0.11.0 * [new tag] 0.11.0.dev0 -> 0.11.0.dev0 * [new tag] 0.11.0rc1 -> 0.11.0rc1 * [new tag] 0.11.0rc2 -> 0.11.0rc2 * [new tag] 0.11.0rc3 -> 0.11.0rc3 * [new tag] 0.12.0 -> 0.12.0 * [new tag] 0.12.0rc1 -> 0.12.0rc1 * [new tag] 0.12.0rc2 -> 0.12.0rc2 * [new tag] 0.12.0rc3 -> 0.12.0rc3 * [new tag] 0.12.0rc4 -> 0.12.0rc4 * [new tag] 0.12.15 -> 0.12.15 * [new tag] 0.13.0 -> 0.13.0 * [new tag] 0.13.0rc1 -> 0.13.0rc1 * [new tag] 0.13.0rc2 -> 0.13.0rc2 * [new tag] 0.13.0rc3 -> 0.13.0rc3 * [new tag] 0.3 -> 0.3 * [new tag] 0.3.0.1 -> 0.3.0.1 * [new tag] 0.3.0.3 -> 0.3.0.3 * [new tag] 0.3.1 -> 0.3.1 * [new tag] 0.3.2 -> 0.3.2 * [new tag] 0.3.3 -> 0.3.3 * [new tag] 0.3.4 -> 0.3.4 * [new tag] 0.4.1 -> 0.4.1 * [new tag] 0.4.2 -> 0.4.2 * [new tag] 0.4.3 -> 0.4.3 * [new tag] 0.4.4 -> 0.4.4 * [new tag] 0.5 -> 0.5 * [new tag] 0.5.1 -> 0.5.1 * [new tag] 0.5.10 -> 0.5.10 * [new tag] 0.5.2 -> 0.5.2 * [new tag] 0.5.3 -> 0.5.3 * [new tag] 0.5.4 -> 0.5.4 * [new tag] 0.5.5 -> 0.5.5 * [new tag] 0.5.6 -> 0.5.6 * [new tag] 0.5.7 -> 0.5.7 * [new tag] 0.5.8 -> 0.5.8 * [new tag] 0.5.9 -> 0.5.9 * [new tag] 0.6 -> 0.6 * [new tag] 0.6.1 -> 0.6.1 * [new tag] 0.6.10 -> 0.6.10 * [new tag] 0.6.11 -> 0.6.11 * [new tag] 0.6.12 -> 0.6.12 * [new tag] 0.6.13 -> 0.6.13 * [new tag] 0.6.14 -> 0.6.14 * [new tag] 0.6.15 -> 0.6.15 * [new tag] 0.6.17 -> 0.6.17 * [new tag] 0.6.18 -> 0.6.18 * [new tag] 0.6.19 -> 0.6.19 * [new tag] 0.6.2 -> 0.6.2 * [new tag] 0.6.20 -> 0.6.20 * [new tag] 0.6.21 -> 0.6.21 * [new tag] 0.6.22 -> 0.6.22 * [new tag] 0.6.22.post1 -> 0.6.22.post1 * [new tag] 0.6.22rc1 -> 0.6.22rc1 * [new tag] 0.6.3 -> 0.6.3 * [new tag] 0.6.4 -> 0.6.4 * [new tag] 0.6.5 -> 0.6.5 * [new tag] 0.6.6 -> 0.6.6 * [new tag] 0.6.7 -> 0.6.7 * [new tag] 0.6.8 -> 0.6.8 * [new tag] 0.6.9 -> 0.6.9 * [new tag] 0.7 -> 0.7 * [new tag] 0.7.1 -> 0.7.1 * [new tag] 0.7.2 -> 0.7.2 * [new tag] 0.7.2a1 -> 0.7.2a1 * [new tag] 0.7.3 -> 0.7.3 * [new tag] 0.7.4 -> 0.7.4 * [new tag] 0.7.5 -> 0.7.5 * [new tag] 0.7.6 -> 0.7.6 * [new tag] 0.7.7 -> 0.7.7 * [new tag] 0.7.8 -> 0.7.8 * [new tag] 0.7rc1 -> 0.7rc1 * [new tag] 0.7rc2 -> 0.7rc2 * [new tag] 0.8.0 -> 0.8.0 * [new tag] 0.8.0.dev0 -> 0.8.0.dev0 * [new tag] 0.8.0rc1 -> 0.8.0rc1 * [new tag] 0.9.0.dev0 -> 0.9.0.dev0 * [new tag] 0.9.0rc1 -> 0.9.0rc1 [rtd-command-info] start-time: 2026-10-14T09:46:41.095756Z, end-time: 2026-10-14T09:46:41.161644Z, duration: 0, exit-code: 0 asdf global python 3.14.6 [rtd-command-info] start-time: 2026-10-14T09:46:41.759767Z, end-time: 2026-10-14T09:46:44.574122Z, duration: 2, exit-code: 0 asdf plugin add uv updating plugin repository...From https://github.com/asdf-vm/asdf-plugins c0369a1..3715919 master -> origin/master 8f55a19..035221f dependabot/github_actions/actions/checkout-6 -> origin/dependabot/github_actions/actions/checkout-6 26de994..a1633cc dependabot/github_actions/amannn/action-semantic-pull-request-6.1.1 -> origin/dependabot/github_actions/amannn/action-semantic-pull-request-6.1.1 * [new branch] tb/remove-deleted-plugins -> origin/tb/remove-deleted-plugins HEAD is now at 3715919 feat: add elp plugin (#1089) [rtd-command-info] start-time: 2026-10-14T09:46:44.649453Z, end-time: 2026-10-14T09:46:45.869172Z, duration: 1, exit-code: 0 asdf install uv latest redirect url: https://github.com/astral-sh/uv/releases/tag/0.13.1 * Downloading uv release 0.13.1... uv 0.13.1 installation was successful! [rtd-command-info] start-time: 2026-10-14T09:46:45.943226Z, end-time: 2026-10-14T09:46:46.079033Z, duration: 0, exit-code: 0 asdf global uv latest redirect url: https://github.com/astral-sh/uv/releases/tag/0.13.1 [rtd-command-info] start-time: 2026-10-14T09:46:46.201794Z, end-time: 2026-10-14T09:46:57.667636Z, duration: 11, exit-code: 0 ( find docs/release-notes -regex '[^.]+[.][^.]+.md' | grep -q . ) && uvx hatch run docs:towncrier build --keep || true Downloading uv (16.5MiB) Downloading virtualenv (5.2MiB) Downloading pygments (1.2MiB) Downloading cryptography (4.5MiB) Downloaded pygments Downloaded virtualenv Downloaded cryptography Downloaded uv Installed 43 packages in 19ms Creating environment: docs Installing Python distribution: 3.15 Installing project in development mode error: Failed to build `h5py==3.16.0` cause: The build backend returned an error cause: Call to `backend.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py creating build/lib.linux-x86_64-cpython-315/h5py copying h5py/h5py_warnings.py -> build/lib.linux-x86_64-cpython-315/h5py copying h5py/ipy_completer.py -> build/lib.linux-x86_64-cpython-315/h5py copying h5py/__init__.py -> build/lib.linux-x86_64-cpython-315/h5py copying h5py/version.py -> build/lib.linux-x86_64-cpython-315/h5py creating build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/dataset.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/filters.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/group.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/attrs.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/datatype.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/files.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/compat.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/selections.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/base.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/vds.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/selections2.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/__init__.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl copying h5py/_hl/dims.py -> build/lib.linux-x86_64-cpython-315/h5py/_hl creating build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5s.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_file_image.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_big_endian_file.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_attrs.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_errors.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5t.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5f.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_base.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dataset.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_completions.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5o.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dataset_getitem.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_group.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_native_complex.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_attribute_create.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dtype.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dimension_scales.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_file2.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dims_dimensionproxy.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_npystrings.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/conftest.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_filters.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_attrs_data.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5z.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_dataset_swmr.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_file.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_ros3.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_selections.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_slicing.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5d_direct_chunk.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_file_alignment.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/common.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5pl.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_objects.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/__init__.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_datatype.py -> build/lib.linux-x86_64-cpython-315/h5py/tests copying h5py/tests/test_h5p.py -> build/lib.linux-x86_64-cpython-315/h5py/tests creating build/lib.linux-x86_64-cpython-315/h5py/tests/data_files copying h5py/tests/data_files/__init__.py -> build/lib.linux-x86_64-cpython-315/h5py/tests/data_files creating build/lib.linux-x86_64-cpython-315/h5py/tests/test_vds copying h5py/tests/test_vds/test_highlevel_vds.py -> build/lib.linux-x86_64-cpython-315/h5py/tests/test_vds copying h5py/tests/test_vds/test_lowlevel_vds.py -> build/lib.linux-x86_64-cpython-315/h5py/tests/test_vds copying h5py/tests/test_vds/test_virtual_source.py -> build/lib.linux-x86_64-cpython-315/h5py/tests/test_vds copying h5py/tests/test_vds/__init__.py -> build/lib.linux-x86_64-cpython-315/h5py/tests/test_vds copying h5py/tests/data_files/compound-dtype-complex.h5 -> build/lib.linux-x86_64-cpython-315/h5py/tests/data_files copying h5py/tests/data_files/vlen_string_s390x.h5 -> build/lib.linux-x86_64-cpython-315/h5py/tests/data_files copying h5py/tests/data_files/vlen_string_dset.h5 -> build/lib.linux-x86_64-cpython-315/h5py/tests/data_files copying h5py/tests/data_files/vlen_string_dset_utc.h5 -> build/lib.linux-x86_64-cpython-315/h5py/tests/data_files running build_ext Loading library to get build settings and version: libhdf5.so error: Unable to load dependency HDF5, make sure HDF5 is installed properly on sys.platform='linux' with platform.machine()='x86_64' Library dirs checked: [] [stderr] error: libhdf5.so: cannot open shared object file: No such file or directory hint: `h5py` (v3.16.0) was included because `anndata` (v0.14.0.dev75+g6bf20748c) depends on `h5py` hint: Build failures usually indicate a problem with the package or the build environment [rtd-command-info] start-time: 2026-10-14T09:46:57.745564Z, end-time: 2026-10-14T09:47:00.392677Z, duration: 2, exit-code: 1 uvx --from=hatch!=1.18.0 hatch run docs:build -T Checking dependencies Syncing dependencies error: Failed to build `h5py==3.16.0` cause: The build backend returned an error cause: Call to `backend.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py running build_ext Loading library to get build settings and version: libhdf5.so error: Unable to load dependency HDF5, make sure HDF5 is installed properly on sys.platform='linux' with platform.machine()='x86_64' Library dirs checked: [] [stderr] error: libhdf5.so: cannot open shared object file: No such file or directory hint: Build failures usually indicate a problem with the package or the build environment