No project description provided
Project description
This is a Bazel Runfiles lookup library for Bazel-built Python binaries and tests.
Learn about runfiles: read Runfiles guide or watch Fabian’s BazelCon talk.
Typical Usage
Add the ‘bazel-runfiles’ dependency along with other third-party dependencies, for example in your requirements.txt file.
Depend on this runfiles library from your build rule, like you would other third-party libraries:
py_binary( name = "my_binary", ... deps = [requirement("bazel-runfiles")], )
Import the runfiles library:
import runfiles # not "from runfiles import runfiles"
Create a Runfiles object and use rlocation to look up runfile paths:
r = runfiles.Create() ... with open(r.Rlocation("my_workspace/path/to/my/data.txt"), "r") as f: contents = f.readlines() ...
The code above creates a manifest- or directory-based implementations based on the environment variables in os.environ. See Create() for more info.
If you want to explicitly create a manifest- or directory-based implementations, you can do so as follows:
r1 = runfiles.CreateManifestBased("path/to/foo.runfiles_manifest") r2 = runfiles.CreateDirectoryBased("path/to/foo.runfiles/")
If you want to start subprocesses, and the subprocess can’t automatically find the correct runfiles directory, you can explicitly set the right environment variables for them:
import subprocess import runfiles r = runfiles.Create() env = {} ... env.update(r.EnvVars()) p = subprocess.Popen([r.Rlocation("path/to/binary")], env, ...)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for bazel_runfiles-0.24.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ff2fd30d0839f2df0ad2a0889e340ebb9989158b244bfdaee7f03a5f5014b71 |
|
MD5 | d895af4bdf3c746986632b0cdddbb481 |
|
BLAKE2b-256 | 3be1892ea538ac5de4b4c850247ea6f8fd4f6478fbd0f85a3667d79fb01b3a98 |