avantis-utils 0.7.2

Swiss army knife utilities for all kind of Avantis rust projects
Documentation
[package]
authors = ["Avantis - Genesis <it-be-avantis@ava.fund>"]
description = "Swiss army knife utilities for all kind of Avantis rust projects"
edition = "2021"
homepage = "https://github.com/ava-global/avantis-rust-utilities"
keywords = ["utility"]
license = "MIT"
name = "avantis-utils"
readme = "README.md"
repository = "https://github.com/ava-global/avantis-rust-utilities"
version = "0.7.2"

[dependencies]
itertools = {version = "0.10.3", optional = true}
anyhow = {version = "1.0", optional = true}
async-trait = {version = "0.1.53", optional = true}
strum = {version = "0.24", features = ["derive"], optional = true}
thiserror = {version = "1.0", optional = true}
tokio = {version = "1.17.0", features = ["rt", "macros"], optional = true}
bytes = {version = "1.1.0", optional = true}

config_rs = {version = "0.13", package = "config", optional = true}

sqlx = {version = "0.6.1", features = ["postgres", "runtime-tokio-rustls"], optional = true}
diesel = { version = "2.0.0-rc.0", features = [
  "postgres",
  "r2d2",
], optional = true }

rdkafka = {version = "0.28.0", features = [
  "cmake-build",
  "ssl",
  "ssl-vendored",
], optional = true}
futures-lite = {version = "1.12.0", optional = true}

prost = {version = "0.11.0", optional = true}

bb8-redis = {version = "0.11.0", optional = true}
redis_cluster_async = {version = "0.7.0", optional = true}
redis_rs = {version = "0.21.5", package = "redis", features = ["cluster"], optional = true}

serde = {version = "1.0", features = ["derive"], optional = true}
serde_json = {version = "1.0", optional = true}

gethostname = {version = "0.2.1", optional = true}
opentelemetry = {version = "0.17.0", default-features = false, features = ["rt-tokio"], optional = true}
opentelemetry-otlp = { version = "0.10.0", features = ["tonic"], optional = true}
tracing = {version = "0.1.35", optional = true}
tracing-bunyan-formatter = {version = "0.3.2", default-features = false, optional = true}
tracing-log = {version = "0.1.3", optional = true}
tracing-opentelemetry = {version = "0.17.3", optional = true}
tracing-subscriber = {version = "0.3", features = ["env-filter", "registry"], optional = true}

avantis-utils-derive = { path = "./avantis-utils-derive", version = "0.1.0", optional = true }

[dev-dependencies]
anyhow = "1.0"
once_cell = "1.0"
tokio = {version = "1.17.0", features = ["rt-multi-thread", "macros"]}
serial_test = "2.0.0"

[features]
config = ["config_rs", "strum", "serde", "anyhow"]
db-sqlx = ["sqlx", "serde", "tracing"]
default = ["config", "db-sqlx", "db-diesel", "redis", "pagination", "kafka", "telemetry"]
kafka = [
  "anyhow",
  "thiserror",
  "bytes",
  "async-trait",
  "itertools",
  "rdkafka",
  "prost",
  "tracing",
  "serde",
  "futures-lite"
]
db-diesel = ["diesel", "serde", "thiserror", "tracing"]
pagination = ["avantis-utils-derive"]
redis = [
  "anyhow",
  "redis_rs",
  "redis_cluster_async",
  "bb8-redis",
  "async-trait",
  "tracing",
  "tokio",
  "serde",
  "serde_json",
  "thiserror",
]
telemetry = [
  "serde",
  "gethostname", 
  "opentelemetry", 
  "opentelemetry-otlp", 
  "tracing", 
  "tracing-bunyan-formatter", 
  "tracing-log", 
  "tracing-opentelemetry", 
  "tracing-subscriber",
  "thiserror",
]