# 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": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "astronomy,software",
"author": "Jos\u00e9 S\u00e1nchez-Gallego",
"author_email": "gallegoj@uw.edu",
"download_url": "https://files.pythonhosted.org/packages/e8/60/e5a9da536722b2436574cd7184cd3d570a35ba7d7c0f18811975ed679c86/sdss_drift-1.1.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.1.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": "d93cebd3443e6979a96c3172b957e8fd20bbdcfa0bf0dadf649a1bfcb4f665c2",
"md5": "4c13913d457d1b11f2cb5df9d7af6a4f",
"sha256": "488112c3cf2ee4a88683d4d1a8019c5b8482559b82bfd3e30e33ac6487d23f2c"
},
"downloads": -1,
"filename": "sdss_drift-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c13913d457d1b11f2cb5df9d7af6a4f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 12129,
"upload_time": "2023-09-13T06:36:50",
"upload_time_iso_8601": "2023-09-13T06:36:50.075746Z",
"url": "https://files.pythonhosted.org/packages/d9/3c/ebd3443e6979a96c3172b957e8fd20bbdcfa0bf0dadf649a1bfcb4f665c2/sdss_drift-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e860e5a9da536722b2436574cd7184cd3d570a35ba7d7c0f18811975ed679c86",
"md5": "e21af6b8c0e90499fde768a9e6ed5dee",
"sha256": "e1e4bb071fc29510df4af1e81a07f06bd6ae073b4457ce0df09cbb3514f5f52a"
},
"downloads": -1,
"filename": "sdss_drift-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e21af6b8c0e90499fde768a9e6ed5dee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 12457,
"upload_time": "2023-09-13T06:36:51",
"upload_time_iso_8601": "2023-09-13T06:36:51.171881Z",
"url": "https://files.pythonhosted.org/packages/e8/60/e5a9da536722b2436574cd7184cd3d570a35ba7d7c0f18811975ed679c86/sdss_drift-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-13 06:36:51",
"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"
}