Skip to content

Commit c0671bf

Browse files
timsaucerclaude
andcommitted
fix(deps): pin typing-extensions to one version so uv.lock parses in CI
Adding the myst-nb docs stack pulled a newer typing-extensions only on Python < 3.11, splitting it into two locked versions. Our own `typing-extensions; python_full_version < '3.13'` dependency then spanned that split, which uv recorded as a multi-version edge without a `version` field — a form older uv builds (the one in CI's pinned setup-uv) reject with "missing source field but has more than one matching package". Add a [tool.uv] constraint-dependencies pin of typing-extensions>=4.15.0 so it resolves to a single version across all supported Pythons, removing the fork and the under-specified edge. Relocked; uv lock --locked is clean and no multi-version package has a marker-only edge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c600bf1 commit c0671bf

2 files changed

Lines changed: 270 additions & 181 deletions

File tree

pyproject.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,16 @@ skip = [
192192
count = true
193193
ignore-words-list = ["IST", "ans"]
194194

195+
[tool.uv]
196+
# Keep typing-extensions on a single version across all supported Pythons.
197+
# Adding the docs `myst-nb` stack pulled a newer typing-extensions only on
198+
# Python < 3.11, splitting it into two locked versions. Our own
199+
# `typing-extensions; python_full_version < '3.13'` dependency then spanned
200+
# that split, which uv records as an under-specified lock entry that older
201+
# uv versions (such as the one in CI) refuse to parse. Pinning to one
202+
# version removes the fork.
203+
constraint-dependencies = ["typing-extensions>=4.15.0"]
204+
195205
[dependency-groups]
196206
dev = [
197207
"arro3-core==0.6.5",

0 commit comments

Comments
 (0)