# ruview **Ambient intelligence from WiFi CSI.** Detect human presence, count people, read breathing and heart rate, and estimate skeletal pose — using only the WiFi signal already in your home. No cameras. No wearables. Works through walls and in the dark. `ruview` is the brand-facing meta-package for the [RuView](https://github.com/ruvnet/RuView) sensing stack. It installs the compiled PyO3 wheel published as [`wifi-densepose`](https://pypi.org/project/wifi-densepose/) and re-exports its full API under the `ruview` namespace — so you can write either of these and they do the same thing: ```python from ruview import BreathingExtractor, SensingClient from wifi_densepose import BreathingExtractor, SensingClient ``` ## Install ```bash pip install ruview # core DSP pip install "ruview[client]" # + WebSocket/MQTT clients ``` ## Usage ```python from ruview import BreathingExtractor br = BreathingExtractor.esp32_default() # 56 subcarriers @ 100 Hz, 30s window for residuals, weights in csi_source: est = br.extract(residuals=residuals, weights=weights) if est is not None: print(f"{est.value_bpm:.1f} BPM (confidence={est.confidence:.2f})") ``` Full API + WebSocket / MQTT / Home Assistant integration docs: [wifi-densepose on PyPI](https://pypi.org/project/wifi-densepose/). ## Why two PyPI names? Historic: `wifi-densepose` is the technical / academic name (the project started as a WiFi-based DensePose implementation). `ruview` is the brand the v2 ambient-intelligence platform ships under. Both are the same code. You pick the import that reads better in your project. ## Links - **Repository** — https://github.com/ruvnet/RuView - **Modernization plan** — [ADR-117](https://github.com/ruvnet/RuView/blob/main/docs/adr/ADR-117-pip-wifi-densepose-modernization.md) - **Issues** — https://github.com/ruvnet/RuView/issues ## License MIT.