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.0b2.tar.gz
(11.1 kB
view hashes)
Built Distribution
Close
Hashes for hidiocore-0.1.0b2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd249a9ebeb3e57531c6d7b2c1ad917d5457084ee8ab92393e00b9054d23978 |
|
MD5 | c0a8fda5d7f7cb02e4ee210bfa5b27c7 |
|
BLAKE2b-256 | ab728a582a710677e93f01687f2f5b78760cb2767f6c9a2bf6ef428041e5a135 |