Python macros controller

Executor controller service for Python macros. See Python Logic Macros.


Python macros controller is not included into EVA ICS distribution. To install/update it, either edit “eva/config/python-venv” registry key, specify the desired version in “extra” section (e.g. eva4-controller-py>=0.0.1) and rebuild the Python virtual environment (/opt/eva4/sbin/venvmgr build). Or execute:

/opt/eva4/sbin/venvmgr add eva4-controller-py
# or
/opt/eva4/sbin/venvmgr add eva4-controller-py==N # where N = version number

The latest eva-shell version number can be obtained from


Use the template EVA_DIR/share/svc-tpl/svc-tpl-controller-py.yml:

# Python macros controller service
# Requires Python module installed
command: venv/bin/eva4-svc-controller-py
  path: var/bus.ipc
  # required for lock functions
  # required for mail functions
  #mailer_svc: eva.svc.mailer
  # override macros directory (runtime-relative)
  #macro_dir: xc/py
  # custom global variables (available in all lmacros)
    #name: value
    #name2: value2
user: nobody # if file operations are required, make sure the user has access to

Create the service using eva-shell:

eva svc create /opt/eva4/share/svc-tpl/svc-tpl-controller-py.yml

or using the bus CLI client:

cd /opt/eva4
cat DEPLOY.yml | ./bin/yml2mp | \
    ./sbin/bus ./var/bus.ipc rpc call eva.core svc.deploy -

(see eva.core::svc.deploy for more info)

EAPI methods

See EAPI commons for the common information about the bus, types, errors and RPC calls.



Executes a mapped macro action


See Macros actions


See Macros actions