Skip to main content

echopose-sdk

PyPI version Python 3.10+ License: MIT

WiFi CSI pose-estimation toolkit — the Python companion to the EchoPose system.

EchoPose turns commodity ESP32-S3 access points into a privacy-preserving human pose estimator that requires no cameras, no wearables, and works through walls. This SDK provides the tools you need to collect, process, evaluate, and replay CSI data and pose predictions.

Features

Module What it does
echopose_sdk.csi Subcarrier normalisation, Doppler feature extraction, pilot interpolation, human-presence detection
echopose_sdk.skeleton COCO-17 keypoint helpers, bone lengths, body-height normalisation, temporal smoothing
echopose_sdk.metrics MPJPE, PCK@t, body-normalised PCK, PA-MPJPE, per-joint error tables
echopose_sdk.streaming BundleReader/BundleWriter JSONL context managers, time-windowed filtering, train/test split
echopose_sdk.validation Bundle schema validation
echopose_sdk.quality Confidence summary statistics

Installation

pip install echopose-sdk

Development install (editable):

pip install -e echopose_sdk/

Quick start

Validate a bundle

from echopose_sdk import validate_bundle
ok, reason = validate_bundle(bundle_dict)

Compute pose metrics

import numpy as np
from echopose_sdk.metrics import summary_report

pred = np.load("pred_poses.npy")   # shape (N, 17, 3)
gt   = np.load("gt_poses.npy")

report = summary_report(pred, gt)
# {'mpjpe': 0.42, 'pck_01_abs': 0.31, 'body_pck_01': 0.68, 'pa_mpjpe': 0.29, ...}

Normalise CSI amplitudes

from echopose_sdk.csi import normalize_subcarriers
norm = normalize_subcarriers(raw_amplitudes, method="zscore")

Smooth a skeleton sequence

from echopose_sdk.skeleton import smooth_skeleton_sequence
smoothed = smooth_skeleton_sequence(seq, method="gaussian", window=7)

Stream a session file

from echopose_sdk.streaming import BundleReader

with BundleReader("session.jsonl") as reader:
    for bundle in reader:
        print(bundle["timestamp_ms"])

CLI

echopose-sdk validate  <bundle.json>
echopose-sdk inspect   <bundle.json> [--node NODE] [--pretty]
echopose-sdk metrics   --pred pred.npy --gt gt.npy [--per-joint] [--pretty]
echopose-sdk stream    <session.jsonl> [--fps 20] [--limit 100]

License

MIT © Muhammed Shazin Sadhik Kunhi Parambath

Metadata

Release files for echopose-sdk 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for echopose-sdk 0.2.2
File Size Uploaded Provenance
echopose_sdk-0.2.2.tar.gz 18.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for echopose-sdk 0.2.2
File Interpreter ABI Platform
echopose_sdk-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 38.5 kB

Release files / echopose_sdk-0.2.2.tar.gz

Download URL echopose_sdk-0.2.2.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8a0a148945308bd1a62505c224fd65b23c6f7acb3e61b591b8660cecd0794a0d
BLAKE2b-256 checksum
How to use checksums
f6d18fd05f095ecc62de4eb4b558420cd84ef4d246581f5a6fec0d0cca4e8843
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 Jul 12, 2026.

Transparency log

Release files / echopose_sdk-0.2.2-py3-none-any.whl

Download URL echopose_sdk-0.2.2-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
212750ef84b76be56daa961ae8c58c9e72ecb64e54ab0f0eea0a1eae157d8bdf
BLAKE2b-256 checksum
How to use checksums
042983f8a76bfcc571ceb755d6f6e7bf5ae834ee43255a1e9c1bc6b756b96cdf
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 Jul 12, 2026.

Transparency log

Security for echopose-sdk 0.2.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for echopose_sdk-0.2.2.tar.gz

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 Jul 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page