Read the Docs build information Build id: 4588426 Project: icb-scanpy Version: 4424 Commit: 9a760698b4cbc1809a8c28d829f0c8d3fa4d65e9 Date: 2026-10-18T12:58:02.988332Z State: finished Success: False [rtd-command-info] start-time: 2026-10-18T12:58:03.644756Z, end-time: 2026-10-18T12:58:05.905304Z, duration: 2, exit-code: 0 git clone --depth 1 https://github.com/scverse/scanpy.git . Cloning into '.'... [rtd-command-info] start-time: 2026-10-18T12:58:05.975081Z, end-time: 2026-10-18T12:58:08.040399Z, duration: 2, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/4424/head:external-4424 From https://github.com/scverse/scanpy * [new ref] refs/pull/4424/head -> external-4424 * [new tag] 1.13.0a2 -> 1.13.0a2 [rtd-command-info] start-time: 2026-10-18T12:58:08.733593Z, end-time: 2026-10-18T12:58:08.996682Z, duration: 0, exit-code: 0 git checkout --force 9a760698b4cbc1809a8c28d829f0c8d3fa4d65e9 Note: switching to '9a760698b4cbc1809a8c28d829f0c8d3fa4d65e9'. 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 9a76069 test: cover the largest key first in the correction test [rtd-command-info] start-time: 2026-10-18T12:58:09.069968Z, end-time: 2026-10-18T12:58:09.101712Z, duration: 0, exit-code: 0 cat .readthedocs.yml # https://docs.readthedocs.io/page/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 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-18T12:58:09.178610Z, end-time: 2026-10-18T12:58:11.826222Z, duration: 2, 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.12.0 -> 1.12.0 * [new tag] 1.12.0rc1 -> 1.12.0rc1 * [new tag] 1.13.0a1 -> 1.13.0a1 * [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 [rtd-command-info] start-time: 2026-10-18T12:58:17.940492Z, end-time: 2026-10-18T12:58:18.008489Z, duration: 0, exit-code: 0 asdf global python 3.14.6 [rtd-command-info] start-time: 2026-10-18T12:58:18.666149Z, end-time: 2026-10-18T12:58:21.244400Z, 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-18T12:58:21.330686Z, end-time: 2026-10-18T12:58:22.324001Z, duration: 0, 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-18T12:58:22.394452Z, end-time: 2026-10-18T12:58:23.542254Z, duration: 1, 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-18T12:58:23.672647Z, end-time: 2026-10-18T12:58:28.363607Z, duration: 4, exit-code: 0 ( find docs/release-notes -regex '[^.]+[.][^.]+.md' | grep -q . ) && uvx hatch run towncrier build --keep || true Downloading virtualenv (5.2MiB) Downloading cryptography (4.5MiB) Downloading pygments (1.2MiB) Downloading uv (16.5MiB) Downloaded pygments Downloaded virtualenv Downloaded cryptography Downloaded uv Installed 43 packages in 13ms Creating environment: default Installing project in development mode Checking dependencies Syncing dependencies Loading template... Finding news fragments... Rendering news fragments... Writing to newsfile... Staging newsfile... Keeping the following files: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4329.fix.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4390.chore.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4333.feat.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4424.feat.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4389.fix.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4298.fix.md /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/4424/docs/release-notes/4325.feat.md Done! [rtd-command-info] start-time: 2026-10-18T12:58:28.435548Z, end-time: 2026-10-18T12:58:41.167849Z, duration: 12, exit-code: 2 uvx --from=hatch!=1.18.0 hatch run docs:build -T Creating environment: docs Installing project in development mode Checking dependencies Syncing dependencies Running Sphinx v9.1.0 loading translations [en]... done Versions ======== * Platform: linux; (Linux-7.0.0-1004-aws-x86_64-with-glibc2.43) * Python version: 3.14.6 (CPython) * Sphinx version: 9.1.0 * Docutils version: 0.22.4 * Jinja2 version: 3.1.6 * Pygments version: 2.21.0 Last Messages ============= None. Loaded Extensions ================= None. Traceback ========= Traceback (most recent call last): File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/cmd/build.py", line 414, in build_main app = Sphinx( srcdir=args.sourcedir, ...<14 lines>... exception_on_warning=args.exception_on_warning, ) File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/application.py", line 299, in __init__ self.setup_extension(extension) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/application.py", line 505, in setup_extension self.registry.load_extension(self, extname) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/registry.py", line 569, in load_extension metadata = setup(app) File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/scanpydoc/__init__.py", line 44, in setup app.setup_extension("scanpydoc.elegant_typehints") ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/application.py", line 505, in setup_extension self.registry.load_extension(self, extname) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx/registry.py", line 569, in load_extension metadata = setup(app) File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/scanpydoc/elegant_typehints/__init__.py", line 169, in setup from ._formatting import typehints_formatter File "/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/scanpydoc/elegant_typehints/_formatting.py", line 6, in from sphinx_autodoc_typehints import format_annotation ImportError: cannot import name 'format_annotation' from 'sphinx_autodoc_typehints' (/home/docs/.local/share/hatch/env/virtual/scanpy/vQib2sWb/docs/lib/python3.14/site-packages/sphinx_autodoc_typehints/__init__.py) The full traceback has been saved in: /tmp/sphinx-err-1dvdtdgp.log To report this error to the developers, please open an issue at . Thanks! Please also report this if it was a user error, so that a better error message can be provided next time.