[package]
edition = "2024"
name = "s3m"
version = "0.14.6"
authors = ["Nicolas Embriz <nbari@tequila.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI for streams of data in S3 buckets"
homepage = "https://s3m.stream"
documentation = "https://github.com/s3m/s3m/blob/master/README.md"
readme = "README.md"
keywords = [
"s3",
"stream",
"upload",
"resume",
"bucket",
]
categories = [
"command-line-utilities",
"command-line-interface",
]
license = "BSD-3-Clause"
repository = "https://github.com/s3m/s3m"
[[package.metadata.generate-rpm.assets]]
source = "target/release/s3m"
dest = "/usr/bin/s3m"
mode = "0755"
[package.metadata.deb]
assets = [[
"target/release/s3m",
"/usr/bin/s3m",
"755",
]]
depends = ""
[lib]
name = "s3m"
path = "src/lib.rs"
[[bin]]
name = "s3m"
path = "src/bin/s3m.rs"
[[test]]
name = "e2e_binary"
path = "tests/e2e_binary.rs"
[[test]]
name = "e2e_cb"
path = "tests/e2e_cb.rs"
[[test]]
name = "e2e_get"
path = "tests/e2e_get.rs"
[[test]]
name = "e2e_ls"
path = "tests/e2e_ls.rs"
[[test]]
name = "e2e_misc"
path = "tests/e2e_misc.rs"
[[test]]
name = "e2e_put"
path = "tests/e2e_put.rs"
[[test]]
name = "e2e_rm"
path = "tests/e2e_rm.rs"
[[test]]
name = "integration_encryption"
path = "tests/integration_encryption.rs"
[[test]]
name = "integration_multipart"
path = "tests/integration_multipart.rs"
[[test]]
name = "integration_stdin"
path = "tests/integration_stdin.rs"
[[bench]]
name = "sha256_md5_digest_benchmark"
path = "benches/sha256_md5_digest_benchmark.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.base64ct]
version = "1.8"
features = ["alloc"]
[dependencies.blake3]
version = "1"
[dependencies.bytes]
version = "1"
[dependencies.bytesize]
version = "2"
[dependencies.chacha20poly1305]
version = "0.10.1"
features = ["stream"]
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4"
features = [
"env",
"string",
]
[dependencies.colored]
version = "3"
[dependencies.crc32c]
version = "0.6"
[dependencies.crc32fast]
version = "1.5"
[dependencies.crossbeam]
version = "0.8"
[dependencies.dirs]
version = "6"
[dependencies.env_logger]
version = "0.11"
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1"
[dependencies.indicatif]
version = "0.18"
[dependencies.log]
version = "0.4"
[dependencies.md5]
version = "0.8"
[dependencies.num_cpus]
version = "1.17"
[dependencies.percent-encoding]
version = "2.3"
[dependencies.quick-xml]
version = "0.38"
features = ["serialize"]
[dependencies.rand]
version = "0.9.2"
[dependencies.regex]
version = "1.12"
[dependencies.reqwest]
version = "0.13"
features = [
"stream",
"rustls",
]
default-features = false
[dependencies.ring]
version = "0.17"
[dependencies.rkyv]
version = "0.8"
features = ["bytecheck"]
[dependencies.secrecy]
version = "0.10.3"
features = ["serde"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_yaml_ng]
version = "0.10"
[dependencies.sled]
version = "0.34"
[dependencies.temp-env]
version = "0.3.6"
[dependencies.tempfile]
version = "3"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.18"
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.url]
version = "2.5"
[dependencies.zstd]
version = "0.13"
[dev-dependencies.criterion]
version = "0.8"
features = ["async_futures"]
[dev-dependencies.mockito]
version = "1.7.2"
[dev-dependencies.testcontainers]
version = "0.26"
[lints.clippy]
all = "deny"
await_holding_lock = "deny"
complexity = "deny"
correctness = "deny"
expect_used = "deny"
indexing_slicing = "deny"
large_stack_arrays = "deny"
needless_borrow = "deny"
needless_collect = "deny"
panic = "deny"
pedantic = "deny"
perf = "deny"
suspicious = "deny"
unwrap_used = "deny"
[lints.clippy.nursery]
level = "allow"
priority = -1
[lints.rust]
warnings = "deny"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true