Metadata-Version: 2.4
Name: verity-x3p
Version: 0.2.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: File Formats
Requires-Dist: numpy>=1.21
Summary: Native X3P (ISO 25178-72) reader/writer — Python binding to the Verity Rust core.
Keywords: forensics,x3p,metrology,topography,iso25178
Author-email: Eric Hare <ericrhare@gmail.com>
License: MIT OR Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://github.com/erichare/verity/blob/main/CHANGELOG.md
Project-URL: Documentation, https://docs.verity.codes
Project-URL: Homepage, https://verity.codes
Project-URL: Issues, https://github.com/erichare/verity/issues
Project-URL: Repository, https://github.com/erichare/verity

# verity-x3p (Python)

Python binding to the [Verity](https://github.com/erichare/verity) native X3P
(ISO 25178-72) reader/writer. Backed by the `verity-x3p` Rust core, so files
round-trip bit-identically with every other Verity language binding.

```python
import verity_x3p

s = verity_x3p.read_x3p("scan.x3p")          # verifies the stored MD5
print(s.nx, s.ny, s.data.shape, s.data.dtype)  # 741 419 (419, 741) float64

# s.data and s.mask are NumPy arrays of shape (ny, nx).
verity_x3p.write_x3p(s, "copy.x3p", z_type="D")
```

## Build from source

```bash
maturin develop            # build + install into the active venv
# or
maturin build --release    # produce a wheel under target/wheels/
```

Requires a Rust toolchain and NumPy. Built as an `abi3` wheel (CPython 3.9+).

