Crates.io | box-format |
lib.rs | box-format |
version | 0.3.2 |
source | src |
created_at | 2021-04-20 20:09:17.939654 |
updated_at | 2022-05-23 11:34:44.330835 |
description | Support library for the Box open standard archive format. |
homepage | |
repository | https://github.com/bbqsrc/box |
max_upload_size | |
id | 387293 |
size | 87,354 |
⚠️ | 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:
🌉 | 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) |
Currently supported compression methods:
See the fusebox
repo for an example of the .box
file format being used with a FUSE driver, also
written in Rust. :smile:
Licensed under either of
at your option.