Metadata-Version: 2.4
Name: iqz
Version: 0.1.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Archiving :: Compression
Classifier: Typing :: Typed
Requires-Dist: numpy>=1.21
Requires-Dist: zstandard>=0.22
Requires-Dist: jaxtyping>=0.3.2
Requires-Dist: typing-extensions>=4.6 ; python_full_version < '3.12'
Requires-Dist: pre-commit>=4.0.0 ; extra == 'dev'
Requires-Dist: pytest>=8.0.0 ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pyright>=1.0.0 ; extra == 'dev'
Requires-Dist: ruff>=0.11.0 ; extra == 'dev'
Requires-Dist: mkdocs==1.6.* ; extra == 'docs'
Requires-Dist: mkdocs-material==9.6.* ; extra == 'docs'
Requires-Dist: mkdocstrings-python-xref==1.16.3 ; extra == 'docs'
Requires-Dist: mkdocstrings-python==1.16.6 ; extra == 'docs'
Requires-Dist: griffe==1.8.0 ; extra == 'docs'
Requires-Dist: mkdocs-llmstxt>=0.5.0 ; extra == 'docs'
Requires-Dist: ruff>=0.11.0 ; extra == 'docs'
Provides-Extra: dev
Provides-Extra: docs
License-File: LICENSE
Summary: A simple lossless compression codec for I/Q radar data.
Keywords: radar,mmwave,fmcw,iq,compression,lossless,zstd
Author-email: Tianshu Huang <tianshu2@andrew.cmu.edu>
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://radarml.github.io/iqz
Project-URL: Homepage, https://github.com/RadarML/iqz
Project-URL: Issues, https://github.com/RadarML/iqz/issues

# IQZ: Lossless I/Q Radar Compression

A simple lossless compression codec for I/Q radar data: subtract each chunk's mean chirp, zigzag and byte-shuffle the residuals, and compress with zstd. It gets 2.31x on Tartan\* and 1.84x on I/Q-1M (vs. 1.62x and 1.43x for zstd alone), and decodes at ~3 GB/s per core with the native (Rust) backend.

```sh
pip install iqz
```

```python
import iqz

blob = iqz.encode(x)                        # x: (64, 3, 4, 1024) int16
y = iqz.decode(blob, shape=(3, 4, 1024))    # shape excludes the chirps axis
```

See the [documentation](https://radarml.github.io/iqz) for details.

