## py_import
py_import(name, deps, srcs)
This rule allows the use of Python packages as dependencies. It imports the given `.egg` file(s), which might be checked in source files, fetched externally as with `http_file`, or produced as outputs of other rules. It may be used like a `py_library`, in the `deps` of other Python rules. This is similar to [java_import](https://docs.bazel.build/versions/master/be/java.html#java_import). **ATTRIBUTES** | Name | Description | Type | Mandatory | Default | | :-------------: | :-------------: | :-------------: | :-------------: | :-------------: | | name | A unique name for this target. | Name | required | | | deps | The list of other libraries to be linked in to the binary target. | List of labels | optional | [] | | srcs | The list of Python package files provided to Python targets that depend on this target. Note that currently only the .egg format is accepted. For .whl files, try the whl_library rule. We accept contributions to extend py_import to handle .whl. | List of labels | optional | [] | ## py_runtime_pair
py_runtime_pair(name, py2_runtime, py3_runtime)
A toolchain rule for Python. This wraps up to two Python runtimes, one for Python 2 and one for Python 3. The rule consuming this toolchain will choose which runtime is appropriate. Either runtime may be omitted, in which case the resulting toolchain will be unusable for building Python code using that version. Usually the wrapped runtimes are declared using the `py_runtime` rule, but any rule returning a `PyRuntimeInfo` provider may be used. This rule returns a `platform_common.ToolchainInfo` provider with the following schema: ```python platform_common.ToolchainInfo( py2_runtime = , py3_runtime = , ) ``` Example usage: ```python # In your BUILD file... load("@rules_python//python:defs.bzl", "py_runtime_pair") py_runtime( name = "my_py2_runtime", interpreter_path = "/system/python2", python_version = "PY2", ) py_runtime( name = "my_py3_runtime", interpreter_path = "/system/python3", python_version = "PY3", ) py_runtime_pair( name = "my_py_runtime_pair", py2_runtime = ":my_py2_runtime", py3_runtime = ":my_py3_runtime", ) toolchain( name = "my_toolchain", target_compatible_with = <...>, toolchain = ":my_py_runtime_pair", toolchain_type = "@rules_python//python:toolchain_type", ) ``` ```python # In your WORKSPACE... register_toolchains("//my_pkg:my_toolchain") ``` **ATTRIBUTES** | Name | Description | Type | Mandatory | Default | | :-------------: | :-------------: | :-------------: | :-------------: | :-------------: | | name | A unique name for this target. | Name | required | | | py2_runtime | The runtime to use for Python 2 targets. Must have python_version set to PY2. | Label | optional | None | | py3_runtime | The runtime to use for Python 3 targets. Must have python_version set to PY3. | Label | optional | None | ## py_binary
py_binary(attrs)
See the Bazel core [py_binary](https://docs.bazel.build/versions/master/be/python.html#py_binary) documentation. **PARAMETERS** | Name | Description | Default Value | | :-------------: | :-------------: | :-------------: | | attrs | Rule attributes | none | ## py_library
py_library(attrs)
See the Bazel core [py_library](https://docs.bazel.build/versions/master/be/python.html#py_library) documentation. **PARAMETERS** | Name | Description | Default Value | | :-------------: | :-------------: | :-------------: | | attrs | Rule attributes | none | ## py_runtime
py_runtime(attrs)
See the Bazel core [py_runtime](https://docs.bazel.build/versions/master/be/python.html#py_runtime) documentation. **PARAMETERS** | Name | Description | Default Value | | :-------------: | :-------------: | :-------------: | | attrs | Rule attributes | none | ## py_test
py_test(attrs)
See the Bazel core [py_test](https://docs.bazel.build/versions/master/be/python.html#py_test) documentation. **PARAMETERS** | Name | Description | Default Value | | :-------------: | :-------------: | :-------------: | | attrs | Rule attributes | none | ## find_requirements
find_requirements(name)
The aspect definition. Can be invoked on the command line as bazel build //pkg:my_py_binary_target --aspects=@rules_python//python:defs.bzl%find_requirements --output_groups=pyversioninfo **ASPECT ATTRIBUTES** | Name | Type | | :-------------: | :-------------: | | deps| String | **ATTRIBUTES** | Name | Description | Type | Mandatory | Default | | :-------------: | :-------------: | :-------------: | :-------------: | :-------------: | | name | A unique name for this target. | Name | required | |