blob: 0be19970481a4ab603ebbba74d8b89ef2767b7f4 [file] [log] [blame]
---
title: 'PyInfo'
---
Encapsulates information provided by the Python rules.
## Members
* [PyInfo](#PyInfo)
* [has\_py2\_only\_sources](#has_py2_only_sources)
* [has\_py3\_only\_sources](#has_py3_only_sources)
* [imports](#imports)
* [transitive\_sources](#transitive_sources)
* [uses\_shared\_libraries](#uses_shared_libraries)
## 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](../builtins/depset) of [File](../builtins/File)s; required The value for the new object's `transitive_sources` field. |
| `uses_shared_libraries` | default is `False` The value for the new object's `uses_shared_libraries` field. |
| `imports` | [depset](../builtins/depset) of [string](../core/string)s; default is `unbound` The value for the new object's `imports` field. |
| `has_py2_only_sources` | default is `False` The value for the new object's `has_py2_only_sources` field. |
| `has_py3_only_sources` | default is `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.