Cauldron KTL base classes¶
The KTL API is defined in Cauldron
by four abstract base classes, ClientService
, ClientKeyword
, DispatcherService
and DispatcherKeyword
. These base classes are used with a concrete backend implementation, and are available in Cauldron.ktl
and Cauldron.DFW
at runtime.
These classes are designed to provide a consistent API for KTL services and keywords, irrespective of the KTL backend. They require that various user-facing functions and private functions are implemented, and they specify which functions are not required by the Cauldron KTL API.
Note
Not all KTL API features are implemented in Cauldron, and not all KTL python API functions are available. It is relatively trivial to implement new python API functions (e.g. the procedural KTL interface) using the existing Cauldron modules. Implementing new API features is more difficult.
Reference/API¶
Cauldron.base.client Module¶
Implements the abstract-base Keyword and Service classes used for clients.
This piece of Cauldron is a rough mock of ktl
, the client side interface.
The actual implementation of client side features outside of the Keyword
and Service
classes
is in the ktl
module.
Classes¶
Keyword |
A client-side KTL keyword object. |
Service |
A client-side KTL service object. |
HistorySlice |
Class Inheritance Diagram¶
Cauldron.base.dispatcher Module¶
Implements the abstract-base Keyword and Service classes used for dispatchers.
This piece of Cauldron is a rough mock of DFW
, the dispatcher side interface.
Classes¶
Keyword |
A dispatcher-based keyword, which should own its own values. |
Service |
A dispatcher is a KTL service server-side. |
Class Inheritance Diagram¶