box-format

Crates.iobox-format
lib.rsbox-format
version0.3.2
sourcesrc
created_at2021-04-20 20:09:17.939654
updated_at2022-05-23 11:34:44.330835
descriptionSupport library for the Box open standard archive format.
homepage
repositoryhttps://github.com/bbqsrc/box
max_upload_size
id387293
size87,354
Brendan Molloy (bbqsrc)

documentation

README

Box - Open Standard Archive Format

Actions Status

⚠️Box is under active development. Do not expect compatibility between versions until v1.0.

The .box file format and related tooling is designed to be a modern successor to formats such as .zip and .7z, removing several painpoints and introducing modern features and expectations:

Features

🌉Cross-platform path support, with relative paths only and platform-agnostic separators
🌐UTF-8 only, Unicode normalised path names and string data
🔍FST-based indexing for extremely fast path lookups
👩‍🚀Extensible with space-efficient attributes in key-value pairs for records and whole archives
↔️Configurable optional byte-alignment of files to enable easy memory mapping
💽Inode-based metadata for tree-based structuring, mapping closely to how filesystems work
📁Support for directories, files and links
🗜️Multiple compression methods within a single archive
🖥️A truly cross-platform command line tool
📜Well-defined, open specification of file format (due before v1.0)

Compression methods

Currently supported compression methods:

  • Stored (no compression)
  • Brotli
  • DEFLATE
  • Snappy
  • xz
  • Zstandard

Supported platforms

  • Windows
  • macOS
  • Linux
  • iOS
  • Android

See the fusebox repo for an example of the .box file format being used with a FUSE driver, also written in Rust. :smile:

License

Licensed under either of

at your option.

Commit count: 155

cargo fmt