[package]
name = "r2kit"
version = "0.1.0"
edition = "2024"
rust-version = "1.94.1"
publish = ["crates-io"]
description = "A safe, ergonomic Rust toolkit for Cloudflare R2 object storage."
license = "MIT OR Apache-2.0"
repository = "https://github.com/zer0horizon/r2kit"
homepage = "https://github.com/zer0horizon/r2kit"
documentation = "https://docs.rs/r2kit"
readme = "README.md"
keywords = ["cloudflare", "r2", "s3", "object-storage", "multipart"]
categories = ["api-bindings", "asynchronous", "web-programming"]
include = ["/src/**", "/tests/**", "/examples/**", "/docs/**", "/Cargo.toml", "/CHANGELOG.md", "/CONTRIBUTING.md", "/README.md", "/SECURITY.md", "/LICENSE-APACHE", "/LICENSE-MIT"]
[features]
default = []
live-tests = []
serde = ["dep:serde"]
tracing = ["dep:tracing"]
[dependencies]
aws-sdk-s3 = { version = "=1.143.0", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-smithy-types = "1"
bytes = "1"
base64 = { version = "0.22", default-features = false, features = ["alloc"] }
futures-util = { version = "0.3", default-features = false, features = ["async-await", "std"] }
fastrand = "2"
headers = "0.4"
mime = "0.3"
oxilangtag = { version = "0.1.6", default-features = false }
serde = { version = "1", features = ["derive"], optional = true }
tokio = { version = "1", default-features = false, features = ["fs", "io-util", "sync", "time"] }
tracing = { version = "0.1", optional = true, default-features = false, features = ["std"] }
[dev-dependencies]
md-5 = "0.11"
mime_guess = "2"
proptest = "1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
serde_json = "1"
tempfile = "3"
tokio = { version = "1", default-features = false, features = ["macros", "rt-multi-thread"] }
uuid = { version = "1", features = ["v4"] }
[[test]]
name = "live_presigned_multipart"
path = "tests/live_presigned_multipart.rs"
required-features = ["live-tests"]
[[test]]
name = "live_object"
path = "tests/live_object.rs"
required-features = ["live-tests"]
[[test]]
name = "live_managed"
path = "tests/live_managed.rs"
required-features = ["live-tests"]
[[test]]
name = "live_stress"
path = "tests/live_stress.rs"
required-features = ["live-tests"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]