Ruview/python/tests
ruv 408caf35fa
Some checks failed
Continuous Integration / Code Quality & Security (push) Has been cancelled
Continuous Integration / Rust Workspace Tests (push) Has been cancelled
Continuous Integration / Tests (push) Has been cancelled
Continuous Integration / Tests-1 (push) Has been cancelled
Continuous Integration / Tests-2 (push) Has been cancelled
Python Package CI / Wheel + parity tests (features=sota) (push) Has been cancelled
Python Package CI / Default wheel <= 5 MiB (ADR-117 §5.4) (push) Has been cancelled
Continuous Integration / Performance Tests (push) Has been cancelled
Continuous Integration / Docker Build & Test (push) Has been cancelled
Continuous Integration / API Documentation (push) Has been cancelled
Continuous Integration / Notify (push) Has been cancelled
fix(client): send Authorization bearer token on WS upgrade (closes #1395)
SensingClient now accepts a `token=` argument, defaulting to the
RUVIEW_API_TOKEN env var, and sets `Authorization: Bearer <token>`
directly on the WebSocket upgrade — no browser-style ticket workaround,
since Python can set the header on the handshake. Empty/unset token
means no auth (auth-disabled path unchanged).

websockets version-compat: the header keyword was renamed in the
`>=12.0` range this package pins (`extra_headers` <= 13,
`additional_headers` >= 14). Resolved by runtime detection —
`_select_header_kwarg()` inspects `websockets.connect`'s signature and
passes the correct keyword — rather than raising the floor to `>=14`.
Chosen deliberately so existing users on older websockets are not forced
to upgrade; keeps the `websockets>=12.0` pin valid.

Scope: only ws.py connects to the auth-enabled sensing-server. mqtt.py
already supports username/password (its own auth convention); ha.py and
primitives.py do no network I/O. OAuth (ADR-271) is out of scope.

Tests: constructor token, env-var token, constructor-overrides-env,
no-token/empty-token (no header), a parametrized test across both
websockets kwarg conventions, and an end-to-end test asserting the
bearer reaches the in-process server's upgrade request.
2026-07-22 07:20:32 -07:00
..
golden feat(adr-185): add weight-loading capability to AETHER EmbeddingExtractor (§13.a) 2026-07-21 18:20:23 -07:00
aether_parity.rs fix(adr-185): hoist AETHER compute surface into a std-only leaf crate 2026-07-21 17:43:32 -07:00
aether_weights_parity.rs feat(adr-185): add weight-loading capability to AETHER EmbeddingExtractor (§13.a) 2026-07-21 18:20:23 -07:00
mat_parity.rs feat(adr-185): P3 MAT bindings (wifi_densepose.mat) + parity harness 2026-07-21 16:49:49 -07:00
meridian_parity.rs feat(adr-185): P2 MERIDIAN bindings (wifi_densepose.meridian) + parity harness 2026-07-21 16:38:17 -07:00
test_aether.py feat(adr-185): add weight-loading capability to AETHER EmbeddingExtractor (§13.a) 2026-07-21 18:20:23 -07:00
test_bfld.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_client_ha.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_client_mqtt.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_client_primitives.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_client_ws.py fix(client): send Authorization bearer token on WS upgrade (closes #1395) 2026-07-22 07:20:32 -07:00
test_keypoint.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_mat.py feat(adr-185): P3 MAT bindings (wifi_densepose.mat) + parity harness 2026-07-21 16:49:49 -07:00
test_meridian.py feat(adr-185): P2 MERIDIAN bindings (wifi_densepose.meridian) + parity harness 2026-07-21 16:38:17 -07:00
test_pose.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_security.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_smoke.py feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
test_vitals.py fix: rename HeartRateExtractor.extract() weights param to phases 2026-07-18 17:26:16 -04:00