arwn-client
Python client library for parsing ARWN weather station MQTT messages.
Installation
pip install arwn-client
Usage
from arwn_client import parse_message
device = parse_message("arwn/temperature/BackYard", {"temp": 72.5, "units": "F"})
if device:
print(f"{device.device_name}")
for r in device.readings:
print(f" {r.sensor_name}: {r.value} {r.unit}")
# BackYard
# BackYard Temperature: 72.5 °F
CLI
arwn listen # connect to localhost:1883
arwn listen --host 192.168.1.10 # custom broker host
arwn listen --port 1884 # custom broker port
arwn listen --count 5 # stop after 5 messages
arwn listen --json # output as JSON
API
parse_message(topic, payload) -> ArwnDevice | None
Parse an ARWN MQTT message. Returns None for unknown topics.
ArwnDevice
| Field | Type | Description |
|---|---|---|
device_key |
str |
Unique key e.g. "temperature_BackYard" |
device_name |
str |
e.g. "BackYard", "Weather Station" |
readings |
list[ArwnReading] |
Sensor readings for this device |
ArwnReading
| Field | Type | Description |
|---|---|---|
sensor_key |
str |
e.g. "temp", "speed" |
sensor_name |
str |
e.g. "BackYard Temperature" |
value |
float | int |
The reading value |
unit |
str |
Unit string e.g. "°F", "mph" |
License
Apache 2.0
Metadata
Release files for arwn-client 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arwn_client-0.2.1.tar.gz | 7.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arwn_client-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / arwn_client-0.2.1.tar.gz
| Download URL | arwn_client-0.2.1.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7440aa2bc352b5a8ce3706995a548373fbc79343fad34bf628217e18a7d3e37
|
|
BLAKE2b-256 checksum How to use checksums |
4763781ee8a4e9ded45492b6128effb6b2cd4f3feef478e018a83916d2292d1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency logRelease files / arwn_client-0.2.1-py3-none-any.whl
| Download URL | arwn_client-0.2.1-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c53372c7a0794982fc51b54c5487ebb4ca71f5d27133807a04f29581748f6973
|
|
BLAKE2b-256 checksum How to use checksums |
2a595ebc0801644f5e0873437d29cf58d0d00eda59223eedcacfc109a6a6fdb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency log