#streaming #traits

no-std haagenti-core

Core traits, types, and streaming API for Haagenti compression library

1 unstable release

0.1.0 Jan 27, 2026

#353 in #streaming

Download history 65/week @ 2026-02-04 38/week @ 2026-02-11 99/week @ 2026-02-18 83/week @ 2026-02-25 65/week @ 2026-03-04 92/week @ 2026-03-11 120/week @ 2026-03-18 57/week @ 2026-03-25 89/week @ 2026-04-01 89/week @ 2026-04-08

355 downloads per month
Used in 29 crates (27 directly)

MIT/Apache

45KB
852 lines

Haagenti Core

Core traits, types, and streaming API for the Haagenti compression library.

Haagenti is named after the 48th demon of the Ars Goetia, who transmutes substances into more valuable forms - just as compression transforms data into denser representations.

Design Philosophy

  • Zero-copy where possible: Minimize allocations and memory copies
  • Streaming-first: All operations support incremental processing
  • SIMD-ready: Types designed for vectorized operations
  • No-std compatible: Core traits work without standard library

Core Traits

Example

use haagenti_core::{Codec, CompressionLevel};
use haagenti_lz4::Lz4Codec;

let codec = Lz4Codec::with_level(CompressionLevel::Fast);
let compressed = codec.compress(data)?;
let original = codec.decompress(&compressed)?;

Dependencies

~0.3–1.4MB
~27K SLoC