# parx-rs
Rust implementation of the PARX sidecar format.
PARX caches Parquet metadata (footer and optional page indexes) in `.parx` files to reduce object store metadata reads.
## Install
```toml
[dependencies]
parx-rs = "0.1"
```
## What This Crate Provides
- read and validate `.parx` sidecars
- write `.parx` sidecars from Parquet bytes or local files
- expose raw footer bytes and optional page-index bytes for downstream consumers
## Quick Start
```rust
use parx_rs::{ParxReader, ParxWriter};
let mut writer = ParxWriter::from_parquet_file("data.parquet")?;
let parx_bytes = writer.finish();
std::fs::write("data.parquet.parx", parx_bytes)?;
let sidecar = std::fs::read("data.parquet.parx")?;
let reader = ParxReader::open(&sidecar)?;
let footer = reader.footer_bytes();
# let _ = footer;
# Ok::<(), Box<dyn std::error::Error>>(())
```
## Format Spec
See [`FORMAT_SPEC.md`](./FORMAT_SPEC.md).