Import .whl files into Bazel.

Rules

whl_library

A rule for importing .whl dependencies into Bazel.

This rule is currently used to implement pip_import. It is not intended to work standalone, and the interface may change. See pip_import for proper usage.

This rule imports a .whl file as a py_library:

whl_library(
    name = "foo",
    whl = ":my-whl-file",
    requirements = "name of pip_import rule",
)

This rule defines @foo//:pkg as a py_library target.

Example usage (generated)

load("@rules_python//python:whl.bzl", "whl_library")

whl_library(
    # A unique name for this repository.
    name = "",
    # A dictionary from local repository name to global repository name
    repo_mapping = {},
    # The path to the `.whl` file
    whl = "",
)

name

A unique name for this repository.

extras

A subset of the "extras" available from this .whl for which requirements has the dependencies.

python_interpreter

The command to run the Python interpreter used when unpacking the wheel.

repo_mapping

A dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.

For example, an entry "@foo": "@bar" declares that, for any time this repository depends on @foo (such as a dependency on @foo//some:target, it should actually resolve that dependency within globally-declared @bar (@bar//some:target).

requirements

The name of the pip_import repository rule from which to load this .whl's dependencies.

whl

The path to the .whl file. The name is expected to follow this convention).