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