Welcome to ESS Generic Device Tools Pylib’s documentation!

Indices and tables

ESS Generic Device Tools Pylib

https://gitlab.esss.lu.se//hwcore/mtca/ess-gendev-tools/badges/master/pipeline.svghttps://sonarqube.esss.lu.se/api/project_badges/measure?project=gendev-tools&metric=alert_status https://sonarqube.esss.lu.se/api/project_badges/measure?project=gendev-tools&metric=ncloc https://sonarqube.esss.lu.se/api/project_badges/measure?project=gendev-tools&metric=coverage https://readthedocs.org/projects/ess-generic-devices-tools-pylib/badge/?version=latest

This Python library is scoped within the µTCA management tools project. The purpose of this library is providing a set of modules for controlling some of the most common devices that our group installs in the µTCA systems.

Using this library, most of the annoying details about handling µTCA based systems are hidden. The main aim of this library is delivering an easy and reliable interface to some of the devices that are commonly found in a µTCA system.

A compiled version of the package documentation is available at Readthedocs.

Supported devices

Currently, the following devices are supported by the library:

  • NAT MCH

If you’d like to add support for another device, contact any of the maintainers or feel free to contribute! But, please, take a look at the Contributing guidelines first.

Library installation

Stable verions of the library can be obtained from Pypi:

$ pip install gendev-tools

For development versions, download the repository instead. When aiming to install the library system-wide, avoid the steps concerning virtualenv.

$ git clone https://gitlab.esss.lu.se/hwcore/mtca/ess-gendev-tools.git <target branch>
$ cd ess-gendev-tools
$ virtualenv env
$ source env/bin/activate
$ python -m pip install --upgrade pip
$ pip install build
$ python -m build
$ pip install -e .

You’re ready to go!

Testing the code

The testing of the code relies on Pytest and it’s automatized using Tox . By now, the code is tested against two Python versions: 3.7 and 3.8. There’s no special requirement about the version (yet) as long as Python 3 is used. By default, running Tox without arguments will run the tests against all the included environments. Since it’s not common having multiple Python versions, run Tox this way (considering that Python 3.8 is installed):

$ cd ess-gendev-tools
# Tox manages virtualenv behind the scenes, so no need to worry about
# anything, just call it:
$ tox -e py38

Some tests rely on a physical device (an NAT MCH). We only have one for the tests, which means it might be used by others, so first check the MCH is not used at the moment of running the tests.

Using the library

This repository is not intended to include any user application. It rather provides drivers and other modules to interface devices. Some code snippets have been include to illustrate the usage of the library, though. Check the following sections for code examples of the library’s modules:

Maintainers