# SDSS-V Modbus PCL library
![Versions](https://img.shields.io/badge/python->3.8-blue)
[![Documentation Status](https://readthedocs.org/projects/sdss-drift/badge/?version=latest)](https://sdss-drift.readthedocs.io/en/latest/?badge=latest)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Test](https://github.com/sdss/drift/actions/workflows/test.yml/badge.svg)](https://github.com/sdss/drift/actions/workflows/test.yml)
[![codecov](https://codecov.io/gh/sdss/drift/branch/master/graph/badge.svg)](https://codecov.io/gh/sdss/drift)
This library provides an asynchronous interface with modbus devices over a TCP ethernet controller (such as [this one](https://www.wago.com/us/controllers-bus-couplers-i-o/controller-modbus-tcp/p/750-862)) and control of the connected I/O modules. The code is a relatively thin wrapper around [Pymodbus](http://riptideio.github.io/pymodbus/) with the main feature being that it's possible to define a PLC controller and a complete set of modules as a YAML configuration file which can then be loaded. It also provides convenience methods to read and write to the I/O modules and to convert the read values to physical units.
This code is mostly intended to interface with the SDSS-V [FPS](https://www.sdss.org/future/technology/) electronic boxes but is probably general enough for other uses. It's originally based on Rick Pogge's [WAGO code](https://github.com/sdss/FPS/tree/master/WAGO).
## Installation
To install, run
```console
pip install sdss-drift
```
To install from source, git clone or download the code, navigate to the root of the downloaded directory, and do
```console
pip install .
```
`sdss-drift` uses [Poetry](https://poetry.eustace.io/) for development. To install it in development mode do
```console
poetry install -E docs
```
## Documentation
Refer to the Read the Docs [documentation](https://sdss-drift.readthedocs.io/en/latest) for more details.
Raw data
{
"_id": null,
"home_page": "https://github.com/sdss/drift",
"name": "sdss-drift",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "astronomy, software",
"author": "Jos\u00e9 S\u00e1nchez-Gallego",
"author_email": "gallegoj@uw.edu",
"download_url": "https://files.pythonhosted.org/packages/7d/33/b26df92d114798f618576c4c11797d880465e002738d28920313667d3b63/sdss_drift-1.2.0.tar.gz",
"platform": null,
"description": "# SDSS-V Modbus PCL library\n\n![Versions](https://img.shields.io/badge/python->3.8-blue)\n[![Documentation Status](https://readthedocs.org/projects/sdss-drift/badge/?version=latest)](https://sdss-drift.readthedocs.io/en/latest/?badge=latest)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Test](https://github.com/sdss/drift/actions/workflows/test.yml/badge.svg)](https://github.com/sdss/drift/actions/workflows/test.yml)\n[![codecov](https://codecov.io/gh/sdss/drift/branch/master/graph/badge.svg)](https://codecov.io/gh/sdss/drift)\n\nThis library provides an asynchronous interface with modbus devices over a TCP ethernet controller (such as [this one](https://www.wago.com/us/controllers-bus-couplers-i-o/controller-modbus-tcp/p/750-862)) and control of the connected I/O modules. The code is a relatively thin wrapper around [Pymodbus](http://riptideio.github.io/pymodbus/) with the main feature being that it's possible to define a PLC controller and a complete set of modules as a YAML configuration file which can then be loaded. It also provides convenience methods to read and write to the I/O modules and to convert the read values to physical units.\n\nThis code is mostly intended to interface with the SDSS-V [FPS](https://www.sdss.org/future/technology/) electronic boxes but is probably general enough for other uses. It's originally based on Rick Pogge's [WAGO code](https://github.com/sdss/FPS/tree/master/WAGO).\n\n## Installation\n\nTo install, run\n\n```console\npip install sdss-drift\n```\n\nTo install from source, git clone or download the code, navigate to the root of the downloaded directory, and do\n\n```console\npip install .\n```\n\n`sdss-drift` uses [Poetry](https://poetry.eustace.io/) for development. To install it in development mode do\n\n```console\npoetry install -E docs\n```\n\n## Documentation\n\nRefer to the Read the Docs [documentation](https://sdss-drift.readthedocs.io/en/latest) for more details.\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Modbus PLC control library",
"version": "1.2.0",
"project_urls": {
"Documentation": "https://sdss-drift.readthedocs.org",
"Homepage": "https://github.com/sdss/drift",
"Repository": "https://github.com/sdss/drift"
},
"split_keywords": [
"astronomy",
" software"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e8b6e1affa5671e199a9b95ad053fc84485f098db6b3a0108bc4aa65a213bbda",
"md5": "681e45e67ba375b7443bd42430e3d37b",
"sha256": "9bc829d4ffc657a99f938a42cf1e67416099eb74cf35f288e54bbc37d0fb6967"
},
"downloads": -1,
"filename": "sdss_drift-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "681e45e67ba375b7443bd42430e3d37b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 13248,
"upload_time": "2024-05-31T05:07:59",
"upload_time_iso_8601": "2024-05-31T05:07:59.597915Z",
"url": "https://files.pythonhosted.org/packages/e8/b6/e1affa5671e199a9b95ad053fc84485f098db6b3a0108bc4aa65a213bbda/sdss_drift-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7d33b26df92d114798f618576c4c11797d880465e002738d28920313667d3b63",
"md5": "c241f7a89079cc62af4a236b92c1be1b",
"sha256": "b6b6ae0021512be2ee477066168871e080d7b947c18f9849debc20f16bf921ff"
},
"downloads": -1,
"filename": "sdss_drift-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "c241f7a89079cc62af4a236b92c1be1b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 13092,
"upload_time": "2024-05-31T05:08:01",
"upload_time_iso_8601": "2024-05-31T05:08:01.822521Z",
"url": "https://files.pythonhosted.org/packages/7d/33/b26df92d114798f618576c4c11797d880465e002738d28920313667d3b63/sdss_drift-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-31 05:08:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sdss",
"github_project": "drift",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sdss-drift"
}