[package]
edition = "2024"
rust-version = "1.88.0"
name = "s3sync"
version = "1.54.2"
authors = ["nidor1998 <nidor1998@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reliable, flexible, and fast synchronization tool for S3."
homepage = "https://github.com/nidor1998/s3sync"
documentation = "https://docs.rs/s3sync"
readme = "README.md"
keywords = [
"AWS",
"Amazon",
"S3",
"sync",
]
categories = [
"command-line-utilities",
"filesystem",
"asynchronous",
"concurrency",
]
license = "Apache-2.0"
repository = "https://github.com/nidor1998/s3sync"
[features]
default = [
"version",
"lua_support",
]
e2e_test = []
e2e_test_dangerous_simulations = []
lua_support = ["dep:mlua"]
version = ["dep:shadow-rs"]
[lib]
name = "s3sync"
path = "src/lib.rs"
[[bin]]
name = "s3sync"
path = "src/bin/s3sync/main.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "full"
path = "examples/full.rs"
[[test]]
name = "cancel_test"
path = "tests/cancel_test.rs"
[[test]]
name = "error_simulations"
path = "tests/error_simulations.rs"
[[test]]
name = "event_callback"
path = "tests/event_callback.rs"
[[test]]
name = "express_one_zone"
path = "tests/express_one_zone.rs"
[[test]]
name = "filter_callback"
path = "tests/filter_callback.rs"
[[test]]
name = "integrity_check"
path = "tests/integrity_check.rs"
[[test]]
name = "local_to_s3"
path = "tests/local_to_s3.rs"
[[test]]
name = "lua_callback"
path = "tests/lua_callback.rs"
[[test]]
name = "multipart_integrity_check_10mb_file_5mb_chunk"
path = "tests/multipart_integrity_check_10mb_file_5mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_16mb_file_5mb_chunk"
path = "tests/multipart_integrity_check_16mb_file_5mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_16mb_file_8mb_chunk"
path = "tests/multipart_integrity_check_16mb_file_8mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_30mb_file_8mb_chunk"
path = "tests/multipart_integrity_check_30mb_file_8mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_5mb_file_5mb_chunk"
path = "tests/multipart_integrity_check_5mb_file_5mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_8mb_file_8mb_chunk"
path = "tests/multipart_integrity_check_8mb_file_8mb_chunk.rs"
[[test]]
name = "multipart_integrity_check_edge_case"
path = "tests/multipart_integrity_check_edge_case.rs"
[[test]]
name = "panic_simulations"
path = "tests/panic_simulations.rs"
[[test]]
name = "point_in_time_snapshot"
path = "tests/point_in_time_snapshot.rs"
[[test]]
name = "preprocess_callback"
path = "tests/preprocess_callback.rs"
[[test]]
name = "s3_to_local"
path = "tests/s3_to_local.rs"
[[test]]
name = "s3_to_s3"
path = "tests/s3_to_s3.rs"
[[test]]
name = "s3_to_s3_versioning"
path = "tests/s3_to_s3_versioning.rs"
[[test]]
name = "sync_report"
path = "tests/sync_report.rs"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.async-channel]
version = "2.5.0"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.aws-config]
version = "1.8.12"
features = ["behavior-version-latest"]
[dependencies.aws-runtime]
version = "1.5.18"
[dependencies.aws-sdk-s3]
version = "1.120.0"
[dependencies.aws-smithy-runtime-api]
version = "1.10.0"
[dependencies.aws-smithy-types]
version = "1.3.6"
[dependencies.aws-smithy-types-convert]
version = "0.60.11"
features = ["convert-chrono"]
[dependencies.aws-types]
version = "1.3.11"
[dependencies.base64]
version = "0.22.1"
[dependencies.bitflags]
version = "2.10.0"
[dependencies.byte-unit]
version = "5.2.0"
[dependencies.cfg-if]
version = "1.0.4"
[dependencies.chrono]
version = "0.4.43"
[dependencies.clap]
version = "4.5.54"
features = [
"derive",
"env",
"cargo",
"string",
]
[dependencies.clap-verbosity-flag]
version = "3.0.4"
[dependencies.clap_complete]
version = "4.5.65"
[dependencies.crc-fast]
version = "1.9.0"
[dependencies.crc32c]
version = "0.6.8"
[dependencies.crc32fast]
version = "1.5.0"
[dependencies.dyn-clone]
version = "1.0.20"
[dependencies.fancy-regex]
version = "0.17.0"
[dependencies.filetime]
version = "0.2.27"
[dependencies.futures]
version = "0.3.31"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.hex]
version = "0.4.3"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.hyper]
version = "1.8.1"
[dependencies.indicatif]
version = "0.18.3"
[dependencies.leaky-bucket]
version = "1.1.2"
[dependencies.log]
version = "0.4.29"
[dependencies.md5]
version = "0.8.0"
[dependencies.mime_guess]
version = "2.0.5"
[dependencies.mlua]
version = "0.11.5"
features = [
"lua54",
"async",
"send",
"vendored",
]
optional = true
[dependencies.percent-encoding]
version = "2.3.2"
[dependencies.pin-project]
version = "1.1.10"
[dependencies.regex]
version = "1.12.2"
[dependencies.rusty-fork]
version = "0.3.1"
[dependencies.sha1]
version = "0.10.6"
[dependencies.sha2]
version = "0.10.9"
[dependencies.shadow-rs]
version = "1.6.0"
optional = true
[dependencies.simple_moving_average]
version = "1.0.2"
[dependencies.tempfile]
version = "3.24.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.49.0"
features = ["full"]
[dependencies.tokio-util]
version = "0.7.18"
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.22"
features = [
"env-filter",
"json",
"local-time",
]
[dependencies.url]
version = "2.5.8"
[dependencies.urlencoding]
version = "2.1.3"
[dependencies.walkdir]
version = "2.5.0"
[dependencies.zeroize]
version = "1.8.2"
[dependencies.zeroize_derive]
version = "1.4.3"
[dev-dependencies.nix]
version = "0.31.1"
features = [
"user",
"process",
"signal",
]
[dev-dependencies.once_cell]
version = "1.21.3"
[dev-dependencies.uuid]
version = "1.19.0"
features = ["v4"]
[build-dependencies.shadow-rs]
version = "1.6.0"
optional = true
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage_nightly)"]
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 1
panic = "unwind"
strip = "symbols"
[profile.release-min-size]
opt-level = "z"
debug = 0
panic = "abort"
inherits = "release"