From 41676fe3e1e1c33cd8b4f10583eea09a4fb32ffd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 15:32:02 +0000 Subject: [PATCH 1/2] ci(docs): install uv from PyPI on Read the Docs Read the Docs builds fail in pre_create_environment: asdf resolves and downloads uv from GitHub releases, which the builders intermittently can't reach ('No compatible versions available (uv [0-9])', then a 504 on the download), on main as on PRs. Install uv with pip from PyPI instead, and run it as 'python -m uv', which needs no asdf shim on PATH. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_019U8u44xFH87Am2mNHVrimP --- .readthedocs.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 5a3dca17..b411b8bd 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -17,10 +17,10 @@ build: jobs: pre_create_environment: - - asdf plugin add uv - - asdf install uv latest - - asdf global uv latest + # uv from PyPI, not from GitHub releases (which Read the Docs' builders can't + # always reach), run as a module so that no shim is needed on PATH. + - python -m pip install uv create_environment: - - uv venv "${READTHEDOCS_VIRTUALENV_PATH}" + - python -m uv venv "${READTHEDOCS_VIRTUALENV_PATH}" install: - - UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" uv sync --frozen --group docs + - UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" python -m uv sync --frozen --group docs From 914d4f441865b30e8c67fab4eee8019ba00cd250 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 15:33:12 +0000 Subject: [PATCH 2/2] ci(docs): call uv through asdf's shim on Read the Docs The install step runs in the activated virtualenv, whose python has no uv, so 'python -m uv sync' failed there. Reshim asdf's python after installing uv, and call uv by name, as before. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_019U8u44xFH87Am2mNHVrimP --- .readthedocs.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index b411b8bd..e0f9199c 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -18,9 +18,11 @@ build: jobs: pre_create_environment: # uv from PyPI, not from GitHub releases (which Read the Docs' builders can't - # always reach), run as a module so that no shim is needed on PATH. + # always reach). The reshim puts asdf's shim for it on PATH, which the install + # step, run in the activated virtualenv, needs. - python -m pip install uv + - asdf reshim python create_environment: - - python -m uv venv "${READTHEDOCS_VIRTUALENV_PATH}" + - uv venv "${READTHEDOCS_VIRTUALENV_PATH}" install: - - UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" python -m uv sync --frozen --group docs + - UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" uv sync --frozen --group docs