The ska-oso-scripting project provides a Python library intended to be useful for engineers and scientists writing observing scripts and engineering tests. The helper functions and classes contained in the library support the high-level configuration and control of an SKA subarray, hiding the low-level details of how the related Tango devices are controlled from the script author.
This library provides a simple object-oriented interface and a functional interface,
respectively. The objects are recommended as the most user-friendly option but the
functions can also be called if preferred. Regardless, the same code is called at the
lowest level: object methods call ‘public’ scripting functions, which then call
‘private’ lower-level scripting functions held in submodules of
Observing scripts can be run interactively in a Jupyter notebook, or remotely executed by the Observation Execution Tool (OET). For documentation on how to use OET to run observing scripts, see the ska-oso-oet project documentation.
A major use case for the ska-oso-scripting library is to support the execution of Scheduling Blocks (SBs). Hence, in addition to Tango device control, much of the ska-oso-scripting library is concerned with translating SBs into the equivalent JSON configuration and control strings and with the issuing of commands to TMC Tango devices at the appropriate times.
Like all SKA projects, this project uses containers for development and testing so that
the build environment, test environment and test results are reproducible and
independent of the host environment.
make is used to provide a consistent UI.
Build a new container image for the OET with:
Execute the test suite with:
Format and lint the Python code with:
make python-format make python-lint