[package]
name = "odl"
version = "0.2.0"
edition = "2024"
description = "flexible download library and CLI intended to be fast, reliable, and easy to use."
repository = "https://github.com/jd1378/odl"
homepage = "https://github.com/jd1378/odl"
license = "MIT"
authors = ["jd1378 <javad.mnjd@hotmail.com>"]
categories = ["command-line-utilities"]
keywords = ["download", "manager", "idm", "dl", "download-manager"]

[dependencies]
reqwest = { version = "0.12.24", default-features = false, features = ["http2", "gzip", "brotli", "native-tls", "native-tls-vendored", "native-tls-alpn", "socks", "stream"] }
reqwest-retry = "0.7.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "test-util"] }
thiserror = "2.0.12"
chrono = "0.4.41"
secrecy = "0.10.3"
once_cell = "1"
regex = "1"
filetime = "0.2"
prost = "0.14"
prost-types = "0.14"
clap = { version = "4.5.41", features = ["derive"] }
dirs = "6.0.0"
derive_builder = "0.20.2"
keyring = { version = "3.6.2",features = ["apple-native", "linux-native", "windows-native", "vendored"]  }
fs2 = "0.4.3"
ulid = "1.2.1"
futures = "0.3.31"
tempfile = "3.20.0"
atomicwrites = "0.4.4"
digest = "0.10.7"
sha1 = "0.10.6"
sha2 = "0.10.9"
md-5 = "0.10.6"
base64 = "0.22.1"
rand = "0.9.1"
tracing = "0.1.41"
async-trait = "0.1.88"
percent-encoding = "2.3.1"
indicatif = "0.18.3"
tracing-indicatif-patched = "0.3.14"
tracing-subscriber = "0.3.20"
serde = { version = "1.0", features = ["derive"] }
toml = "0.9"
indexmap = { version = "2", features = ["serde"] }
humantime = "2"

[dev-dependencies]
reqwest = { version = "0.12.19", default-features = false, features = ["http2", "gzip", "brotli", "native-tls", "socks", "stream", "blocking"] }
mockito = "1.7.0"

[build-dependencies]
prost-build = "0.14"
protobuf-src = { version = "2.1", optional = true }

[features]
default = []
vendored-protoc = ["protobuf-src"]
