This gem adds an Editor-only system to reflect editor-flagged Behavior Class methods to a Python VM running in the Lumberyard Editor. The gem will replace the current Boost Python bindings in the Editor plus to allow gem authors to reflect automation methods to Python for use in automate tests or workflows. It encapsulates the Python Virtual Machine (VM) (currently at version 3.3) and uses a modern C++ binding library named pybind11 to hook up the behavior methods to Python.
The gem works when a product team adds it to a project; this is not a required gem. This will enable a system component that will enumerate all the BehaviorClass methods registered with an “Editor” flag. The gem will also offer new console commands to allow Editor users to execute automation scripts.
New Third Party Libraries
The gem includes two new 3rd Party Libraries:
Python VM 3.3.5
PyBind11
The gem comes with new EBuses and a console commands.
The gem uses this EBus to send out notifications during the VM’s life cycle. When another gem wants to add custom Python modules to the system it can respond to these APIs to properly install or handle the Python environment.
The API:
Coders use this bus to run Python scripts that execute in the EditorPythonBinding gem. This bus provides API to run either from a file or from a buffer.
The API:
The EditorPythonBindings gem offers two new console commands to the Editor: