bazel-contrib / bazel-contrib/rules_python
Add repl_env dependency support
- Dominant language
- Starlark
- Stars
- 688
- Forks
- 721
- Avg merge
- 15h 7m
- Merged PRs (30d)
- 76
Description
# 🚀 feature request
### Relevant Rules
Relevant rules are `//python/bin:repl` & `//python/bin:repl_env`.
### Description
Goal would be to enable repl use similar to how is is used now:
`bazel run @rules_python//python/bin:repl --@rules_python//python/bin:repl_dep=//python:my_rule_with_deps`
This is how I start interactive shells with access to runfiles and python packages depended on by the specified label.
It would be convenient to also enable the same for environment variables specified in that label. Could potentially be added to repl_dep. Alternative is:
--@rules_python//python/bin:repl_env=//python:my_rule_with_deps
### Potential Solution
Could add env attr assingment [here](https://github.com/bazel-contrib/rules_python/blob/bb2aad2d1e3f883c9cdc2264e0b4a2815233db57/python/bin/BUILD.bazel#L34).
kwargs forwarding should take care of any changes needed in py_binary_rule impl (I think).
Contributor guide
Research direction
Start at python/bin/BUILD.bazel around line 34 and inspect the //python/bin:repl and //python/bin:repl_env definitions, including how repl_dep is handled. Determine whether environment variables from the label passed to repl_dep should be supported or exposed through repl_env, then verify that the interactive shell receives those variables when run with the specified label.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100