xpatch 0.2.0

High-performance delta compression library with automatic algorithm selection
Documentation
[package]
name = "xpatch"
version = "0.2.0"
edition = "2024"
license = "AGPL-3.0-or-later"
description = "High-performance delta compression library with automatic algorithm selection"
repository = "https://github.com/ImGajeed76/xpatch"
homepage = "https://github.com/ImGajeed76/xpatch"
documentation = "https://docs.rs/xpatch"
readme = "README.md"
keywords = ["delta", "compression", "diff", "patch", "version-control"]
categories = ["compression", "algorithms", "encoding"]
exclude = [
    "test_results/",
    "benchmark_results/",
    "benches/",
    "*.log",
    "*.csv",
    "Cargo.toml.orig",
    "src/bin/git_benchmark.rs"
]

[dependencies]
gdelta = "0.2.1"
num_enum = "0.7.5"
zstd = "0.13.3"

# CLI
anyhow = { version = "1.0.100", optional = true }
clap = { version = "4.5.53", features = ["derive"], optional = true }
owo-colors = {version = "4.2.3", optional = true}
sysinfo = {version = "0.37.2", optional = true}

[dev-dependencies]
criterion = { version = "0.8.0", features = ["html_reports"] }
vcdiff = "0.1.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
log = "0.4.29"
chrono = "0.4.42"
git2 = "0.20.3"
anyhow = "1.0.100"
clap = {version = "4.5.53", features = ["derive"]}
indicatif = "0.18.3"
rayon = "1.11.0"
csv = "1.4.0"
env_logger = "0.11.8"
ctrlc = "3.5.1"
num_cpus = "1.17.0"
sysinfo = "0.37.2"
crossbeam = "0.8.4"

[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "unwind"

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "unwind"

[features]
default = []
cli = [
    "dep:anyhow",
    "dep:clap",
    "dep:sysinfo",
    "dep:owo-colors"
]
vcdiff = []
gdelta = []
debug_all = [
    "debug_delta_encode",
    "debug_delta_token",
    "debug_delta_analyze",
    "debug_delta_compress",
    "debug_delta_pattern",
    "debug_delta_header",
    "debug_tokenizer",
]
debug_delta_encode = []
debug_delta_token = []
debug_delta_analyze = []
debug_delta_compress = []
debug_delta_pattern = []
debug_delta_header = []
debug_tokenizer = []

[[bench]]
name = "stress"
harness = false

[[bench]]
name = "git_real_world"
harness = false

[[bin]]
name = "xpatch"
path = "src/bin/cli.rs"
required-features = ["cli"]

[[example]]
name = "basic"

[[example]]
name = "tags"