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:
Python >=3.10
Poetry >=1.2.2
cppTango >= 9.2.5
GNU make (for testing)
Docker (for testing)
Docker Compose (for testing)
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-devinstallation, the program might ask for the Tango Server IP:PORT. Accept the default value.
[!NOTE]
libtango-devmay 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,
pytangomight 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.