Expand description
Engram-rs: Unified archive library with manifest, signatures, and VFS support
This library provides a complete implementation of the Engram v0.3 archive format, combining:
- Compressed archive storage (LZ4/Zstd)
- Manifest with signature verification
- VFS (Virtual File System) via embedded SQLite databases
- Fast O(1) file lookup
§Example
use engram_rs::{ArchiveWriter, ArchiveReader};
// Create an archive
let mut writer = ArchiveWriter::create("example.eng")?;
writer.add_file("data.txt", b"Hello, World!")?;
writer.finalize()?;
// Read from archive
let mut reader = ArchiveReader::open("example.eng")?;
let data = reader.read_file("data.txt")?;Re-exports§
pub use archive::ArchiveReader;pub use archive::ArchiveWriter;pub use archive::CompressionMethod;pub use archive::EntryInfo;pub use archive::FileHeader;pub use archive::CD_ENTRY_SIZE;pub use archive::FORMAT_VERSION_MAJOR;pub use archive::FORMAT_VERSION_MINOR;pub use archive::HEADER_SIZE;pub use archive::MAGIC_NUMBER;pub use archive::MAX_PATH_LENGTH;pub use compat::EngramVfs;pub use error::EngramError;pub use error::Result;pub use manifest::Author;pub use manifest::FileEntry;pub use manifest::Manifest;pub use manifest::Metadata;pub use manifest::SignatureEntry;pub use vfs::VfsReader;