Use uv in CI instead of pip#215
Merged
Merged
Conversation
Everywhere else in this repo (AGENTS.md, local dev commands) uses `uv run`, and there's already a committed uv.lock -- CI was the odd one out, floating dev-dependency versions on every run via `pip install --group dev` instead of installing the exact locked versions. Switch to astral-sh/setup-uv + `uv sync --group dev`, and run every subsequent command via `uv run` for consistency and speed. build/twine aren't part of the dev dependency group, so they use `uv run --with <tool>` for ephemeral installs rather than adding packaging-only tools to the lockfile. Verified locally: uv sync, ruff, mypy, pytest, build --sdist, twine check, sphinx-build (html + doctest), and python -m doctest README.rst all pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Summary
AGENTS.md, local dev commands) usesuv run, and there's already a committeduv.lock-- CI was the odd one out, usingpip install --group devwhich floats dependency versions on every run instead of installing the exact locked versions.astral-sh/setup-uv+uv sync --group dev(with caching enabled), and every subsequent command (ruff,mypy,pytest,sphinx-build,python -m doctest) now runs viauv runfor consistency and speed.build/twinearen't part of the project'sdevdependency group, so they useuv run --with <tool>for ephemeral installation rather than adding packaging-only tools to the lockfile.Test plan
uv sync --group dev— resolves and installs cleanly from the lockfileuv run ruff check— passesuv run mypy— passesuv run pytest— 1274 passed, 22 xfaileduv run --with build python -m build --sdist+uv run --with twine twine check dist/*— builds and passesuv run sphinx-build -b html docs dist/docs— buildsuv run sphinx-build -b doctest docs dist/doctest— 186/186 passeduv run python -m doctest README.rst— passes🤖 Generated with Claude Code