[![pylint](https://github.com/PatrickBaus/labnode_async/actions/workflows/pylint.yml/badge.svg)](https://github.com/PatrickBaus/labnode_async/actions/workflows/pylint.yml)
[![PyPI](https://img.shields.io/pypi/v/labnode_async)](https://pypi.org/project/labnode_async/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/labnode_async)
![PyPI - Status](https://img.shields.io/pypi/status/labnode_async)
[![code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# LabNode
This is the Python3 AsyncIO API library for the [Labnode](https://github.com/TU-Darmstadt-APQ/Labnode_PID) system.
The library is fully type-hinted.
## Documentation
The full documentation can be found on GitHub Pages:
[https://patrickbaus.github.io/labnode_async/](https://patrickbaus.github.io/labnode_async/). I use the
[Numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) style for documentation and
[Sphinx](https://www.sphinx-doc.org/en/master/index.html) for compiling it.
## Setup
To install the library in a virtual environment (always use venvs with every project):
```bash
python3 -m venv env # virtual environment, optional
source env/bin/activate
pip install labnode-async
```
## Usage
This library makes use of asynchronous context managers to hide all connection related stuff and
also handle cleanup. By the way: Context managers are great!
Connect to the remote endpoint, and it will automatically enumerate the Labnode and create the correct device.
```python
from labnode_async import IPConnection
# Create a device and start coding
async with IPConnection("192.1680.0.2") as device:
# Add your code here
...
```
See [examples/](https://github.com/PatrickBaus/labnode_async/blob/master/examples/) for more working examples.
## Versioning
I use [SemVer](http://semver.org/) for versioning. For the versions available, see the
[tags of this repository](https://github.com/PatrickBaus/labnode_async/tags).
## Authors
* **Patrick Baus** - *Initial work* - [PatrickBaus](https://github.com/PatrickBaus)
## License
This project is licensed under the GPL v3 license - see the
[LICENSE](https://github.com/PatrickBaus/labnode_async/blob/master/LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "",
"name": "labnode-async",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "IoT,PID,PID controller,API",
"author": "",
"author_email": "Patrick Baus <patrick.baus@physik.tu-darmstadt.de>",
"download_url": "https://files.pythonhosted.org/packages/84/a4/706c65899ce085f660310b384ef43b10529678b045078f16f1f7a9026295/labnode_async-0.16.2.tar.gz",
"platform": null,
"description": "[![pylint](https://github.com/PatrickBaus/labnode_async/actions/workflows/pylint.yml/badge.svg)](https://github.com/PatrickBaus/labnode_async/actions/workflows/pylint.yml)\n[![PyPI](https://img.shields.io/pypi/v/labnode_async)](https://pypi.org/project/labnode_async/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/labnode_async)\n![PyPI - Status](https://img.shields.io/pypi/status/labnode_async)\n[![code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n# LabNode\nThis is the Python3 AsyncIO API library for the [Labnode](https://github.com/TU-Darmstadt-APQ/Labnode_PID) system.\n\nThe library is fully type-hinted.\n\n## Documentation\nThe full documentation can be found on GitHub Pages:\n[https://patrickbaus.github.io/labnode_async/](https://patrickbaus.github.io/labnode_async/). I use the\n[Numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) style for documentation and\n[Sphinx](https://www.sphinx-doc.org/en/master/index.html) for compiling it.\n\n## Setup\nTo install the library in a virtual environment (always use venvs with every project):\n\n```bash\npython3 -m venv env # virtual environment, optional\nsource env/bin/activate\npip install labnode-async\n```\n\n## Usage\nThis library makes use of asynchronous context managers to hide all connection related stuff and\nalso handle cleanup. By the way: Context managers are great!\n\nConnect to the remote endpoint, and it will automatically enumerate the Labnode and create the correct device.\n```python\nfrom labnode_async import IPConnection\n\n# Create a device and start coding\nasync with IPConnection(\"192.1680.0.2\") as device:\n # Add your code here\n ...\n```\n\nSee [examples/](https://github.com/PatrickBaus/labnode_async/blob/master/examples/) for more working examples.\n\n## Versioning\nI use [SemVer](http://semver.org/) for versioning. For the versions available, see the\n[tags of this repository](https://github.com/PatrickBaus/labnode_async/tags).\n\n## Authors\n* **Patrick Baus** - *Initial work* - [PatrickBaus](https://github.com/PatrickBaus)\n\n## License\nThis project is licensed under the GPL v3 license - see the\n[LICENSE](https://github.com/PatrickBaus/labnode_async/blob/master/LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "Python3 AsyncIO Labnode driver",
"version": "0.16.2",
"project_urls": {
"Bug Tracker": "https://github.com/PatrickBaus/labnode_async/issues",
"Documentation": "https://patrickbaus.github.io/labnode_async/",
"Download": "https://github.com/PatrickBaus/labnode_async/releases",
"Homepage": "https://github.com/PatrickBaus/labnode_async"
},
"split_keywords": [
"iot",
"pid",
"pid controller",
"api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "47d31d1f04bcc86c90647a9a1b3b5e8c32286c0c738cfbb32ea76309a42b709f",
"md5": "ed931d7d770150d98af3087fc67d8626",
"sha256": "dcb006d3e1cda4a75458bfceb5d45b154df01e660ecd50d39ac10457f0ec009e"
},
"downloads": -1,
"filename": "labnode_async-0.16.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed931d7d770150d98af3087fc67d8626",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 35306,
"upload_time": "2023-09-14T13:40:39",
"upload_time_iso_8601": "2023-09-14T13:40:39.386141Z",
"url": "https://files.pythonhosted.org/packages/47/d3/1d1f04bcc86c90647a9a1b3b5e8c32286c0c738cfbb32ea76309a42b709f/labnode_async-0.16.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84a4706c65899ce085f660310b384ef43b10529678b045078f16f1f7a9026295",
"md5": "9beb8b7994753bad1605a4d8fc8a7f40",
"sha256": "ab5124ecb02e9ac3fcd0d5c6893d4878d1e47d12208669b2bde4e026de796bbf"
},
"downloads": -1,
"filename": "labnode_async-0.16.2.tar.gz",
"has_sig": false,
"md5_digest": "9beb8b7994753bad1605a4d8fc8a7f40",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 30716,
"upload_time": "2023-09-14T13:40:41",
"upload_time_iso_8601": "2023-09-14T13:40:41.008446Z",
"url": "https://files.pythonhosted.org/packages/84/a4/706c65899ce085f660310b384ef43b10529678b045078f16f1f7a9026295/labnode_async-0.16.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-14 13:40:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PatrickBaus",
"github_project": "labnode_async",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "labnode-async"
}