Skip to content

Commit b893a1c

Browse files
committed
py(deps[uv]) Whitelist git-pull packages from exclude-newer cooldown
why: libtmux-mcp's pinned gp-sphinx workspace just bumped to 0.0.1a10 (released 2026-04-25), but the rolling `exclude-newer = now − P3D` window in the lockfile filters every release younger than 3 days. Until the window naturally clears, `uv sync --all-extras --dev --upgrade` fails on `main` with: × No solution found when resolving dependencies: ╰─▶ Because there is no version of gp-sphinx==0.0.1a10 ... libtmux-mcp:dev's requirements are unsatisfiable. hint: `gp-sphinx` was filtered by `exclude-newer` to only include packages uploaded before 2026-04-22T23:44:00Z. The requested version, v0.0.1a10, was published at 2026-04-25T23:09:08Z. Consider using `exclude-newer-package` to override the cutoff for this package. The cooldown exists for supply-chain hygiene against unfamiliar upstreams. git-pull packages aren't an unfamiliar upstream — gp == git-pull, and so are we — so the cooldown adds friction without adding safety. Every workspace release would otherwise block every contributor's sync for three days. vcspull solved the identical pattern for libvcs in ~/work/python/vcspull/pyproject.toml; this commit mirrors that approach, extended to cover the full git-pull dep surface libtmux-mcp pulls in (gp-libs as a standalone utility, gp-sphinx plus its workspace siblings as the docs stack). what: - pyproject.toml: add a [tool.uv.exclude-newer-package] block exempting every git-pull-authored package libtmux-mcp depends on (directly or transitively via gp-sphinx). gp-libs leads as the standalone utility; gp-sphinx and its workspace packages (sphinx-autodoc-*, sphinx-gp-*, sphinx-ux-*, sphinx-fonts) follow in alphabetical order. Comment cites the vcspull/libvcs precedent so future maintainers know why the override exists. - uv.lock: regenerated via `uv sync --all-extras --dev --upgrade`. uv writes a matching [options.exclude-newer-package] block; the 0.0.1a10 line resolves cleanly from PyPI (no more git+ssh sources in the lock).
1 parent 64b640a commit b893a1c

2 files changed

Lines changed: 108 additions & 54 deletions

File tree

pyproject.toml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,29 @@ lint = [
109109
requires = ["hatchling"]
110110
build-backend = "hatchling.build"
111111

112+
[tool.uv.exclude-newer-package]
113+
# git-pull packages release in lockstep with their workspaces, so a
114+
# fresh release blocking on the 3-day cooldown blocks every
115+
# contributor's `uv sync` until it clears. `false` exempts each
116+
# from any `exclude-newer` constraint (global or per-user) without
117+
# committing a date that would age into the lockfile. Mirrors the
118+
# pattern at vcspull/pyproject.toml for libvcs.
119+
gp-libs = false
120+
gp-sphinx = false
121+
sphinx-autodoc-api-style = false
122+
sphinx-autodoc-argparse = false
123+
sphinx-autodoc-docutils = false
124+
sphinx-autodoc-fastmcp = false
125+
sphinx-autodoc-pytest-fixtures = false
126+
sphinx-autodoc-sphinx = false
127+
sphinx-autodoc-typehints-gp = false
128+
sphinx-fonts = false
129+
sphinx-gp-opengraph = false
130+
sphinx-gp-sitemap = false
131+
sphinx-gp-theme = false
132+
sphinx-ux-autodoc-layout = false
133+
sphinx-ux-badges = false
134+
112135
[tool.mypy]
113136
strict = true
114137
python_version = "3.10"

0 commit comments

Comments
 (0)