Skip to content

Commit 18a589f

Browse files
committed
py(deps[uv]) Whitelist git-pull packages from exclude-newer cooldown
why: With gp-sphinx 0.0.1a10 just published (and any of its workspace siblings minted at the same time), the rolling exclude-newer = now − P3D window in the lockfile filters every release younger than 3 days. Until the window naturally clears, contributor uv sync --all-extras --dev --upgrade would fail with: × No solution found when resolving dependencies: ╰─▶ Because there is no version of gp-sphinx==0.0.1a10 ... hint: 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 (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 from the cooldown. 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. uv writes a matching [options.exclude-newer-package] block; the 0.0.1a10 line resolves cleanly from PyPI.
1 parent 5fbc96b commit 18a589f

2 files changed

Lines changed: 102 additions & 44 deletions

File tree

pyproject.toml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,29 @@ cihai = "cihai_cli.cli:cli"
123123
requires = ["hatchling"]
124124
build-backend = "hatchling.build"
125125

126+
[tool.uv.exclude-newer-package]
127+
# git-pull packages release in lockstep with their workspaces, so a
128+
# fresh release blocking on the 3-day cooldown blocks every
129+
# contributor's `uv sync` until it clears. `false` exempts each
130+
# from any `exclude-newer` constraint (global or per-user) without
131+
# committing a date that would age into the lockfile. Mirrors the
132+
# pattern at vcspull/pyproject.toml for libvcs.
133+
gp-libs = false
134+
gp-sphinx = false
135+
sphinx-autodoc-api-style = false
136+
sphinx-autodoc-argparse = false
137+
sphinx-autodoc-docutils = false
138+
sphinx-autodoc-fastmcp = false
139+
sphinx-autodoc-pytest-fixtures = false
140+
sphinx-autodoc-sphinx = false
141+
sphinx-autodoc-typehints-gp = false
142+
sphinx-fonts = false
143+
sphinx-gp-opengraph = false
144+
sphinx-gp-sitemap = false
145+
sphinx-gp-theme = false
146+
sphinx-ux-autodoc-layout = false
147+
sphinx-ux-badges = false
148+
126149
[tool.mypy]
127150
strict = true
128151
python_version = "3.10"

0 commit comments

Comments
 (0)