Files
wifi-densepose/rust-port/wifi-densepose-rs/crates/wifi-densepose-api/README.md
ruv 7092f83b34 chore: add workspace metadata and crate READMEs for publishing
Add license, authors, repository, documentation, keywords, categories,
and readme fields to all crate Cargo.toml files. Add crate-level README
files for documentation.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 01:39:36 -05:00

2.7 KiB

wifi-densepose-api

Crates.io Documentation License

REST and WebSocket API layer for the WiFi-DensePose pose estimation system.

Overview

wifi-densepose-api provides the HTTP service boundary for WiFi-DensePose. Built on axum, it exposes REST endpoints for pose queries, CSI frame ingestion, and model management, plus a WebSocket feed for real-time pose streaming to frontend clients.

Status: This crate is currently a stub. The intended API surface is documented below.

Planned Features

  • REST endpoints -- CRUD for scan zones, pose queries, model configuration, and health checks.
  • WebSocket streaming -- Real-time pose estimate broadcasts with per-client subscription filters.
  • Authentication -- Token-based auth middleware via tower layers.
  • Rate limiting -- Configurable per-route limits to protect hardware-constrained deployments.
  • OpenAPI spec -- Auto-generated documentation via utoipa.
  • CORS -- Configurable cross-origin support for browser-based dashboards.
  • Graceful shutdown -- Clean connection draining on SIGTERM.

Quick Start

// Intended usage (not yet implemented)
use wifi_densepose_api::Server;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let server = Server::builder()
        .bind("0.0.0.0:3000")
        .with_websocket("/ws/poses")
        .build()
        .await?;

    server.run().await
}

Planned Endpoints

Method Path Description
GET /api/v1/health Liveness and readiness probes
GET /api/v1/poses Latest pose estimates
POST /api/v1/csi Ingest raw CSI frames
GET /api/v1/zones List scan zones
POST /api/v1/zones Create a scan zone
WS /ws/poses Real-time pose stream
WS /ws/vitals Real-time vital sign stream
Crate Role
wifi-densepose-core Shared types and traits
wifi-densepose-config Configuration loading
wifi-densepose-db Database persistence
wifi-densepose-nn Neural network inference
wifi-densepose-signal CSI signal processing
wifi-densepose-sensing-server Lightweight sensing UI server

License

MIT OR Apache-2.0