-
Notifications
You must be signed in to change notification settings - Fork 201
feat/ uv environment support #146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Summary
This PR adds support for the UV package manager as an alternative to Poetry by introducing a new pyproject-uv.toml
file and updating the contributing documentation. UV is a faster Python package installer and resolver that has gained popularity in the Python ecosystem.
The changes convert the existing Poetry-specific configuration format to the standard PEP 621 format that UV can understand. This includes restructuring dependency declarations, moving development dependencies to dependency-groups, and switching from Poetry's build backend to Hatchling. The PR also updates CONTRIBUTING.md
to provide instructions for users who want to use UV instead of Poetry.
This change fits into the broader Python ecosystem trend of supporting multiple package management tools and giving developers choice in their tooling. However, the implementation creates potential maintenance overhead by requiring two separate dependency configuration files that need to be kept in sync.
Important Files Changed
Files Modified
Filename | Score | Overview |
---|---|---|
pyproject-uv.toml | 2/5 | New UV-compatible configuration file with version constraint inconsistencies and build system conflicts |
CONTRIBUTING.md | 2/5 | Added UV usage instructions that require manual file overwriting, creating potential confusion |
Confidence score: 2/5
- This PR introduces significant risk due to dependency version mismatches and confusing setup instructions that could break existing workflows
- Score reflects serious concerns about version constraint inconsistencies between dependency files and the problematic manual file copying approach
- Pay close attention to both files - the pyproject-uv.toml has dependency conflicts and the CONTRIBUTING.md instructions could confuse users
2 files reviewed, 2 comments
[tool.semantic_release] | ||
version_variables = ["pyproject.toml:version"] | ||
commit_parser = "angular" | ||
build_command = "poetry build" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Build command still references 'poetry build' but this file uses Hatchling backend
build_command = "poetry build" | |
build_command = "hatch build" |
If you would like to use uv instead, copy and paste **pyproject-uv.toml** to **pyproject.toml**, then run the following command. | ||
``` | ||
uv sync | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Instructing users to copy pyproject-uv.toml over pyproject.toml is problematic. This overwrites the Poetry configuration and could break the existing setup. Consider using uv sync --pyproject pyproject-uv.toml
or documenting this as an either/or choice, not an alternative.
@marcellodebernardi PTAL thanks a lot ! |
Currently, there is no file that supports uv. Therefore, I added a file named pyproject-uv.toml so that anyone like me who loves using uv can easily solve this issue.
I don’t think this PR will cause any other issues. Thanks a lot!