Python client library for the Wisent Wire hardware testing platform API
Project description
Wisent Wire Python SDK
Python client library for the WisentWire hardware testing platform.
Installation
pip install wisent-wire-sdk
Quick start
from wisentwire import WisentWireClient
# Cognito auth (production / integration)
client = WisentWireClient(
base_url="https://int.wisent-wire.com",
email="user@company.com",
password="secret",
)
# Local dev (header-based, no Cognito)
client = WisentWireClient(
base_url="http://localhost:7998",
email="dev@test.com",
local=True,
)
# Pre-existing token
client = WisentWireClient(
base_url="https://int.wisent-wire.com",
token="eyJhbGciOi...",
)
Usage
WisentWires
wws = client.list_wisentwires()
ww = client.get_wisentwire(ww_id=1)
Power supply
client.set_power_supply(ww_id=1, state="ON", voltage=5.0, current=2.0)
shadow = client.wait_shadow_state(ww_id=1, expected_state="ON")
print(shadow.reported.voltage_setpoint)
Firmware & flash
fw = client.upload_firmware("app.bin", firmware_bytes, "STM32F4")
job_id = client.flash(ww_id=1, firmware_id=fw.id)
client.wait_flash_complete(ww_id=1, job_id=job_id)
UART
client.send_uart_ascii(ww_id=1, text="HELLO")
msg = client.wait_for_uart_rx(ww_id=1, match_hex="48454C4C4F")
print(msg.bytes_hex)
Telemetry
readings = client.get_power_telemetry(ww_id=1)
Reservations
reservations = client.list_reservations()
Organization
org = client.get_organization()
members = client.list_members()
Error handling
All API errors raise typed exceptions inheriting from WisentWireError:
from wisentwire import NotFoundError, ConflictError
try:
client.get_wisentwire(ww_id=999)
except NotFoundError as e:
print(f"WisentWire not found: {e}")
| HTTP status | Exception |
|---|---|
| 400 | BadRequestError |
| 401 | AuthenticationError |
| 403 | ForbiddenError |
| 404 | NotFoundError |
| 409 | ConflictError |
| 429 | RateLimitError |
| 503 | ServiceUnavailableError |
Development
pip install -e ".[dev]"
pytest tests/ -v
Requirements
- Python >= 3.10
requests>= 2.28tenacity>= 8.0
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
wisent_wire_sdk-0.3.1.tar.gz
(33.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wisent_wire_sdk-0.3.1.tar.gz.
File metadata
- Download URL: wisent_wire_sdk-0.3.1.tar.gz
- Upload date:
- Size: 33.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84a0c44e921348ea04c09affcf1b6d7c5f951328bdc7278a346965442f227c58
|
|
| MD5 |
8e282606e647b60721c036042e58bb16
|
|
| BLAKE2b-256 |
9b128a1a94cf1534a58ebffe893684f3ef3fc969f9e7c4b639910682f2b22294
|
File details
Details for the file wisent_wire_sdk-0.3.1-py3-none-any.whl.
File metadata
- Download URL: wisent_wire_sdk-0.3.1-py3-none-any.whl
- Upload date:
- Size: 39.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fbcd8288a220551a4b29aaa5c8d96c115bfe1d9aaaedc7de9d29dd9cdda4e5a
|
|
| MD5 |
7e9f53005d362302a4b59749d584b032
|
|
| BLAKE2b-256 |
3ead9957e53adb1e850baf714d4fa8921698a14c0341c58cddf46a94c20d3a56
|