[package]
edition = "2021"
name = "s-zip"
version = "0.9.0"
authors = ["Ton That Vu <ttvuhm@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance streaming ZIP library with AES-256 encryption and async/await support - Read/write ZIP files with minimal memory footprint. Supports password protection, cloud storage, and Tokio runtime."
readme = "README.md"
keywords = [
"zip",
"streaming",
"compression",
"encryption",
"archive",
]
categories = [
"compression",
"encoding",
"filesystem",
]
license = "MIT"
repository = "https://github.com/KSD-CO/s-zip"
[features]
async = [
"tokio",
"async-compression",
"futures-util",
"pin-project-lite",
]
async-zstd = [
"async",
"zstd-support",
"async-compression/zstd",
]
cloud-all = [
"cloud-s3",
"cloud-gcs",
]
cloud-gcs = [
"async",
"google-cloud-storage",
"google-cloud-auth",
]
cloud-s3 = [
"async",
"aws-config",
"aws-sdk-s3",
]
default = []
encryption = [
"aes",
"ctr",
"hmac",
"sha1",
"pbkdf2",
]
zstd-support = ["zstd"]
[lib]
name = "s_zip"
path = "src/lib.rs"
[[example]]
name = "arbitrary_writer"
path = "examples/arbitrary_writer.rs"
[[example]]
name = "async_basic"
path = "examples/async_basic.rs"
[[example]]
name = "async_http_reader"
path = "examples/async_http_reader.rs"
[[example]]
name = "async_in_memory"
path = "examples/async_in_memory.rs"
[[example]]
name = "async_reader_advanced"
path = "examples/async_reader_advanced.rs"
[[example]]
name = "async_streaming"
path = "examples/async_streaming.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "cloud_s3"
path = "examples/cloud_s3.rs"
required-features = ["cloud-s3"]
[[example]]
name = "concurrent_demo"
path = "examples/concurrent_demo.rs"
[[example]]
name = "encryption_advanced"
path = "examples/encryption_advanced.rs"
[[example]]
name = "encryption_basic"
path = "examples/encryption_basic.rs"
[[example]]
name = "network_simulation"
path = "examples/network_simulation.rs"
[[example]]
name = "optimized_usage"
path = "examples/optimized_usage.rs"
[[example]]
name = "perf_test"
path = "examples/perf_test.rs"
[[example]]
name = "reader_optimization"
path = "examples/reader_optimization.rs"
[[example]]
name = "verify_s3_upload"
path = "examples/verify_s3_upload.rs"
required-features = ["cloud-s3"]
[[example]]
name = "zstd_compression"
path = "examples/zstd_compression.rs"
[[test]]
name = "async_reader_tests"
path = "tests/async_reader_tests.rs"
[[test]]
name = "async_writer_tests"
path = "tests/async_writer_tests.rs"
[[test]]
name = "unzip_compat"
path = "tests/unzip_compat.rs"
[[test]]
name = "zip64_reader"
path = "tests/zip64_reader.rs"
[[test]]
name = "zstd_compression"
path = "tests/zstd_compression.rs"
[[bench]]
name = "async_bench"
path = "benches/async_bench.rs"
harness = false
required-features = ["async"]
[[bench]]
name = "compression_bench"
path = "benches/compression_bench.rs"
harness = false
[[bench]]
name = "encryption_bench"
path = "benches/encryption_bench.rs"
harness = false
required-features = ["encryption"]
[[bench]]
name = "file_size_analysis"
path = "benches/file_size_analysis.rs"
harness = false
[[bench]]
name = "read_bench"
path = "benches/read_bench.rs"
harness = false
[dependencies.aes]
version = "0.8"
optional = true
[dependencies.async-compression]
version = "0.4"
features = [
"tokio",
"deflate",
"zstd",
]
optional = true
[dependencies.aws-config]
version = "1.5"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-s3]
version = "1.80"
features = ["behavior-version-latest"]
optional = true
[dependencies.crc32fast]
version = "1.4"
[dependencies.ctr]
version = "0.9"
optional = true
[dependencies.flate2]
version = "1.0"
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.google-cloud-auth]
version = "0.17"
optional = true
[dependencies.google-cloud-storage]
version = "0.22"
optional = true
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.pbkdf2]
version = "0.12"
features = ["simple"]
optional = true
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.sha1]
version = "0.10"
optional = true
[dependencies.tokio]
version = "1.35"
features = [
"io-util",
"fs",
]
optional = true
[dependencies.zstd]
version = "0.13"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio]
version = "1.35"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-test]
version = "0.4"