s3sync 1.47.0

Reliable, flexible, and fast synchronization tool for S3.
Documentation
[[bin]]
name = "s3sync"
path = "src/bin/s3sync/main.rs"

[build-dependencies.shadow-rs]
optional = true
version = "1.3.0"

[dependencies.anyhow]
version = "1.0.99"

[dependencies.async-channel]
version = "2.5.0"

[dependencies.async-trait]
version = "0.1.89"

[dependencies.aws-config]
features = ["behavior-version-latest"]
version = "1.8.6"

[dependencies.aws-runtime]
version = "1.5.10"

[dependencies.aws-sdk-s3]
version = "1.106.0"

[dependencies.aws-smithy-runtime-api]
version = "1.9.0"

[dependencies.aws-smithy-types]
version = "1.3.2"

[dependencies.aws-smithy-types-convert]
features = ["convert-chrono"]
version = "0.60.9"

[dependencies.aws-types]
version = "1.3.8"

[dependencies.base64]
version = "0.22.1"

[dependencies.bitflags]
version = "2.9.4"

[dependencies.byte-unit]
version = "5.1.6"

[dependencies.cfg-if]
version = "1.0.3"

[dependencies.chrono]
version = "0.4.42"

[dependencies.clap]
features = ["derive", "env", "cargo", "string"]
version = "4.5.47"

[dependencies.clap-verbosity-flag]
version = "3.0.4"

[dependencies.clap_complete]
version = "4.5.58"

[dependencies.crc32c]
version = "0.6.8"

[dependencies.crc32fast]
version = "1.5.0"

[dependencies.crc64fast-nvme]
version = "1.2.0"

[dependencies.dyn-clone]
version = "1.0.20"

[dependencies.fancy-regex]
version = "0.16.1"

[dependencies.filetime]
version = "0.2.26"

[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.7.0"

[dependencies.indicatif]
version = "0.18.0"

[dependencies.leaky-bucket]
version = "1.1.2"

[dependencies.log]
version = "0.4.28"

[dependencies.md5]
version = "0.8.0"

[dependencies.mime_guess]
version = "2.0.5"

[dependencies.mlua]
features = ["lua54", "async", "send", "vendored"]
optional = true
version = "0.11.3"

[dependencies.percent-encoding]
version = "2.3.2"

[dependencies.pin-project]
version = "1.1.10"

[dependencies.regex]
version = "1.11.2"

[dependencies.rusty-fork]
version = "0.3.0"

[dependencies.sha1]
version = "0.10.6"

[dependencies.sha2]
version = "0.10.9"

[dependencies.shadow-rs]
optional = true
version = "1.3.0"

[dependencies.simple_moving_average]
version = "1.0.2"

[dependencies.tempfile]
version = "3.22.0"

[dependencies.thiserror]
version = "2.0.16"

[dependencies.tokio]
features = ["full"]
version = "1.47.1"

[dependencies.tokio-util]
version = "0.7.16"

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-subscriber]
features = ["env-filter", "json", "local-time"]
version = "0.3.20"

[dependencies.url]
version = "2.5.7"

[dependencies.urlencoding]
version = "2.1.3"

[dependencies.walkdir]
version = "2.5.0"

[dependencies.zeroize]
version = "1.8.1"

[dependencies.zeroize_derive]
version = "1.4.2"

[dev-dependencies.nix]
features = ["user", "process", "signal"]
version = "0.30.1"

[dev-dependencies.once_cell]
version = "1.21.3"

[dev-dependencies.uuid]
features = ["v4"]
version = "1.18.1"

[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"

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(coverage_nightly)"]
level = "warn"
priority = 0

[package]
authors = ["nidor1998 <nidor1998@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["command-line-utilities", "filesystem", "asynchronous", "concurrency"]
description = "Reliable, flexible, and fast synchronization tool for S3."
documentation = "https://docs.rs/s3sync"
edition = "2024"
homepage = "https://github.com/nidor1998/s3sync"
keywords = ["AWS", "Amazon", "S3", "sync"]
license = "Apache-2.0"
name = "s3sync"
readme = "README.md"
repository = "https://github.com/nidor1998/s3sync"
rust-version = "1.86.0"
version = "1.47.0"

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

[profile.release-min-size]
debug = 0
inherits = "release"
opt-level = "z"
panic = "abort"

[[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"