vsf 0.1.13

Versatile Storage Format
Documentation
[package]
name = "vsf"
version = "0.1.13"
edition = "2021"
authors = ["Nick Spiker <nick@verichrome.cc>"]
description = "Versatile Storage Format"
license-file = "LICENSE"
repository = "https://github.com/nickspiker/vsf"
keywords = ["binary", "serialization", "storage", "data-format"]
categories = ["encoding", "data-structures"]
exclude = [
    "*.bin",           # Huffman frequency data - downloaded at build time from GitHub
    "*.rlib",          # Build artifacts
    "*.vsf",           # Example VSF files
    "vsf.png",         # Logo (GitHub only, not needed in package - 1.5MB)
    "target/",         # Build directory
    "tools/",          # Code generation tools
]
# frequencies.bin (8.5MB) is downloaded from GitHub during build instead of being bundled

[[bin]]
name = "vsfinfo"
path = "src/bin/vsfinfo.rs"
required-features = ["text"]

[dependencies]
bitvec = "1.0.1"
chrono = "0.4.38"
num-complex = "0.4.5"
spirix = { version = "0.0.6", path = "../spirix", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
blake3 = "1"
ed25519-dalek = { version = "2", features = ["rand_core"], optional = true }
x25519-dalek = { version = "2", features = ["static_secrets"], optional = true }
rand = { version = "0.8", optional = true }
chacha20poly1305 = { version = "0.10", optional = true }
aes-gcm = { version = "0.10", optional = true }
hex = "0.4"
colored = { version = "2", optional = true }
num-traits = "0.2.19"

[features]
default = []
crypto = ["ed25519-dalek", "x25519-dalek", "rand", "chacha20poly1305", "aes-gcm"]
spirix = ["dep:spirix"]
text = ["dep:clap", "dep:colored"]

[build-dependencies]
ureq = "2"