tango-frame
tango-frame automatically constructs a TANGO Device Server and a corresponding Python client wrapper from an ordinary
Python device-control class.
Contents:
Purpose
The existing Python device-control API is used as the definition of the device API, without rewriting the device class for TANGO.
Python device class
|
+--> public method --> TANGO command
|
+--> @property --> TANGO attribute
The device class remains independent of TANGO. Public methods are exposed as named TANGO commands, and Python properties are exposed as TANGO attributes.
The client communicates through TANGO DeviceProxy while presenting Python methods and properties corresponding to the
original device API.
Design boundaries
src/tango_frame/ is a reusable framework that does not depend on a concrete device class.
A device-specific package keeps its TANGO-independent device-control class and uses AutoDispatchDevice /
AutoDispatchClient in a device-specific server_tango layer.
Native TANGO-compatible values are transported as native TANGO types. JSON encoding is used only when a Python call or return value cannot be represented directly by the TANGO command model.
Version
Current version: 0.1.0