Skip to content

Commit 6c0a0b2

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 742cc95 commit 6c0a0b2

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
@@ -113,6 +113,29 @@ lint = [
113113
requires = ["hatchling"]
114114
build-backend = "hatchling.build"
115115

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

0 commit comments

Comments
 (0)