- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 636
 
Open
Labels
Description
Just creating this as a placeholder for discussions and documenting some thoughts/findings. rules_uv is doing its job well and replicating the functionality in rules_python would be duplicate effort. However, rules_uv does not support WORKSPACE installations (at least the releases don't advertise such support) and rules_python needs to support WORKSPACE installations.
As a result I see the following options:
- Do not support 
uv. This has a drawback of longer compilation times with the includedpip-compiletooling.uvis just a binary and could in theory be later reused for common operations with whl packages. - Support 
uvonly onbzlmodby includingrules_uvas a dependency. This would require us to exposerules_uvvia@python_versionsor something similar so that we don't have loads that loadrules_uvwithin the main//python/*.bzlfiles to avoid breakingWORKSPACEusers. However this would not allow us to use it for our own example testing because they should produce the same output with and without bzlmod. Since we cannot dog-foodrules_uv, it makes it a hard proposition. - Write the 
WORKSPACEdeps.bzlimplementation forrules_uvso that we can depend on it. - Support 
uvby copying/reimplementing theuvsupport as a separate rule/macro whilst not relying onrules_uv. The drawback is that we would have to reimplement parts of it, but the benefit would be that the extra tests that we would need to have would be next to the implementation. We could also provide Windows support in this way asrules_uvdoes not support Windows yet due to relying onbashscripting forpip_compile. 
groodt, EricCousineau-TRI, ctcjab, lamcw, jamison-lahman-ai and 9 morealbertocavalcante