bazel-contrib / bazel-contrib/rules_uv

create_venv site_packages_extra_files should include transitive dependencies

Open
#297 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
29
Forks
12
PR merge metrics
No merged PRs in 30d

Description

If I use `site_packages_extra_files` to add a local target to the venv like this:

```
create_venv(
name = "create_venv_hello_bin",
destination_folder = ".venv",
requirements_txt = "//requirements.lock",
site_packages_extra_files = [
"//hello_bin",
],
)
```

It includes *just* the listed target, and not any of its transitive dependencies.

In my example, `hello_bin` depends on `hello_lib`. And `hello_lib` is not in the venv.

Contributor guide

Open the contributing guide

Research direction

Start at the create_venv rule and trace how site_packages_extra_files is resolved, using the hello_bin and hello_lib example from the issue. Done means the venv contains both the explicitly listed target and its transitive dependencies; verify this with the existing repository checks or a focused reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.