A rule for importing requirements.txt
dependencies into Bazel.
This rule imports a requirements.txt
file and generates a new requirements.bzl
file. This is used via the WORKSPACE
pattern:
pip_import( name = "foo", requirements = ":requirements.txt", ) load("@foo//:requirements.bzl", "pip_install") pip_install()
You can then reference imported dependencies from your BUILD
file with:
load("@foo//:requirements.bzl", "requirement") py_library( name = "bar", ... deps = [ "//my/other:dep", requirement("futures"), requirement("mock"), ], )
Or alternatively:
load("@foo//:requirements.bzl", "all_requirements") py_binary( name = "baz", ... deps = [ ":foo", ] + all_requirements, )
Pull in dependencies needed to use the packaging rules.