Cauldron is a library I wrote to seamlessly replace the Keck Telescope Library, an internal library used by both the UC Observatories and the W.M. Keck Observoatry. KTL works as a keyword-value messaging interface for controlling hardward and systems at both observatories. This interface allows for asynchronous control and close coupling to hardware.

Unfortunately, KTL is built on observatory software with a large software stack which depends on the particulars of that complicated computing environment.

In order to develop instrument software on many computers, and to ensure that the software can be portable between observatory computing environments and developement environments, I wrote Cauldron, a replication of the KTL API in python, but which is independent of the observatory environment. KTL works hard to be backwards compatible and injected into the observatory software environment.

Additionally, Cauldron provides a way to perform testing and continuous integration independent of the observatory facilities. Cauldron is on github and itself is thoroghly tested in a continuous integration envrionment (see here: