[package]
edition = "2024"
name = "rust-s3"
version = "0.37.2"
authors = ["Drazen Urch"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust library for working with AWS S3 and compatible object storage APIs"
documentation = "https://docs.rs/rust-s3/latest/s3/"
readme = "README.md"
keywords = [
"S3",
"Wasabi",
"Minio",
"GCP",
"R2",
]
license = "MIT"
repository = "https://github.com/durch/rust-s3"
resolver = "2"
[features]
async-std-native-tls = [
"aws-creds/native-tls",
"with-async-std",
"surf/h1-client",
]
async-std-rustls-tls = [
"aws-creds/rustls-tls",
"with-async-std",
"surf/h1-client-rustls",
]
blocking = [
"block_on_proc",
"tokio/rt",
"tokio/rt-multi-thread",
]
default = [
"fail-on-err",
"tags",
"tokio-native-tls",
]
fail-on-err = []
http-credentials = ["aws-creds/http-credentials"]
sync = [
"attohttpc",
"maybe-async/is_sync",
]
sync-native-tls = [
"attohttpc/tls",
"aws-creds/native-tls",
"sync",
]
sync-native-tls-vendored = [
"attohttpc/tls-vendored",
"aws-creds/native-tls-vendored",
"sync",
]
sync-rustls-tls = [
"attohttpc/tls-rustls",
"aws-creds/rustls-tls",
"sync",
]
tags = ["minidom"]
tokio-native-tls = [
"aws-creds/native-tls",
"reqwest/native-tls",
"with-tokio",
]
tokio-rustls-tls = [
"aws-creds/rustls-tls",
"reqwest/rustls-tls",
"with-tokio",
]
with-async-std = [
"async-std",
"futures-util",
"surf",
"sysinfo",
]
with-async-std-hyper = [
"with-async-std",
"surf/hyper-client",
]
with-tokio = [
"futures-util",
"reqwest",
"tokio",
"tokio/fs",
"tokio-stream",
"sysinfo",
]
[lib]
name = "s3"
path = "src/lib.rs"
[dependencies.async-std]
version = "1"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.attohttpc]
version = "0.30"
optional = true
default-features = false
[dependencies.aws-creds]
version = "0.39.1"
default-features = false
[dependencies.aws-region]
version = "0.28.1"
[dependencies.base64]
version = "0.22"
[dependencies.block_on_proc]
version = "0.2"
optional = true
[dependencies.bytes]
version = "1.2"
[dependencies.cfg-if]
version = "1"
[dependencies.futures-util]
version = "0.3"
optional = true
default-features = false
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.http]
version = "1"
[dependencies.log]
version = "0.4"
[dependencies.maybe-async]
version = "0.2"
[dependencies.md5]
version = "0.8"
[dependencies.minidom]
version = "0.16"
optional = true
[dependencies.percent-encoding]
version = "2"
[dependencies.quick-xml]
version = "0.38"
features = ["serialize"]
[dependencies.reqwest]
version = "0.12"
features = ["stream"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
[dependencies.serde_derive]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.surf]
version = "2"
optional = true
default-features = false
[dependencies.sysinfo]
version = "0.37.0"
optional = true
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.time]
version = "^0.3.6"
features = [
"formatting",
"macros",
]
default-features = false
[dependencies.tokio]
version = "1"
features = ["io-util"]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.url]
version = "2"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.async-std]
version = "1"
features = ["attributes"]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"fs",
]
[dev-dependencies.uuid]
version = "1"
features = ["v4"]