Skip to content

Conversation

JasonHonKL
Copy link
Contributor

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!

Copy link

@greptile-apps greptile-apps bot left a 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

Edit Code Review Bot Settings | Greptile

[tool.semantic_release]
version_variables = ["pyproject.toml:version"]
commit_parser = "angular"
build_command = "poetry build"
Copy link

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

Suggested change
build_command = "poetry build"
build_command = "hatch build"

Comment on lines +75 to +78
If you would like to use uv instead, copy and paste **pyproject-uv.toml** to **pyproject.toml**, then run the following command.
```
uv sync
```
Copy link

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.

@JasonHonKL
Copy link
Contributor Author

@marcellodebernardi PTAL thanks a lot !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant