Contributing

ska-sdp-lmc-queue-connector

SKA SDP LMC Queue Connector is a Tango Device executable for bridging message streams between data queue backends.

For more information refer to the User Documentation.

Setup

System dependencies

System software requirements:

Debian or Ubuntu
# tested with Ubuntu 22.04
$ sudo apt update
$ sudo apt install -y curl git build-essential libboost-python-dev libtango-dev

[!NOTE] During libtango-dev installation, the program might ask for the Tango Server IP:PORT. Accept the default value.

[!NOTE] libtango-dev may install an old version of the TANGO-controls framework (9.2.5). The best way to get the latest version of Tango is by compiling.

MacOS

MacOS is not supported.

Windows

Enable WSL and use the Ubuntu instructions.

Project installation

Virtual environment

Once system dependencies are available, clone and install the project with python dependencies. It recommended that developers install within a virtual environment, such as the one poetry sets up and manages by default.

poetry env use 3.10
poetry shell
Python install
# developer install
$ poetry install
# or packaged/release install
$ pip install .

Note: On some systems, pytango might try to compile from source and require paths to Tango headers. If headers are missing, try:

CPPFLAGS=-I/usr/include/tango poetry install

Linting and testing

To run tests from inside the poetry managed virtual environment use:

poetry run make python-test

Linting can be run in a similar way:

poetry run make python-lint

Useful resources

Makefile targets

ska-sdp-queue-connector has a Makefile with predefined targets for common tasks. For documentation of the Makefile, run make help.

Tango references documentation