Skip to content

Pyxcel Interpreter

Warnings and Notes

  • Pyxcel is ROS Agnostic, fully created with python packages
  • Pyxcel uses ItemRegistryV2, it is designed to be backward-compatible but the oldest agent tested is Xplore.
  • Pyxcel ensures that the feedback messages "RUNNING" and "FINISH" are sent to callbacks. The callback function is equivalente to the ROSA feedback.
  • Pyxcel can return results with the "RESULT" message on the feedback_callback.

Supported Properties

Property Default Value Notes
stop Yes
hard_stop No (Use with caution)
sync_calls Yes
async_calls Yes Recommended
wait_for No
callbacks Yes Full control implemented with Feedback Messages
feedback Yes
callback_keywords ("RUNNING", "STEP", "SUCCESS", "ABORT", "FINISH", "SWITCH") RUNNING and FINISH are ensured for every task
types "Sequential" Additional types may be implemented in the future

References: - Pyxcel Internals

PyxcelInterpreter Attributes

Attribute Type Description
callback_dict dict[str, ExecutionStatus] Maps callback keywords to their execution statuses.

Examples

Initializing and killing

from execution_layer.pyxcel.interprter.pyxcel_interpreter import PyxcelInterpreter
interpreter = PyxcelInterpreter()
interpreter.kill()

Running

import ecm.exelent.parser as parser
my_task = parser.parse("path_to_xlnt_file")

interpreter.run(my_task) # Will return at finish
interpreter.arun(my_task) # Returns immediately

Stopping

# Note: Stopping nested functions is not fully stable
interpreter.run(my_task)
interpreter.stop(my_task.name)