https://github.com/patrickbaus/labnode_async
A Python asyncio communication framework for IoT nodes
https://github.com/patrickbaus/labnode_async
asyncio cbor cobs iot python3
Last synced: 5 months ago
JSON representation
A Python asyncio communication framework for IoT nodes
- Host: GitHub
- URL: https://github.com/patrickbaus/labnode_async
- Owner: PatrickBaus
- License: gpl-3.0
- Created: 2020-10-06T02:15:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-09-04T18:39:25.000Z (10 months ago)
- Last Synced: 2025-09-16T09:02:14.995Z (10 months ago)
- Topics: asyncio, cbor, cobs, iot, python3
- Language: Python
- Homepage:
- Size: 496 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](../../actions/workflows/pylint.yml)
[](https://pypi.org/project/labnode_async/)


[](LICENSE)
[](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/](/examples/) for more working examples.
## Versioning
I use [SemVer](http://semver.org/) for versioning. For the versions available, see the
[tags of this repository](../../tags).
## Authors
* **Patrick Baus** - *Initial work* - [PatrickBaus](https://github.com/PatrickBaus)
## License
This project is licensed under the GPL v3 license - see the
[LICENSE](LICENSE) file for details.