Welcome to ESS Generic Device Tools Pylib’s documentation!¶
Indices and tables¶
ESS Generic Device Tools Pylib¶
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:
MCH module : NAT MCH module usage
Maintainers¶
Felipe Torres González (felipe.torresgonzalez@ess.eu)
Ross Elliot (ross.elliot@ess.eu)