fred 9.0.1

An async Redis client built on Tokio.
Documentation
[package]
name = "fred"
version = "9.0.1"
authors = ["Alec Embke <aembke@gmail.com>"]
edition = "2021"
description = "An async Redis client built on Tokio."
readme = "README.md"
repository = "https://github.com/aembke/fred.rs"
homepage = "https://github.com/aembke/fred.rs"
keywords = ["redis", "async", "cluster", "sentinel"]
categories = ["asynchronous", "database", "web-programming"]
license = "MIT"
rust-version = "1.75"
exclude = ["tests", ".circleci", "bin", ".github", "docs"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
arc-swap = "1.7"
tokio = { version = "1.34", features = ["net", "sync", "rt", "rt-multi-thread", "macros"] }
tokio-util = { version = "0.7", features = ["codec"] }
bytes = "1.6"
bytes-utils = "0.1"
futures = { version = "0.3", features = ["std"] }
parking_lot = "0.12"
redis-protocol = { version = "5.0.1", features = ["resp2", "resp3", "bytes"] }
log = "0.4"
float-cmp = "0.9"
url = "2.4"
tokio-stream = "0.1"
sha-1 = { version = "0.10", optional = true }
rand = "0.8"
semver = "1.0"
socket2 = "0.5"
urlencoding = "2.1"
crossbeam-queue = "0.3"
rustls = { version = "0.23", optional = true }
native-tls = { version = "0.2", optional = true }
tokio-native-tls = { version = "0.3", optional = true }
tracing = { version = "0.1", optional = true }
tracing-futures = { version = "0.2", optional = true }
nom = { version = "7.1", optional = true }
serde_json = { version = "1", optional = true }
tokio-rustls = { version = "0.26", optional = true }
rustls-native-certs = { version = "0.7", optional = true }
trust-dns-resolver = { version = "0.23", optional = true }
async-trait = { version = "0.1" }

[dev-dependencies]
base64 = "0.22.0"
subprocess = "0.2"
pretty_env_logger = "0.5"
bollard = "0.16"
serde = "1.0"
tokio-stream = { version = "0.1", features = ["sync"] }
axum = { version = "0.7", features = ["macros"] }

[lib]
doc = true
name = "fred"
test = true

[[example]]
name = "misc"
required-features = ["i-all"]

[[example]]
name = "scan"
required-features = ["i-all"]

[[example]]
name = "monitor"
required-features = ["monitor"]

[[example]]
name = "pubsub"
required-features = ["subscriber-client"]

[[example]]
name = "axum"
required-features = ["subscriber-client"]

[[example]]
name = "serde_json"
required-features = ["serde-json"]

[[example]]
name = "redis_json"
required-features = ["i-redis-json"]

[[example]]
name = "replicas"
required-features = ["i-std", "i-cluster", "replicas"]

[[example]]
name = "dns"
required-features = ["dns"]

[[example]]
name = "client_tracking"
required-features = ["i-tracking", "i-std"]

[[example]]
name = "lua"
required-features = ["sha-1", "i-scripts"]

[[example]]
name = "events"
required-features = ["tokio-stream/sync", "i-std"]

[[example]]
name = "transactions"
required-features = ["transactions", "i-std"]

[features]
default = ["transactions", "i-std"]
transactions = []
serde-json = ["serde_json"]
subscriber-client = ["i-pubsub"]
metrics = []
mocks = []
dns = ["trust-dns-resolver", "trust-dns-resolver/tokio"]
enable-rustls = ["rustls", "tokio-rustls", "rustls-native-certs"]
enable-native-tls = ["native-tls", "tokio-native-tls"]
vendored-openssl = ["enable-native-tls", "native-tls/vendored"]
full-tracing = ["partial-tracing"]
partial-tracing = ["tracing", "tracing-futures"]
blocking-encoding = ["tokio/rt-multi-thread"]
custom-reconnect-errors = []
monitor = ["nom"]
sentinel-client = []
sentinel-auth = []
replicas = []
default-nil-types = []
unix-sockets = []
# Standard Redis Interfaces
i-all = [
    "i-acl", "i-client", "i-cluster",
    "i-config", "i-geo", "i-hashes",
    "i-hyperloglog", "i-keys", "i-lists",
    "i-scripts", "i-memory", "i-pubsub",
    "i-server", "i-streams", "i-tracking",
    "i-sorted-sets", "i-slowlog", "i-sets"
]
i-std = [
    "i-hashes", "i-keys",
    "i-lists", "i-sets",
    "i-streams", "i-pubsub",
    "i-sorted-sets", "i-server"
]
i-acl = []
i-client = []
i-cluster = []
i-config = []
i-geo = ["i-sorted-sets"]
i-hashes = []
i-hyperloglog = []
i-keys = []
i-lists = []
i-scripts = []
i-memory = []
i-pubsub = []
i-server = []
i-sets = []
i-slowlog = []
i-sorted-sets = []
i-streams = []
i-tracking = ["i-client", "i-pubsub"]
# Redis Stack Interfaces
i-redis-stack = ["i-redis-json", "i-time-series"]
i-redis-json = ["serde-json"]
i-time-series = []
# Debugging Features
debug-ids = []
network-logs = []