Metadata-Version: 2.5
Name: hackrf-proxy-client
Version: 0.1.0
Summary: Async WebSocket client for the hackrf-proxyd network-attached OOK transceiver daemon
Project-URL: Homepage, https://github.com/Aetf/hackrf-proxy
Project-URL: Repository, https://github.com/Aetf/hackrf-proxy
Project-URL: Issues, https://github.com/Aetf/hackrf-proxy/issues
Project-URL: Changelog, https://github.com/Aetf/hackrf-proxy/blob/main/CHANGELOG.md
Author-email: Aetf <aetf@unlimited-code.works>
License-Expression: MIT OR Apache-2.0
License-File: COPYRIGHT
License-File: LICENSE-APACHE
License-File: LICENSE-MIT
Keywords: hackrf,home-assistant,ook,sdr,websocket
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Home Automation
Requires-Python: >=3.12
Requires-Dist: aiohttp>=3.9
Description-Content-Type: text/markdown

# hackrf-proxy-client

Async Python client for the
[hackrf-proxyd](https://github.com/Aetf/hackrf-proxy) daemon's WebSocket
protocol: a reconnecting connection with id-matched replies, `rx_frame` event
delivery, and availability that follows the radio rather than the socket.

Released in lockstep with the daemon from the same repository; a client is
compatible with any daemon of the same semver major version, and
`ProxyClient.is_compatible` reports the check.

```python
import aiohttp
from hackrf_proxy_client import ProxyClient

async with aiohttp.ClientSession() as session:
    client = ProxyClient(session, "radio-host", 8765)
    await client.async_start()
    await client.async_wait_connected(timeout=10)
    await client.async_transmit(frequency=315_000_000, timings=[450, -450, 900])
    await client.async_stop()
```

## License

MIT OR Apache-2.0, at your option.
