ZPE-IoT
Deterministic bounded-lossy sensor compression — 6.83x mean vs zstd 2.87x across 10 real public datasets (E1 benchmark, 10/10 wins on DS-01..DS-10; DS-12 is a separate competitor win — see disclosure below). Bounded-lossy vs lossless.
Architecture | API | Benchmarks | Package | Legal
SAL v7.0 — free below $100M annual revenue. See LICENSE.
What This Is
ZPE-IoT is a deterministic sensor compression SDK for constrained telemetry streams. The repo ships a Rust core with PyO3 bindings, an installable Python package, committed benchmark receipts, and the validation scripts used to keep that surface honest.
This README is intentionally narrower than the March audit packet. Claims stay only where this repo has both committed proof artifacts and a CI check that exercises the relevant surface.
CI-Backed Surface
The default CI workflow currently checks:
- Rust tests plus
cargo clippy -D warnings - editable install, wheel build, and Python test matrix on Ubuntu and macOS for CPython 3.10-3.12
- provenance smoke over the committed dataset manifest and transformed artifacts, plus DT-18 strict-gate enforcement
- public benchmark receipt sanity against the committed E1 benchmark summary and receipt index
- security scan plus release-manifest generation scripts
Source workflow: .github/workflows/ci.yml
Public Benchmark Snapshot
Framing disclosure: ZPE-IoT is a bounded-lossy codec. All E1 comparators (zstd, lz4, zlib, gorilla) are lossless — compression-ratio comparisons are informative but not apples-to-apples. DS-12 is the explicit case where the comparator surface wins.
The committed E1 public benchmark surface reports a 10/11 win split for ZPE-IoT across DS-01..DS-10 plus DS-12.
| Slice | Current committed receipt |
|---|---|
| E1 wins | 10 / 11 |
| DS-01..DS-10 mean compression | 6.83x |
| DS-01..DS-10 mean zstd compression | 2.87x |
| DS-12 | competitor win |
| DS-05 | ZPE-IoT win (7.29x) with narrow margin over zlib (7.02x) |
Sources:
validation/results/bench_summary_E1_real_public_20260321T225305.jsonproofs/artifacts/public_benchmarks/INDEX.jsonproofs/artifacts/public_benchmarks/DS-05.jsonproofs/artifacts/public_benchmarks/DS-12.json
Comp Benchmarks vs Prior Art
All comparisons below are drawn from committed E1 receipts run on the same 10 real public datasets (DS-01..DS-10). Baselines are lossless; ZPE-IoT is bounded-lossy. NRMSE is window-normalized. Latency is per-window encode at the native (Rust) layer.
Per-comparator win count (DS-01..DS-10, 10 datasets):
| Comparator | ZPE-IoT wins | ZPE-IoT mean CR | Comparator mean CR |
|---|---|---|---|
| zstd | 10 / 10 | 6.83x | 2.87x |
| lz4 | 10 / 10 | 6.83x | 1.89x |
| zlib | 10 / 10 | 6.83x | 3.00x |
| gorilla | 10 / 10 | 6.83x | 2.46x |
Structural highlight — high-entropy accelerometer (DS-04, UCI HAR body_acc_x):
On high-entropy inertial signals, lossless codecs approach break-even or below, while ZPE-IoT's bounded-lossy design continues to compress:
| Codec | Compression ratio |
|---|---|
| ZPE-IoT | 7.16x |
| zstd | 1.05x |
| lz4 | ~1.00x (break-even) |
| zlib | 1.05x |
| gorilla | 1.04x |
Source: proofs/artifacts/public_benchmarks/DS-04.json + CI job benchmark_sanity in .github/workflows/ci.yml
GPS trajectory (DS-07, UCI GPS Trajectories):
| Codec | Compression ratio |
|---|---|
| ZPE-IoT | 6.98x |
| zstd | 1.37x |
| zlib | 1.37x |
| gorilla | 1.22x |
Source: proofs/artifacts/public_benchmarks/DS-07.json
Per-preset compression ratios (DT-12, committed CI result):
| Preset | Mean CR | Mean NRMSE (window-norm) |
|---|---|---|
| temperature | 8.03x | 0.0074 |
| gps_track | 7.80x | 0.0191 |
| pressure | 7.29x | 0.0041 |
| accelerometer | 7.12x | 0.0397 |
| flow | 8.03x | 0.0074 |
| voltage | 6.60x | 0.0283 |
| current | 6.60x | 0.0283 |
| vibration | 6.40x | 0.0151 |
| generic | 6.24x | 0.0020 |
Source: validation/results/dt_results_20260321T225304.json (DT-12) + CI job strict_dt_smoke
Latency and Throughput
Committed DT-09 result (per-window encode/decode, 256-sample window):
| Layer | Mean latency | p99 latency |
|---|---|---|
| Native (Rust) | 0.031 ms | 0.035 ms |
| Python (PyO3) | 0.723 ms | 0.789 ms |
| Threshold gate | mean < 0.500 ms | p99 < 2.000 ms |
Committed DT-07 result: 10 million samples encoded in 0.30 s (latch-freedom check, no queue buildup).
Sources: validation/results/dt_results_20260321T225304.json (DT-07, DT-09) + CI job strict_dt_smoke
What We Don't Claim
- no universal compressor dominance
- no lossless reconstruction
- no production protocol bridge beyond the published package surface
- no CI-backed claim about live PyPI publication state
- no CI-backed claim that the raw public dataset mirror is present on every clean checkout
Quick Start
Install from source:
git clone https://github.com/Zer0pa/ZPE-IoT zpe-iot
cd zpe-iot
python -m pip install -e './python[dev]'
cargo test --manifest-path core/Cargo.toml --release
python -m pytest python/tests -v
Run the benchmark receipt sanity check:
python validation/benchmarks/export_public_benchmarks.py
Repo Shape
| Area | Purpose |
|---|---|
README.md, pyproject.toml, LICENSE |
repo front door and package metadata |
core/ |
canonical Rust codec kernel and Rust test surface |
python/ |
installable Python package and CLI |
docs/ |
architecture, API, integration, and legal docs |
proofs/ |
committed public benchmark receipts and related proof routing |
validation/ |
datasets, destructive tests, benchmark scripts, and result artifacts |
Docs and Support
| Route | Target |
|---|---|
| Architecture | docs/ARCHITECTURE.md |
| API and CLI | docs/API.md, docs/CLI_CONTRACT.md |
| Benchmark authority | proofs/artifacts/public_benchmarks/INDEX.json |
| Legal boundary | docs/LEGAL_BOUNDARIES.md |
| Integration guidance | docs/INTEGRATION_GUIDE.md |
| Security reporting | SECURITY.md |
Portfolio Position
ZPE-IoT is the constrained-telemetry lane in the Zer0pa ZPE codec portfolio — one of 17 independent domain-specific encoding products, each with its own proof surface, sharing a license but not a shared platform.
Metadata
Release files for zpe-iot 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zpe_iot-0.1.1.tar.gz | 109.0 kB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| zpe_iot-0.1.1-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| zpe_iot-0.1.1-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 1.3 MB
Release files / zpe_iot-0.1.1.tar.gz
| Download URL | zpe_iot-0.1.1.tar.gz |
|---|---|
| Size | 109.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1da5564f17decb86858f920777ac8d23f4ecfbedf9924237d682dc9182a195bf
|
|
BLAKE2b-256 checksum How to use checksums |
95e4baf02a9ad9f61b26803e0f480e72c82a9d8d3042f066da03267553a565da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / zpe_iot-0.1.1-cp310-abi3-win_amd64.whl
| Download URL | zpe_iot-0.1.1-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 242.3 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
04e9d07b0f54bf4dbd68890384ada3b3dcf4d8d6e08f15d7018302ea6a79cfbd
|
|
BLAKE2b-256 checksum How to use checksums |
d0bf74dc5135ecf2ee36f0c6bdb29ee49ef152d382f8fffcba652ebc8ccd75dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 338.0 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
daba9b499ca415baf326b63630aeec818112d74214727786a01b1366c8cb3ac9
|
|
BLAKE2b-256 checksum How to use checksums |
c167180127ebb1d1f8e45a664dd068091e5318bd1c96efcdb8addefbd4b7dafd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | zpe_iot-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 329.5 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
8bc168c19942eccf8c92303c43a0aca0f7f16d2952c5f5943431b0ca53705a6c
|
|
BLAKE2b-256 checksum How to use checksums |
d689360159213d91e6cfa7516c0bc2d679010c84f210df8efed4750f803a55da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / zpe_iot-0.1.1-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | zpe_iot-0.1.1-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 315.6 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
90db8c97351d44cb371733e06b9b915bbaeb426962b392b53948f5409c9e8d2b
|
|
BLAKE2b-256 checksum How to use checksums |
d0f0c5c6f3ee3b3582f9959ea71f555193644a08641bd807d6e54dea9043a0f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Security for zpe-iot 0.1.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.