[package]
edition = "2021"
name = "fiddler"
version = "4.5.2"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Data Stream processor written in rust"
readme = "README.md"
license-file = "LICENSE"
resolver = "1"
[package.metadata]
msrv = "1.91.1"
[features]
all = [
"elasticsearch",
"aws",
"prometheus",
"clickhouse",
"redis",
"http_client",
"http_server",
"amqp",
"mqtt",
"zeromq",
"syslog",
]
amqp = ["dep:lapin"]
aws = [
"dep:aws-config",
"dep:aws_lambda_events",
"dep:aws-sdk-sqs",
"dep:aws-sdk-s3",
"dep:aws-sdk-cloudwatch",
"dep:aws-sdk-kinesis",
]
clickhouse = ["dep:reqwest"]
default = []
deprecated = ["python"]
elasticsearch = [
"dep:elasticsearch",
"dep:reqwest",
]
http_client = ["dep:reqwest"]
http_server = [
"dep:axum",
"dep:tower-http",
"dep:hyper",
"dep:hyper-util",
"dep:tower",
]
mqtt = ["dep:rumqttc"]
prometheus = [
"dep:metrics",
"dep:metrics-exporter-prometheus",
]
python = ["dep:pyo3"]
redis = ["dep:redis"]
syslog = [
"tls",
"dep:syslog_loose",
"dep:ipnet",
"dep:socket2",
]
tls = [
"dep:tokio-rustls",
"dep:rustls-pemfile",
]
zeromq = ["dep:zeromq"]
[lib]
name = "fiddler"
path = "src/lib.rs"
[[test]]
name = "amqp_test"
path = "tests/amqp_test.rs"
[[test]]
name = "aws_s3_test"
path = "tests/aws_s3_test.rs"
[[test]]
name = "aws_sqs_test"
path = "tests/aws_sqs_test.rs"
[[test]]
name = "elasticsearch_test"
path = "tests/elasticsearch_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "kinesis_test"
path = "tests/kinesis_test.rs"
[[test]]
name = "mqtt_test"
path = "tests/mqtt_test.rs"
[[test]]
name = "redis_test"
path = "tests/redis_test.rs"
[dependencies.async-std]
version = "1.12.0"
features = [
"attributes",
"std",
]
[dependencies.async-trait]
version = "0.1.78"
[dependencies.aws-config]
version = "1.1.7"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-cloudwatch]
version = "1.72.0"
optional = true
[dependencies.aws-sdk-kinesis]
version = "1.72.0"
optional = true
[dependencies.aws-sdk-s3]
version = "1.83.0"
optional = true
[dependencies.aws-sdk-sqs]
version = "1.64.0"
optional = true
[dependencies.aws_lambda_events]
version = "0.16.0"
optional = true
[dependencies.axum]
version = "0.7"
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
version = "0.4.40"
features = ["serde"]
[dependencies.elasticsearch]
version = "8.5.0-alpha.1"
features = ["rustls-tls"]
optional = true
[dependencies.fiddler-macros]
version = "1.1.0"
[dependencies.fiddler-script]
version = "0.1.2"
[dependencies.flate2]
version = "1.1.1"
[dependencies.flume]
version = "0.11.1"
features = ["async"]
[dependencies.futures]
version = "0.3.31"
[dependencies.handlebars]
version = "6.3.2"
features = ["no_logging"]
[dependencies.hyper]
version = "1"
features = ["http1"]
optional = true
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server-auto",
"http1",
"service",
]
optional = true
[dependencies.indexmap]
version = "2"
[dependencies.ipnet]
version = "2.11"
optional = true
[dependencies.jmespath]
version = "0.3.0"
[dependencies.jsonschema]
version = "0.17.1"
[dependencies.lapin]
version = "2.5"
optional = true
[dependencies.metrics]
version = "0.24"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.16"
optional = true
[dependencies.num_cpus]
version = "1.16.0"
[dependencies.once_cell]
version = "1.19.0"
[dependencies.parse_duration]
version = "2.1"
[dependencies.pyo3]
version = "0.24.2"
features = [
"serde",
"auto-initialize",
]
optional = true
[dependencies.redis]
version = "0.27"
features = [
"tokio-comp",
"connection-manager",
]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
[dependencies.rumqttc]
version = "0.24"
optional = true
[dependencies.rustc-hash]
version = "2.1"
[dependencies.rustls-pemfile]
version = "2.2"
optional = true
[dependencies.serde]
version = "1.0.197"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.114"
[dependencies.serde_yaml]
version = "0.9.32"
[dependencies.socket2]
version = "0.5"
optional = true
[dependencies.sysinfo]
version = "0.33"
[dependencies.syslog_loose]
version = "0.23"
optional = true
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.36.0"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26"
optional = true
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tower-http]
version = "0.5"
features = [
"cors",
"trace",
]
optional = true
[dependencies.tracing]
version = "0.1.40"
[dependencies.uuid]
version = "1.11.0"
features = ["v4"]
[dependencies.zeromq]
version = "0.4"
optional = true
[dev-dependencies.aws-smithy-types]
version = "1.3.1"
features = ["rt-tokio"]
[dev-dependencies.testcontainers]
version = "0.23.3"
[dev-dependencies.testcontainers-modules]
version = "0.11.6"
features = [
"elastic_search",
"localstack",
"redis",
"rabbitmq",
"mosquitto",
]
[dev-dependencies.tokio-test]
version = "0.4.4"
[build-dependencies.fs_extra]
version = "1.3.0"
[build-dependencies.pkg-config]
version = "0.3.30"
[build-dependencies.regex]
version = "1.10.3"
[lints.clippy]
enum_glob_use = "deny"
unwrap_used = "warn"
[lints.rust]
missing-docs = "warn"
redundant-imports = "warn"
unsafe_code = "forbid"
unused-crate-dependencies = "warn"
unused-extern-crates = "warn"
unused-import-braces = "warn"