Extensions > API reference > PyInfo

PyInfo

Encapsulates information provided by the Python rules.

PyInfo

PyInfo PyInfo(transitive_sources, uses_shared_libraries=False, imports=unbound, has_py2_only_sources=False, has_py3_only_sources=False)

The PyInfo constructor.

Parameters

Parameter Description
transitive_sources depset of Files; required
The value for the new object's transitive_sources field.
uses_shared_libraries default = False
The value for the new object's uses_shared_libraries field.
imports depset of strings; default = unbound
The value for the new object's imports field.
has_py2_only_sources default = False
The value for the new object's has_py2_only_sources field.
has_py3_only_sources default = False
The value for the new object's has_py3_only_sources field.

has_py2_only_sources

bool PyInfo.has_py2_only_sources

Whether any of this target's transitive sources requires a Python 2 runtime.

has_py3_only_sources

bool PyInfo.has_py3_only_sources

Whether any of this target's transitive sources requires a Python 3 runtime.

imports

depset PyInfo.imports

A depset of import path strings to be added to the PYTHONPATH of executable Python targets. These are accumulated from the transitive deps.

The order of the depset is not guaranteed and may be changed in the future. It is recommended to use default order (the default).

transitive_sources

depset PyInfo.transitive_sources

A (postorder-compatible) depset of .py files appearing in the target's srcs and the srcs of the target's transitive deps.

uses_shared_libraries

bool PyInfo.uses_shared_libraries

Whether any of this target's transitive deps has a shared library file (such as a .so file).

This field is currently unused in Bazel and may go away in the future.