[package]
name = "cloud-copy"
version = "0.7.0"
description = "A library for copying files to and from cloud storage."
license = "MIT OR Apache-2.0"
edition = "2024"
authors = ["St. Jude Rust Labs"]
homepage = "https://github.com/stjude-rust-labs/cloud-copy"
repository = "https://github.com/stjude-rust-labs/cloud-copy"
rust-version = "1.89.0"
[package.metadata.docs.rs]
all-features = true
[[bin]]
name = "cloud-copy"
required-features = ["cli"]
[features]
default = []
cli = [
"dep:clap",
"dep:anyhow",
"dep:clap-verbosity-flag",
"dep:colored",
"dep:tracing-indicatif",
"dep:tracing-subscriber",
"dep:byte-unit",
"dep:git-testament",
]
[dependencies]
anyhow = { version = "1.0.99", optional = true }
base64 = "0.22.1"
blake3 = { version = "1.8.2", features = ["mmap", "rayon"] }
byte-unit = { version = "5.1.6", optional = true }
bytes = "1.10.1"
chrono = { version = "0.4.41", features = ["serde"] }
clap = { version = "4.5.44", features = ["derive", "env", "string"], optional = true }
clap-verbosity-flag = { version = "3.0.3", features = ["tracing"], optional = true }
colored = { version = "3.0.0", optional = true }
crc64fast-nvme = "1.2.0"
futures = "0.3.31"
git-testament = { version = "0.2.6", optional = true }
hex = "0.4.3"
hmac = "0.12.1"
http-cache-stream-reqwest = "0.4.0"
opool = "0.2.0"
pin-project-lite = "0.2.16"
rand = "0.9.2"
reqwest = { version = "0.13.1", features = ["stream"] }
reqwest-middleware = "0.5.0"
secrecy = { version = "0.10.3", features = ["serde"] }
serde = { version = "1.0.219", features = ["derive", "rc"] }
serde-xml-rs = "0.8.1"
sha2 = "0.10.9"
tempfile = "3.20.0"
thiserror = "2.0.14"
tokio = { version = "1.47.1", features = ["full"] }
tokio-retry2 = "0.9.1"
tokio-util = { version = "0.7.16", features = ["io"] }
tracing = "0.1.41"
tracing-indicatif = { version = "0.3.12", optional = true }
tracing-subscriber = { version = "0.3.19", features = ["env-filter"], optional = true }
url = { version = "2.5.4", features = ["serde"] }
urlencoding = "2.1.3"
walkdir = "2.5.0"
[dev-dependencies]
anyhow = { version = "1.0.99" }
pretty_assertions = "1.4.1"
[lints.rust]
missing_docs = "warn"
nonstandard-style = "warn"
rust-2018-idioms = "warn"
rust-2021-compatibility = "warn"
rust-2024-compatibility = "warn"