[package]
name = "bale"
version = "0.1.0"
authors = ["Adam Mill <hismajesty@theroyalwhee.com>"]
edition = "2024"
rust-version = "1.89.0"
description = "A mmap-first, fixed-stride zip-like pack format"
license = "Apache-2.0"
repository = "https://github.com/theroyalwhee0/bale"
keywords = ["archive", "zip", "mmap", "pack", "fuse"]
categories = ["compression", "filesystem"]
exclude = [
"CLAUDE.md",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"SECURITY.md",
".markdownlintrc",
"clippy.toml",
"docs/",
]
[[bin]]
name = "bale"
path = "src/bin/bale/main.rs"
required-features = ["bin"]
[features]
default = ["bin"]
reader = []
writer = []
compact = ["reader", "writer"]
cli = ["reader", "writer", "dep:clap", "dep:env_logger"]
fuse = ["cli", "dep:fuser"]
bin = ["compact", "fuse"]
integration-tests = []
[dependencies]
thiserror = "2.0.17"
chrono = "0.4.42"
nix = { version = "0.30.1", default-features = false, features = ["fs", "process", "user"] }
crc32fast = "1.5.0"
zerocopy = { version = "0.8.31", features = ["derive"] }
log = "0.4.29"
env_logger = { version = "0.11.8", optional = true }
tempfile = "3.24.0"
safename = { version = "0.1.0", features = ["medium"] }
fs4 = "0.13.1"
memmap2 = "0.9.9"
clap = { version = "4", features = ["derive"], optional = true }
fuser = { version = "0.16.0", optional = true }
[build-dependencies]
chrono = "0.4.42"
[dev-dependencies]
proptest = "1.9.0"
trycmd = "0.15.11"
[lints.rust]
unsafe_code = "deny"
missing_docs = "deny"
[lints.rustdoc]
missing_crate_level_docs = "deny"
broken_intra_doc_links = "deny"
private_intra_doc_links = "deny"
invalid_codeblock_attributes = "deny"
bare_urls = "deny"
redundant_explicit_links = "deny"
[lints.clippy]
print_stdout = "deny"
print_stderr = "deny"
disallowed_methods = "deny"
missing_docs_in_private_items = "deny"
missing_panics_doc = "deny"
missing_errors_doc = "deny"
missing_safety_doc = "deny"