[package]
edition = "2024"
rust-version = "1.86"
name = "crypsol_storage"
version = "0.2.0"
authors = ["Zuhair Thabit<admin@crypsol.tech>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-cloud storage library for Rust with image processing, validation, and thumbnail generation. Supports AWS S3, GCS, Azure Blob, Cloudflare R2, MinIO, and local filesystem."
documentation = "https://docs.rs/crypsol_storage"
readme = "README.md"
keywords = [
"storage",
"aws",
"s3",
"cloud",
"async",
]
categories = [
"asynchronous",
"web-programming",
"multimedia::images",
]
license = "MIT"
repository = "https://github.com/crypsol/crypsol_storage"
[package.metadata.docs.rs]
all-features = true
[features]
azure = [
"dep:azure_storage",
"dep:azure_storage_blobs",
"dep:futures",
]
default = ["s3"]
gcs = [
"dep:google-cloud-storage",
"dep:google-cloud-auth",
"dep:serde_json",
]
local = []
s3 = ["dep:aws-sdk-s3"]
serde = ["dep:serde"]
[lib]
name = "crypsol_storage"
path = "src/lib.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[dependencies.aws-sdk-s3]
version = "1.109.0"
features = ["behavior-version-latest"]
optional = true
[dependencies.azure_storage]
version = "0.21"
optional = true
[dependencies.azure_storage_blobs]
version = "0.21"
optional = true
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4.44"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.google-cloud-auth]
version = "1.8.0"
optional = true
[dependencies.google-cloud-storage]
version = "1.10.0"
optional = true
[dependencies.image]
version = "0.25.9"
[dependencies.log]
version = "0.4.29"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.50.0"
features = [
"rt-multi-thread",
"macros",
"fs",
]
[dependencies.uuid]
version = "1.23.0"
features = ["v4"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.50.0"
features = [
"rt",
"macros",
"test-util",
]