drstorage

Protocol Parser for Dr. Storage Dry Air Cabinets


Keywords
hep, utilities, physics, protocol, struct, drstorage, dry, air, cabinet
License
BSD-3-Clause
Install
pip install drstorage==0.2.1

Documentation

drstorage

GitHub Project GitHub Actions Status: CI Code Coverage pre-commit.ci status Code style: black

Using

From python

>>> import drstorage
>>> data = bytearray.fromhex("abab00471200c5120901000000000000000a10025810000000000000140d0a")
>>> result = drstorage.models.F1_600.parse(data)
>>> print(result)
Container:
    humidity = 7.1
    temperature = 19.7
    model = 600

or from command line

$ python -c 'import sys; sys.stdout.buffer.write(bytes(bytearray.fromhex("abab00471200c5120901000000000000000a10025810000000000000140d0a")))' | drstorage parse --model F1_600
Container:     humidity = 7.1    temperature = 19.7    model = 600

Supported Models

  • generic (default, the "base" Dr. Storage model)
  • F1_600
  • X2M_157

Installation

In a fresh virtual environment

$ python -m pip install "git+https://github.com/kratsg/drstorage.git"

The above is actually cloning and installing directly from the Git repository. However, if you want to, you can of course also install it directly from the Git repository "locally" by first cloning the repo and then from the top level of it running

$ python -m pip install .

Contributing

As this library is experimental contributions of all forms are welcome. You are of course also most welcome and encouraged to open PRs.

Developing

To develop, use a virtual environment. Once the environment is activated, clone the repo from GitHub

git clone git@github.com:kratsg/drstorage.git

and install all necessary packages for development

python -m pip install --ignore-installed --upgrade -e .[complete]

Then setup the Git pre-commit hooks by running

pre-commit install

Acknowledgements

  • Mike Hance
  • Noah Peake
  • Will Johansson
  • James Tranovich
  • Anja Berens
  • Paul Ingemi
  • Matthew Gignac