Skip to content

Commit f394741

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 68acc20 commit f394741

2 files changed

Lines changed: 99 additions & 45 deletions

File tree

pyproject.toml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,29 @@ libvcs = "libvcs.pytest_plugin"
115115
requires = ["hatchling"]
116116
build-backend = "hatchling.build"
117117

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

uv.lock

Lines changed: 76 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)