-
-
Couldn't load subscription status.
- Fork 635
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 8 morealbertocavalcante