[package]
edition = "2024"
name = "s3m-core"
version = "0.21.0"
authors = ["Nicolas Embriz <nbari@tequila.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable S3 client and streaming engine behind the s3m CLI"
homepage = "https://s3m.stream"
documentation = "https://github.com/s3m/s3m/blob/master/README.md"
readme = "README.md"
keywords = [
"s3",
"stream",
"upload",
"resume",
"bucket",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "BSD-3-Clause"
repository = "https://github.com/s3m/s3m"
[lib]
name = "s3m_core"
path = "src/lib.rs"
[dependencies.aead-stream]
version = "0.6.0"
features = ["alloc"]
[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.11.0"
[dependencies.chrono]
version = "0.4"
[dependencies.crc32c]
version = "0.6"
[dependencies.crc32fast]
version = "1.5"
[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.percent-encoding]
version = "2.3"
[dependencies.quick-xml]
version = "0.42"
features = ["serialize"]
[dependencies.rand]
version = "0.10.3"
[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-saphyr]
version = "2.0"
features = [
"deserialize",
"serialize",
]
default-features = false
[dependencies.sled]
version = "0.34"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"fs",
"io-std",
"io-util",
"sync",
"time",
]
[dependencies.tokio-stream]
version = "0.1.19"
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.url]
version = "2.5"
[dependencies.zstd]
version = "0.14"
[dev-dependencies.mockito]
version = "1.7.2"
[dev-dependencies.temp-env]
version = "0.3.6"
[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"