Repository navigation
Add PEP 735 dependency group support to UvBuilder - #9
Merged
Merged
Conversation
Keep the two-argument Uv.sync for backward compatibility, and fold the appose.json state checks into the existing pyproject tests, to avoid building two extra environments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A pyproject.toml-based uv environment keeps its venv in .venv, with no pyvenv.cfg at the top level, so Appose.wrap fell back to SimpleBuilder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ctrueden
force-pushed
the
uv-builder-groups
branch
2 times, most recently
from
October 9, 2026 05:41
0d5f211 to
337f0e5
Compare
Service.close() only begins the worker's shutdown. A test that deletes the environment right afterward, e.g. to rebuild it, could then fail on Windows, where the still-running python.exe cannot be deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Groups are not recorded in pyproject.toml, so wrapping a group-enabled environment lost them: the environment then looked stale versus its appose.json, and was immediately re-synced without the groups, removing their packages. Restore them from appose.json instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ctrueden
force-pushed
the
uv-builder-groups
branch
from
October 9, 2026 05:58
337f0e5 to
3e6192f
Compare
Member
|
Thank you very much, @yzx9! For the equivalent commits in appose-python, see: |
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.
group(String...)method toUvBuilderthat maps touv sync --group, enabling PEP 735 dependency groups selectionappose.jsononly when non-empty, preserving backward compatibility with existing environmentsgroup()is only used withpyproject.tomlschemecloses apposed/appose#32
Example
Test plan
testUvPyprojectWithGroup: builds env with--group cowsayand verifies cowsay is availabletestUvGroupRejectsWithoutPyproject: confirmsIllegalArgumentExceptionwhen usinggroup()withoutpyproject.tomltestUvStateNoGroupField: verifiesappose.jsonhas no groups field when none specified (backward compat)testUvStateGroupFieldPresent: verifiesappose.jsoncontains groups when specifiedAll 7
UvBuilderTesttests pass