Extensions > API reference > PyRuntimeInfo

PyRuntimeInfo

Contains information about a Python runtime, as returned by the py_runtimerule.

A Python runtime describes either a platform runtime or an in-build runtime. A platform runtime accesses a system-installed interpreter at a known path, whereas an in-build runtime points to a File that acts as the interpreter. In both cases, an "interpreter" is really any executable binary or wrapper script that is capable of running a Python script passed on the command line, following the same conventions as the standard CPython interpreter.

PyRuntimeInfo

PyRuntimeInfo PyRuntimeInfo(interpreter_path=None, interpreter=None, files=None, python_version, stub_shebang='#!/usr/bin/env python3')

The PyRuntimeInfo constructor.

Parameters

Parameter Description
interpreter_path string; or None; default = None
The value for the new object's interpreter_path field. Do not give a value for this argument if you pass in interpreter.
interpreter File; or None; default = None
The value for the new object's interpreter field. Do not give a value for this argument if you pass in interpreter_path.
files depset of Files; or None; default = None
The value for the new object's files field. Do not give a value for this argument if you pass in interpreter_path. If interpreter is given and this argument is None, files becomes an empty depset instead.
python_version required
The value for the new object's python_version field.
stub_shebang string; default = '#!/usr/bin/env python3'
The value for the new object's stub_shebang field. Default is #!/usr/bin/env python3.

files

depset PyRuntimeInfo.files

If this is an in-build runtime, this field is a depset of Files that need to be added to the runfiles of an executable target that uses this runtime (in particular, files needed by interpreter). The value of interpreter need not be included in this field. If this is a platform runtime then this field is None. May return None.

interpreter

File PyRuntimeInfo.interpreter

If this is an in-build runtime, this field is a File representing the interpreter. Otherwise, this is None. Note that an in-build runtime can use either a prebuilt, checked-in interpreter or an interpreter built from source. May return None.

interpreter_path

string PyRuntimeInfo.interpreter_path

If this is a platform runtime, this field is the absolute filesystem path to the interpreter on the target platform. Otherwise, this is None. May return None.

python_version

string PyRuntimeInfo.python_version

Indicates whether this runtime uses Python major version 2 or 3. Valid values are (only) "PY2" and "PY3".

stub_shebang

string PyRuntimeInfo.stub_shebang

"Shebang" expression prepended to the bootstrapping Python stub script used when executing py_binary targets. Does not apply to Windows.