Bump gp-sphinx → 0.0.1a16 (sphinx-vite-builder consolidation)#1037
Merged
Bump gp-sphinx → 0.0.1a16 (sphinx-vite-builder consolidation)#1037
Conversation
why: gp-sphinx 0.0.1a16.dev4 ships the sphinx-vite-builder consolidation (PR git-pull/gp-sphinx#29). The new package replaces gp-sphinx-vite, fixes the unstyled-wheel bug from a15, and adds a hatchling build-hook variant alongside the existing PEP 517 backend. what: - bump every gp-sphinx workspace pin in pyproject.toml + uv.lock - add [tool.uv].prerelease = "allow" so uv resolves the *.dev4 pins - drop legacy gp-sphinx-vite references (the package no longer exists)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1037 +/- ##
=======================================
Coverage 81.96% 81.96%
=======================================
Files 28 28
Lines 2545 2545
Branches 485 485
=======================================
Hits 2086 2086
Misses 328 328
Partials 131 131 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tony
added a commit
to git-pull/gp-sphinx
that referenced
this pull request
May 3, 2026
A new `sphinx-vite-builder` package consolidates the workspace's Vite story into one place with three orthogonal activation paths sharing one async-subprocess core: a PEP 517 build backend, a hatchling build hook, and a Sphinx extension. Replaces `gp-sphinx-vite` (deleted) and fixes the `0.0.1a15` regression where `gp-furo-theme` published wheels with an empty `static/` tree, leaving docs sites unstyled. The whole product is the wheel-vs-source asymmetry: a `web/` directory triggers strict orchestration with fast-fail diagnostics (`PnpmMissingError`, `NodeModulesInstallError`, `ViteFailedError`, each carrying a copy-pasteable hint); an absent `web/` (the unpacked-sdist case) short-circuits cleanly so wheels published to PyPI need zero toolchain on the consumer side. Errors are self-healing in CI — detected providers (GitHub Actions, CircleCI, Azure Pipelines, GitLab CI) get the right setup recipe inlined into the error message. **New package — three activation paths:** - **PEP 517 backend** at `sphinx_vite_builder.build`. Drop-in for `hatchling.build`; runs `pnpm exec vite build` before delegating wheel/sdist construction. - **Hatchling build hook** at `[tool.hatch.build.hooks.vite]`. Same orchestration via hatchling's plugin system; composes with other hatchling hooks. - **Sphinx extension** registered by `setup()`. One-shot vite build under `sphinx-build`; long-running `vite build --watch` under `sphinx-autobuild` with graceful SIGTERM→SIGKILL teardown via `os.killpg` on the POSIX session group. **Bug fix — `gp-furo-theme` wheels now ship vite-built CSS and JS.** `0.0.1a15` published wheels with an empty `static/` because hatchling's `force-include` rejected the gitignored Vite output; `sphinx-build` then silently skipped the missing entries. The backend now builds assets at release time and hatchling packs them via `[tool.hatch.build] artifacts`. **Workspace migration.** Consumers using `merge_sphinx_config(vite_orchestration=True)` continue to work unchanged — the auto-injection points at `sphinx_vite_builder` now. Power users with raw `extensions = ["gp_sphinx_vite"]` or `gp_sphinx_vite_root = ...` in `conf.py` rename to `sphinx_vite_builder` / `sphinx_vite_builder_root`. **Released as `0.0.1a16.dev4`.** All workspace packages bumped in lockstep; `gp-sphinx-vite` retired (issue #32 tracks the manual PyPI yank). **Cross-repo validation.** Production deploys verified live across the consumer corpus — `cihai.git-pull.com`, `libtmux.git-pull.com`, `tmuxp.git-pull.com`, `vcspull.git-pull.com` and 6 others all serve the new theme assets (curl against `_static/styles/furo-tw.css` returns 200 across the board, fixing the `a15` 404 regression). Breaking changes: - `gp-sphinx-vite` package retired. Workspace consumers via `merge_sphinx_config(vite_orchestration=True)` are unaffected; hand-rolled `extensions = ["gp_sphinx_vite"]` callers must rename to `"sphinx_vite_builder"`. Config keys renamed: `gp_sphinx_vite_{mode,root}` → `sphinx_vite_builder_{mode,root}`. Closes #28. Closes #30 (Phase 2). Closes #31 (Phase 3). Tracks #32 for the manual PyPI yank. See also: - Cross-repo integration: tmux-python/libtmux-mcp#33 - Consumer rollout: cihai/cihai#399, cihai/cihai-cli#348, cihai/unihan-db#364, cihai/unihan-etl#356, vcs-python/vcspull#547, vcs-python/libvcs#526, vcs-python/g#55, git-pull/gp-libs#69, tmux-python/libtmux#666, tmux-python/tmuxp#1037 - maturin (Rust+Cargo analog): https://github.com/PyO3/maturin - sphinx-theme-builder (webpack analog): https://github.com/pradyunsg/sphinx-theme-builder
why: gp-sphinx 0.0.1a16 (final) is on PyPI. Promote off the pre-release pin and drop the [tool.uv].prerelease workaround that was only needed to resolve *.devN versions. what: - bump every gp-sphinx workspace pin in pyproject.toml + uv.lock - drop the [tool.uv] block carrying prerelease = "allow"; the [tool.uv.exclude-newer-package] section it sat above is unchanged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pulls in the
sphinx-vite-builderconsolidation from git-pull/gp-sphinx#29 (released to PyPI asgp-sphinx 0.0.1a16).What ships
gp-sphinxworkspace pins bumped to0.0.1a16gp-sphinx-vitereferences dropped (package retired)Why
gp-furo-themeis a Tailwind v4 respin of Furo, so docs sites pick up the new rendering when this landssphinx-vite-builderowns the Vite asset pipeline end-to-end — wheels ship with the static tree pre-baked, source builds error loudly without pnpm/Node and self-heal in CI with copy-pasteable setup recipestmux-python/libtmux-mcp#33ran green against the pre-release cut; this is the unchanged code path promoted to a final releaseSee: https://pypi.org/project/gp-sphinx/0.0.1a16