odl 0.3.6

flexible download library and CLI intended to be fast, reliable, and easy to use.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "odl"
version = "0.3.6"
authors = ["jd1378 <javad.mnjd@hotmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "flexible download library and CLI intended to be fast, reliable, and easy to use."
homepage = "https://github.com/jd1378/odl"
readme = "README.md"
keywords = [
    "download",
    "manager",
    "idm",
    "dl",
    "download-manager",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/jd1378/odl"

[features]
cli = [
    "dep:clap",
    "dep:indicatif",
    "dep:tracing-subscriber",
]
default = ["cli"]
vendored-protoc = ["protobuf-src"]

[lib]
name = "odl"
path = "src/lib.rs"

[[bin]]
name = "odl"
path = "src/main.rs"
required-features = ["cli"]

[dependencies.async-trait]
version = "0.1.88"

[dependencies.atomicwrites]
version = "0.4.4"

[dependencies.base64]
version = "0.22.1"

[dependencies.bytes]
version = "1"

[dependencies.chrono]
version = "0.4.41"

[dependencies.clap]
version = "4.5.41"
features = ["derive"]
optional = true

[dependencies.derive_builder]
version = "0.20.2"

[dependencies.digest]
version = "0.11"

[dependencies.dirs]
version = "6.0.0"

[dependencies.filetime]
version = "0.2"

[dependencies.fs2]
version = "0.4.3"

[dependencies.futures]
version = "0.3.31"

[dependencies.humantime]
version = "2"

[dependencies.indexmap]
version = "2"
features = ["serde"]

[dependencies.indicatif]
version = "0.18.3"
optional = true

[dependencies.keyring]
version = "3.6.2"
features = [
    "apple-native",
    "linux-native",
    "windows-native",
    "vendored",
]

[dependencies.md-5]
version = "0.11"

[dependencies.once_cell]
version = "1"

[dependencies.percent-encoding]
version = "2.3.1"

[dependencies.prost]
version = "0.14"

[dependencies.prost-types]
version = "0.14"

[dependencies.rand]
version = "0.10"

[dependencies.reflink-copy]
version = "0.1.29"
features = ["tracing"]

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.13"
features = [
    "http2",
    "gzip",
    "brotli",
    "native-tls",
    "native-tls-vendored",
    "socks",
    "stream",
]
default-features = false

[dependencies.reqwest-retry]
version = "0.9"

[dependencies.secrecy]
version = "0.10.3"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.sha1]
version = "0.11"

[dependencies.sha2]
version = "0.11"

[dependencies.tempfile]
version = "3.20.0"

[dependencies.thiserror]
version = "2.0.12"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "test-util",
]

[dependencies.tokio-util]
version = "0.7"
default-features = false

[dependencies.toml]
version = "1"

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-subscriber]
version = "0.3.20"
optional = true

[dependencies.ulid]
version = "1.2.1"

[dev-dependencies.mockito]
version = "1.7.0"

[dev-dependencies.reqwest]
version = "0.13"
features = [
    "http2",
    "gzip",
    "brotli",
    "native-tls",
    "socks",
    "stream",
    "blocking",
]
default-features = false

[dev-dependencies.tracing-subscriber]
version = "0.3.20"

[build-dependencies.prost-build]
version = "0.14"

[build-dependencies.protobuf-src]
version = "2.1"
optional = true