Skip to content


A python binding for the handel library.

System requirements

The handel DLL files need to be available in PATH (/usr/local/bin in Cygwin for instance).

Python compatibility:

  • python 3.7


Example usage:

>>> from bliss.controllers.mca.handel.interface import *
>>> init('xmap.ini')
>>> start_system()
>>> get_detectors()
>>> get_modules()
>>> get_module_type('module1')
>>> get_channels()
>>> start_run(0)
>>> stop_run(0)
>>> get_run_data(0)
array([13260, 52275,   256, ...,     0,     0,     0], dtype=uint32)

Gevent mode

Make the interface gevent-compatible using:

from handel.gevent import patch


A few scripts are provided:

  • which parses handel_errors.h and output a python dictionary of handel errors

Entry points

  • bliss-handel-server which serves the handel interface over the network using bliss rpc.