3 releases
| 0.1.2 | Dec 15, 2025 |
|---|---|
| 0.1.1 | Dec 14, 2025 |
| 0.1.0 | Dec 14, 2025 |
#1016 in Compression
130KB
3K
SLoC
zippy_data
Core Rust engine for the Zippy Data System (ZDS) — a high-performance, multi-language dataset storage format. The crate powers the Python, Node.js, and CLI bindings and is optimized for fast ingestion and random access over JSONL-style datasets.
Features
- Fast ingestion: Append JSON documents via
FastStorewith mmap-backed indexing - Random + sequential access: Use the
EngineAPI to fetch docs by id or scan with predicates/projections - Pack/Unpack: Turn a store into a portable
.zdsarchive (and back) withzippy_data::container - Schema/index helpers: Manage schema registry, layout helpers, and journaled transaction log
- Zero-copy friendly: Uses SIMD JSON parsing and memory-mapped files for throughput
Install
cargo add zippy_data
# optional helpers
cargo add serde_json
Requires Rust 1.75+.
Example
use serde_json::json;
use zippy_data::{FastStore, Result};
fn main() -> Result<()> {
let mut store = FastStore::open("./data", "train", 1000)?;
store.put("doc_001", json!({"text": "hello", "label": 1}))?;
store.flush()?;
let doc = store.get("doc_001")?;
println!("{}", doc["text"]);
Ok(())
}
See AGENTS.md for a deeper guide, patterns, and troubleshooting tips.
Dependencies
~10–18MB
~362K SLoC