[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",
]