dedups 0.1.0

A fast and efficient file deduplication tool with support for media files
Documentation
[package]
name = "dedups"
version = "0.1.0"
edition = "2021"
description = "A fast and efficient file deduplication tool with support for media files"
license = "MIT"
repository = "https://github.com/AtlasPilotPuppy/dedup"
readme = "README.md"
keywords = ["deduplication", "files", "media", "hash", "duplicate-finder"]
categories = ["command-line-utilities", "filesystem", "multimedia"]
authors = ["Atlas <atlas@aircrafts.dev"]

[dependencies]
anyhow = "1.0"
clap = { version = "~4.5.0", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.7"
walkdir = "~2.5.0"
md5 = "0.7"
sha1 = "0.10"
sha2 = "0.10"
blake3 = "1.5"
twox-hash = "1.6"  # For xxHash implementation
gxhash = { version = "3.0", optional = true }  # For gxHash implementation, optional
fnv = "1.0"        # For FNV-1a implementation
crc32fast = "1.3"  # For CRC-32 implementation
hex = "0.4"        # For hex encoding
rayon = "~1.10.0"
ratatui = { version = "~0.26.0", features = ["crossterm"] }
crossterm = "0.27"
thiserror = "1.0"
log = "0.4"
simplelog = "~0.12.1"
chrono = { version = "0.4", features = ["serde"] }
lazy_static = "~1.5.0"
indicatif = "~0.17.7"
humansize = "~2.1.3"
strip-ansi-escapes = "~0.2.0"
crossbeam-channel = "~0.5.12"
num_cpus = "1.16"
tui-input = "~0.8.0"
glob = "~0.3.1"
env_logger = "0.10"
simple_logger = "4.2"
regex = "1.10"
dirs = "5.0"

# Media fingerprinting libraries
image = "0.24.7"                      # Image processing
img_hash = "3.2.0"                    # Perceptual image hashing
infer = "0.15.0"                      # File type detection
mime_guess = "2.0.4"                  # MIME type detection
kamadak-exif = "0.5.5"                # EXIF metadata extraction
tempfile = "3.8"                      # Temporary files for video processing
base64 = "0.21"                       # For decoding base64 in audio fingerprints

[features]
default = []
linux = ["gxhash"]  # Enable gxhash only on Linux platforms
test_mode = []     # Used for integration tests

[dev-dependencies]
assert_cmd = "~2.0.14"
predicates = "~3.1.0"
tempfile = "3.5"
rand = "0.8.5"
filetime = "0.2.23"

[profile.release]
opt-level = "z"       # Optimize for minimal size ("s" or "z")
lto = "fat"           # Aggressive link-time optimization
codegen-units = 1     # Disable parallel codegen for better optimization
strip = true          # Remove debug symbols
panic = "abort"       # Skip panic unwinding code