HID-IO Python Library
Project description
hidio core Client Python Library
HID-IO Core Client Side Library for Python
Getting
pip install hidiocore
Overview
This is a convenience Python library for the HID-IO daemon which handles automatic reconnection if the server goes down for any reason. The library also handles the HID-IO authentication procedure (key negotiation and TLS wrapping).
Usage
import asyncio
import sys
import hidiocore.client
# Optional callbacks
class MyHIDIOClient(hidiocore.client.HIDIOClient):
async def on_connect(self, cap):
print("Connected!")
print("Connected API Call", await cap.alive().a_wait())
async def on_disconnect(self):
print("Disconnected!")
async def main():
client = MyHIDIOClient('Python example.py')
# Connect the client to the server using a background task
# This will automatically reconnect
tasks = [asyncio.gather(*[client.connect(auth=hidiocore.client.HIDIOClient.AUTH_BASIC)], return_exceptions=True)]
while client.retry_connection_status():
if client.capability_hidioserver():
try:
print("API Call", await asyncio.wait_for(
client.capability_hidioserver().alive().a_wait(),
timeout=2.0
))
print("API Call", await asyncio.wait_for(
client.capability_authenticated().nodes().a_wait(),
timeout=2.0
))
except asyncio.TimeoutError:
print("Alive timeout.")
continue
await asyncio.sleep(5)
try:
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
except KeyboardInterrupt:
print("Ctrl+C detected, exiting...")
sys.exit(1)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hidiocore-0.1.0b3.tar.gz
(12.8 kB
view hashes)
Built Distribution
Close
Hashes for hidiocore-0.1.0b3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d0772b548a0a82d569975f31ff26e33c5ba51889a60c85aa3f7b923d4257926 |
|
MD5 | a5712ddb7448bbe97df990bdaefbfd87 |
|
BLAKE2b-256 | 8da3a0b1ff2a431d2e2dc37079f46baa52871e510b026e8b99014c4f7e817f0d |